https://github.com/mozilla/androidspeech
DEPRECATED - An Android library module to Mozilla's Speech-To-Text services
https://github.com/mozilla/androidspeech
abandoned unmaintained
Last synced: 3 months ago
JSON representation
DEPRECATED - An Android library module to Mozilla's Speech-To-Text services
- Host: GitHub
- URL: https://github.com/mozilla/androidspeech
- Owner: mozilla
- Archived: true
- Created: 2018-08-24T06:27:14.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2020-11-26T19:21:43.000Z (about 5 years ago)
- Last Synced: 2024-09-19T03:21:32.305Z (over 1 year ago)
- Topics: abandoned, unmaintained
- Language: C
- Size: 263 KB
- Stars: 204
- Watchers: 14
- Forks: 44
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# androidspeech
This is an Android library containing an API to Mozilla's speech recognition services.
## Installation
```
dependencies {
implementation 'com.github.mozilla:mozillaspeechlibrary:2.0.0'
implementation 'com.github.mozilla:mozillaspeechutils:2.0.0' // Just in case you want to use the utils for downloading/unzipping
}
```
## Demo app
Just run the demo application inside the folder `app`
## Usage
The API encapsulates the microphone capture, audio encoding, voice activity detection and network
communication. So for this reason its integration is very simple: just call `start()` and handle the events in your frontend.
#### First define a listener to capture the events:
```
SpeechResultCallback mVoiceSearchListener = new SpeechResultCallback() {
@Override
public void onStartListen() {
// Handle when the api successfully opened the microphone and started listening
}
@Override
public void onMicActivity(double fftsum) {
// Captures the activity from the microphone
}
@Override
public void onDecoding() {
// Handle when the speech object changes to decoding state
}
@Override
public void onSTTResult(@Nullable STTResult result) {
// When the api finished processing and returned a hypothesis
}
@Override
public void onNoVoice() {
// Handle when the api didn't detect any voice
}
@Override
public void onError(@SpeechResultCallback.ErrorType int errorType, @Nullable String error) {
// Handle when any error occurred
}
};
```
#### Create an instance of the Speech Service:
```
mSpeechService = new SpeechService(this);
```
#### Start a request:
```
SpeechServiceSettings.Builder builder = new SpeechServiceSettings.Builder()
.withLanguage("en-US")
.withStoreSamples(true)
.withStoreTranscriptions(true)
.withProductTag("product-tag")
.withUseDeepSpeech(true) // If using DeepSpeech
.withModelPath("path/to/model"); // If using DeepSpeech
mSpeechService.start(builder.build(), mVoiceSearchListener);
```
#### In the case you want to cancel a progressing operation:
```
mSpeechService.stop();
```
**Note**: Your app will need `RECORD_AUDIO`, `WRITE_EXTERNAL_STORAGE` and `READ_EXTERNAL_STORAGE` permissions to be [set](https://github.com/mozilla/androidspeech/blob/master/app/src/main/AndroidManifest.xml#L5) in AndroidManifest.xml manifest and [requested](https://github.com/benfrancis/androidspeech/blob/master/app/src/main/java/com/mozilla/speechapp/MainActivity.java#L78) at runtime.