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.