Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/t-vk/termux-deepspeech
Open source offline speech recognition for Android using Mozilla's DeepSpeech in Termux
https://github.com/t-vk/termux-deepspeech
android bash deepspeech mozilla offline open-source speech-recognition termux
Last synced: about 10 hours ago
JSON representation
Open source offline speech recognition for Android using Mozilla's DeepSpeech in Termux
- Host: GitHub
- URL: https://github.com/t-vk/termux-deepspeech
- Owner: T-vK
- Created: 2019-12-06T16:16:20.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2022-07-16T13:00:12.000Z (over 2 years ago)
- Last Synced: 2024-10-25T13:16:45.330Z (20 days ago)
- Topics: android, bash, deepspeech, mozilla, offline, open-source, speech-recognition, termux
- Language: Shell
- Size: 25.4 KB
- Stars: 70
- Watchers: 3
- Forks: 14
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Open source offline speech recognition for Android using Mozilla's DeepSpeech in Termux
## Requirements
- ~3GB of disk space during installation; afterwards only ~2GB
- [Termux](https://f-droid.org/app/com.termux)
- [Termux:API](https://f-droid.org/app/com.termux.api)## Installation
- Install the following (open source) apps: Termux, Termux:API
- Open Termux and run
`pkg i -y git && git clone https://github.com/T-vK/Termux-DeepSpeech.git && cd ./Termux-DeepSpeech && ./speech2text`This will take a while beacuse it needs to download a pre-trained DeepSpeech model and a DeepSpeech release. It will probably also ask for microphone permissions (which are required for obvious reasons).
## Usage
If the installation was successful, you should now be able to use command `speech2text`.
`speech2text` will listen to your microphone for (by default) 2 seconds and then print the words that were recognized.## Advanced usage
You could create bash scripts like this:
``` bash
#!/data/data/com.termux/files/usr/bin/bashWORDS="$(speech2text)" # This will listen to the microphone for (by default) 2 seoncds and the write what you said in the variable WORDS
echo "Recognized: $WORDS" # Show what you just said
if [[ "$WORDS" =~ "light" ]]; then # If what you said contained the word "light"
if [[ $WORDS =~ "on" ]]; then # If what you said contained the word "on"
termux-tts-speak "Turning flashlight on" # Let a robot voice say "Turning flashlight on"
termux-torch on # Turn the flashlight on
elif [[ $WORDS =~ "of" ]]; then # If what you said contained the word "of"
termux-tts-speak "Turning flashlight off" # Let a robot voice say "Turning flashlight off"
termux-torch off # Turn the flashlight off
fi
elif [[ "$WORDS" =~ "heating" ]] || [[ "$WORDS" =~ "temperature" ]]; then # If what you said contained the word "heating" or "temerature"
# Do whatever here...
echo "Hello"
else
termux-tts-speak "You said: $WORDS" # Let a robot voice repeat what it thought you said...
fi
```If you install the [Termux:Widget](https://f-droid.org/app/com.termux.widget) app and save the above script under "$HOME/.shortcuts/tasks/" and make it executable for example like this: `chmod +x "$HOME/.shortcuts/tasks/speech-command"` (speech-command is the name of the script).
You can then then create a widget that triggers the script. Or using the app [HomeBot](https://f-droid.org/app/com.abast.homebot) (open source) you can remap long-pressing the home button which usually triggers the Google voice assistent to run your speech-command script.## Warning
This is a very new script that has barely been tested. You might also have to install a TTS Engine ([Flite TTS Engine](https://f-droid.org/app/edu.cmu.cs.speech.tts.flite) is a good open source one) because I'm using text-to-speech commands a few times in the `Advanced usage` example.