ds-transcriber 0.1.2

A crate using DeepSpeech bindings to convert mic audio from speech to text
Documentation
# DS-TRANSCRIBER

## _Need an Offline Speech To Text converter?_

Records your mic, and returns a `String` containing what was said.

## Features

- Begins transcription after a long enough pause has been detected
- Change the length of the pause required to begin transcription
- Shows you the audio levels of what is being recorded so that you can...
- Change the audio level of what you seem as silence in your environment

Ds-Transcriber is backed by the awesome [cpal](https://github.com/RustAudio/cpal) for streaming and [nnnoiseless](https://github.com/jneem/nnnoiseless) for audio cleanup.

## Setting Up

You need to obtain the `deepspeech-model` (tested with `0.9.x`) and the `native-client` for your system and add that folder to your `LD_LIBRARY_PATH` and `LIBRARY_PATH` environment variables. See the [quick start](https://github.com/RustAudio/deepspeech-rs#quickstart) guide over at [deepspeech-rs](https://github.com/RustAudio/deepspeech-rs#quickstart).

## Usage

Add the crate to your `Cargo.toml`

```toml
[dependencies]
ds-transcriber = "0.1.2"
```

Create a configuration wherever you want to use it

```rs
// the path where your model and native-client lie
let model_path = args().nth(1).expect("Please specify model dir");
let config = ds_transcriber::transcriber::StreamSettings {
        //value used for pause detection, a pause is detected when the amplitude is less than this
        silence_level: 200,
        // the directory of the deep speech model
        model_dir_str: model_path,
       // show the amplitude values on stdout (helps you to find your silence level)
       show_amplitudes: true,
       // seconds of silence indicating end of speech (begin transcribe when pause_length is grater than....)
       pause_length: 2.0,
};
```

After getting config ready, all you need to do is pass it to the function.:

```rs
    let i_said = ds_transcriber::transcriber::transcribe(config).unwrap();
    println!("I said: {}", i_said);
```

## Contributions

Heck yeah! Pull requests are the greatest thing since sliced bread.

## License

MIT

**Free Software, Gotta love it!**