Convert voice messages and audio files to text using Vosk, an offline speech recognition toolkit.
Install dependencies: bash
# macOS
brew install ffmpeg
pip install vosk
# Linux
apt-get install ffmpeg
pip install vosk
Download a Vosk model: bash
mkdir -p ~/.vosk/models && cd ~/.vosk/models
# Chinese (small, fast)
curl -LO https://alphacephei.com/vosk/models/vosk-model-small-cn-0.22.zip
unzip vosk-model-small-cn-0.22.zip
# English (small)
curl -LO https://alphacephei.com/vosk/models/vosk-model-small-en-us-0.15.zip
unzip vosk-model-small-en-us-0.15.zip
When the user provides a voice message or audio file path, run the transcription:
bash
python3 ~/skills/voice-to-text/transcribe.py "<audio_file_path>"
For specific model selection, set the environment variable:
bash
VOSK_MODEL_PATH=~/.vosk/models/vosk-model-cn-0.22 python3 ~/skills/voice-to-text/transcribe.py "<audio_file_path>"
ModelLanguageSizeNotesvosk-model-small-cn-0.22Chinese42MFast, good accuracyvosk-model-cn-0.22Chinese1.3GHigh accuracyvosk-model-small-en-us-0.15English40MFast, good accuracyvosk-model-en-us-0.22English1.8GHigh accuracy
Download models from: https://alphacephei.com/vosk/models
python3 transcribe.py /path/to/voice.ogg~/.vosk/models/brew install ffmpeg or apt install ffmpeg