stt/README.md

50 lines
1.4 KiB
Markdown

# Real-time Speech Recognition with Vosk and Zig
This project implements a minimal real-time speech-to-text application using Vosk and Zig.
## Audio Device Configuration
The application uses ALSA's default device, which is configured in `alsa.conf`. To use a different audio device:
1. Find your audio devices: `aplay -l` or `arecord -l`
2. Edit `alsa.conf` and update the `pcm.!default` section:
```
pcm.!default {
type hw
card 3 # Change to your card number
device 0 # Change to your device number
}
```
3. Rebuild and run the application
### Prerequisites
- Zig 0.15.1 (configured via mise)
- Nix development environment configured for ALSA, and audio libraries
### Vosk Model Download
The application uses the Vosk small English model for speech recognition:
- **Source**: https://alphacephei.com/vosk/models/vosk-model-small-en-us-0.15.zip
- **Size**: ~50MB
- **Language**: English only
- **Accuracy**: Good for simple sentences and commands
### Installation Steps
1. Enter nix development environment: `nix develop`
2. Build application: `zig build`
3. Run: `zig build run`
## Usage
The application will:
- Initialize audio capture from default microphone
- Load the Vosk speech recognition model
- Process audio in real-time
- Output recognized text to terminal
- Exit on Ctrl+C
## Dependencies
- Vosk C API library
- ALSA for audio capture
## Notes
Vosk tends to recognize "light" as lake or like