Pronounced: Speech
Python wrapper for easily accessing the DeepSpeech python package via python (without the DeepSpeech CLI)
Spych - https://connor-makowski.github.io/spych/core.html
Spych Wake - https://connor-makowski.github.io/spych/wake.html
- Simplified access to pretrained DeepSpeech models for offline and free speech transcription
Make sure you have Python 3.6.x (or higher) installed on your system. You can download it here.
- Install SoX
- On Debian/Ubuntu
sudo apt install sox
- On Mac (via homebrew)
brew install sox
- On windows (Recommend WSL)
- Install Spych
pip install spych
- Get DeepSpeech Model and Score files:
curl -LO https://github.com/mozilla/DeepSpeech/releases/download/v0.9.3/deepspeech-0.9.3-models.pbmm
curl -LO https://github.com/mozilla/DeepSpeech/releases/download/v0.9.3/deepspeech-0.9.3-models.scorer
from spych import spych
spych_obj=spych(model_file='deepspeech-0.9.3-models.pbmm', scorer_file='deepspeech-0.9.3-models.scorer')
# Convert the audio file to text
print('Transcription:')
print(spych_obj.stt(audio_file='test.wav'))
- Note: A
.wav
file at the same sample rate as your selected DeepSpeech models is processed the fastest
from spych import spych
spych_obj=spych(model_file='deepspeech-0.9.3-models.pbmm', scorer_file='deepspeech-0.9.3-models.scorer')
# Record using your default microphone for 3 seconds
print('Recording...')
my_audio_buffer=spych_obj.record(duration=3)
print('Recording Finished')
# Convert the audio buffer to text
print('You said:')
print(spych_obj.stt(my_audio_buffer))
from spych import spych, spych_wake
model_file='deepspeech-0.9.3-models.pbmm'
scorer_file='deepspeech-0.9.3-models.scorer'
spych_object=spych(model_file=model_file, scorer_file=scorer_file)
def my_function():
print("Listening...")
audio_buffer=spych_object.record(duration=3)M
print("You said:",spych_object.stt(audio_buffer=audio_buffer))
listener=spych_wake(model_file=model_file, scorer_file=scorer_file, on_wake_fn=my_function, wake_word="computer")
listener.start()
- Initialized
spych
objects contain a fully functionalDeepSpeech.Model
object inside of them - You can modify this for each
spych
object any time after initialization DeepSpeech.Model
options are documented here
Example:
spych_obj=spych(model_file='deepspeech-0.9.3-models.pbmm')
spych_obj.model.enableExternalScorer('deepspeech-0.9.3-models.scorer')
spych_obj.model.addHotWord('activate',10.0)
- Install system requirements
sudo apt install sox git python3-pip python3-scipy python3-numpy python3-pyaudio libatlas3-base
- Install python requirements
pip3 install spych
- Get the DeepSpeech model and score files (note Pi must use .tflite model file)
curl -LO https://github.com/mozilla/DeepSpeech/releases/download/v0.9.3/deepspeech-0.9.3-models.tflite
curl -LO https://github.com/mozilla/DeepSpeech/releases/download/v0.9.3/deepspeech-0.9.3-models.scorer
- Use the examples above substituting the original model file name for the
.tflite
one
- Depending on the memory available on you Pi, you may need to omit the scorer file.