v0.2.0

KoljaB/RealtimeSTTv0.2.0Jun 28, 2024by KoljaB

AI Summary

Major update introducing OpenWakeWord support for wake word detection, including training guides and conversion instructions.

Key Highlights

  • Introduced OpenWakeWord backend support
  • Added documentation for training custom wake word models
  • Provided ONNX conversion instructions
  • Included test scripts and configuration examples

New Features

  • OpenWakeWord backend
  • model training documentation
  • ONNX conversion guide

Full Release Notes

## v0.2.0 with OpenWakeWord  Support

### Training models

Look [here](https://github.com/dscripka/openWakeWord?tab=readme-ov-file#training-new-models) for information about how to train your own OpenWakeWord models. You can use a [simple Google Colab notebook](https://colab.research.google.com/drive/1q1oe2zOyZp7UsB3jJiQ1IFn8z5YfjwEb?usp=sharing) for a start or use a [more detailed notebook](https://github.com/dscripka/openWakeWord/blob/main/notebooks/automatic_model_training.ipynb) that enables more customization (can produce high quality models, but requires more development experience).

### Convert model to ONNX format

You might need to use tf2onnx to convert tensorflow tflite models to onnx format:

```bash
pip install -U tf2onnx
python -m tf2onnx.convert --tflite my_model_filename.tflite --output my_model_filename.onnx
```

### Configure RealtimeSTT

Suggested starting parameters for OpenWakeWord usage:
```python
    with AudioToTextRecorder(
        wakeword_backend="oww",
        wake_words_sensitivity=0.35,
        openwakeword_model_paths="word1.onnx,word2.onnx",
        wake_word_buffer_duration=1,
        ) as recorder:
```


# OpenWakeWord Test

1. Set up the openwakeword test project:
   ```bash
   mkdir samantha_wake_word && cd samantha_wake_word
   curl -O https://raw.githubusercontent.com/KoljaB/RealtimeSTT/master/tests/openwakeword_test.py
   curl -L https://huggingface.co/KoljaB/SamanthaOpenwakeword/resolve/main/suh_mahn_thuh.onnx -o suh_mahn_thuh.onnx
   curl -L https://huggingface.co/KoljaB/SamanthaOpenwakeword/resolve/main/suh_man_tuh.onnx -o suh_man_tuh.onnx
   ```
   
   Ensure you have `curl` installed for downloading files. If not, you can manually download the files from the provided URLs.

2. Create and activate a virtual environment:
   ```bash
   python -m venv venv
   ```
   
   - For Windows:
     ```bash
     venv\Scripts\activate
     ```
   - For Unix-like systems (Linux/macOS):
     ```bash
     source venv/bin/activate
     ```
   - For macOS:
     Use `python3` instead of `python` and `pip3` instead of `pip` if needed.

3. Install dependencies:
   ```bash
   python -m pip install --upgrade pip
   python -m pip install RealtimeSTT
   python -m pip install -U torch torchaudio --index-url https://download.pytorch.org/whl/cu121
   ```
   The PyTorch installation command includes CUDA 12.1 support. Adjust if a different version is required.

4. Run the test script:
   ```bash
   python openwakeword_test.py
   ```
   
   On the very first start some models for openwakeword are downloaded.