All Projects → pbakondy → Cordova Plugin Speechrecognition

pbakondy / Cordova Plugin Speechrecognition

Licence: mit
🎤 Cordova Plugin for Speech Recognition

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Cordova Plugin Speechrecognition

Aimybox Android Assistant
Embeddable custom voice assistant for Android applications
Stars: ✭ 139 (-20.11%)
Mutual labels:  speech-recognition
Speech To Text Russian
Проект для распознавания речи на русском языке на основе pykaldi.
Stars: ✭ 151 (-13.22%)
Mutual labels:  speech-recognition
Hey Jetson
Deep Learning based Automatic Speech Recognition with attention for the Nvidia Jetson.
Stars: ✭ 161 (-7.47%)
Mutual labels:  speech-recognition
Dla
Deep learning for audio processing
Stars: ✭ 142 (-18.39%)
Mutual labels:  speech-recognition
Awesome Speech Recognition Speech Synthesis Papers
Automatic Speech Recognition (ASR), Speaker Verification, Speech Synthesis, Text-to-Speech (TTS), Language Modelling, Singing Voice Synthesis (SVS), Voice Conversion (VC)
Stars: ✭ 2,085 (+1098.28%)
Mutual labels:  speech-recognition
Py Kaldi Asr
Some simple wrappers around kaldi-asr intended to make using kaldi's (online) decoders as convenient as possible.
Stars: ✭ 156 (-10.34%)
Mutual labels:  speech-recognition
Cordova Plugin Audioinput
This iOS/Android Cordova/PhoneGap plugin enables audio capture from the device microphone, by in near real-time forwarding audio to the web layer of your application. A typical usage scenario for this plugin would be to use the captured audio as source for a web audio node chain, where it then can be analyzed, manipulated and/or played.
Stars: ✭ 137 (-21.26%)
Mutual labels:  cordova-plugin
Naomi
The Naomi Project is an open source, technology agnostic platform for developing always-on, voice-controlled applications!
Stars: ✭ 171 (-1.72%)
Mutual labels:  speech-recognition
Swiftspeech
A speech recognition framework designed for SwiftUI.
Stars: ✭ 149 (-14.37%)
Mutual labels:  speech-recognition
Kaldiio
A pure python module for reading and writing kaldi ark files
Stars: ✭ 160 (-8.05%)
Mutual labels:  speech-recognition
Speechrecognizerbutton
UIButton subclass with push to talk recording, speech recognition and Siri-style waveform view.
Stars: ✭ 144 (-17.24%)
Mutual labels:  speech-recognition
Speech Recognition Neural Network
This is the end-to-end Speech Recognition neural network, deployed in Keras. This was my final project for Artificial Intelligence Nanodegree @Udacity.
Stars: ✭ 148 (-14.94%)
Mutual labels:  speech-recognition
Rnnt Speech Recognition
End-to-end speech recognition using RNN Transducers in Tensorflow 2.0
Stars: ✭ 158 (-9.2%)
Mutual labels:  speech-recognition
Cordova Plugin Photo Library
Maintainer needed. Please contact if you're using this library in your project
Stars: ✭ 140 (-19.54%)
Mutual labels:  cordova-plugin
Tacotron asr
Speech Recognition Using Tacotron
Stars: ✭ 165 (-5.17%)
Mutual labels:  speech-recognition
Go Astideepspeech
Golang bindings for Mozilla's DeepSpeech speech-to-text library
Stars: ✭ 137 (-21.26%)
Mutual labels:  speech-recognition
Clovacall
ClovaCall dataset and Pytorch LAS baseline code (Interspeech 2020)
Stars: ✭ 151 (-13.22%)
Mutual labels:  speech-recognition
Gst Kaldi Nnet2 Online
GStreamer plugin around Kaldi's online neural network decoder
Stars: ✭ 171 (-1.72%)
Mutual labels:  speech-recognition
Pytorch Kaldi
pytorch-kaldi is a project for developing state-of-the-art DNN/RNN hybrid speech recognition systems. The DNN part is managed by pytorch, while feature extraction, label computation, and decoding are performed with the kaldi toolkit.
Stars: ✭ 2,097 (+1105.17%)
Mutual labels:  speech-recognition
Interspeech2019 Tutorial
INTERSPEECH 2019 Tutorial Materials
Stars: ✭ 160 (-8.05%)
Mutual labels:  speech-recognition

cordova-plugin-speechrecognition

npm Platform Donate

This is a cordova plugin for Speech Recognition.

Installation

cordova plugin add cordova-plugin-speechrecognition

Supported Platforms

  • Android
  • iOS

Usage

This plugin requires internet connection.

isRecognitionAvailable()

window.plugins.speechRecognition.isRecognitionAvailable(
  Function successCallback, Function errorCallback)

Result of success callback is a Boolean.

startListening()

let options = {
  String language,
  Number matches,
  String prompt,      // Android only
  Boolean showPopup,  // Android only
  Boolean showPartial 
}

window.plugins.speechRecognition.startListening(
  Function successCallback, Function errorCallback, Object options)

This method has an options parameter with the following optional values:

  • language {String} used language for recognition (default "en-US")
  • matches {Number} number of return matches (default 5, on iOS: maximum number of matches)
  • prompt {String} displayed prompt of listener popup window (default "", Android only)
  • showPopup {Boolean} display listener popup window with prompt (default true, Android only)
  • showPartial {Boolean} Allow partial results to be returned (default false)

Result of success callback is an Array of recognized terms.

There is a difference between Android and iOS platforms. On Android speech recognition stops when the speaker finishes speaking (at end of sentence). On iOS the user has to stop manually the recognition process by calling stopListening() method.

If you set showPartial to true on iOS the success callback will be called multiple times until stopListening() called.

stopListening()

window.plugins.speechRecognition.stopListening(
  Function successCallback, Function errorCallback)

Stop the recognition process. No return value.

getSupportedLanguages()

window.plugins.speechRecognition.getSupportedLanguages(
  Function successCallback, Function errorCallback)

Result of success callback is an Array of supported languages.

// getSupportedLanguages result on Android:

let supportedLanguagesAndroid =
  ["af-ZA", "id-ID", "ms-MY", "ca-ES", "cs-CZ", "da-DK", "de-DE", "en-AU", "en-CA",
  "en-001", "en-IN", "en-IE", "en-NZ", "en-PH", "en-ZA", "en-GB", "en-US", "es-AR",
  "es-BO", "es-CL", "es-CO", "es-CR", "es-EC", "es-US", "es-SV", "es-ES", "es-GT",
  "es-HN", "es-MX", "es-NI", "es-PA", "es-PY", "es-PE", "es-PR", "es-DO", "es-UY",
  "es-VE", "eu-ES", "fil-PH", "fr-FR", "gl-ES", "hr-HR", "zu-ZA", "is-IS", "it-IT",
  "lt-LT", "hu-HU", "nl-NL", "nb-NO", "pl-PL", "pt-BR", "pt-PT", "ro-RO", "sl-SI",
  "sk-SK", "fi-FI", "sv-SE", "vi-VN", "tr-TR", "el-GR", "bg-BG", "ru-RU", "sr-RS",
  "uk-UA", "he-IL", "ar-IL", "ar-JO", "ar-AE", "ar-BH", "ar-DZ", "ar-SA", "ar-KW",
  "ar-MA", "ar-TN", "ar-OM", "ar-PS", "ar-QA", "ar-LB", "ar-EG", "fa-IR", "hi-IN",
  "th-TH", "ko-KR", "cmn-Hans-CN", "cmn-Hans-HK", "cmn-Hant-TW", "yue-Hant-HK",
  "ja-JP"];


// getSupportedLanguages result on iOS:

let supportedLanguagesIOS =
  ["nl-NL","es-MX","zh-TW","fr-FR","it-IT","vi-VN","en-ZA","ca-ES","es-CL","ko-KR",
  "ro-RO","fr-CH","en-PH","en-CA","en-SG","en-IN","en-NZ","it-CH","fr-CA","da-DK",
  "de-AT","pt-BR","yue-CN","zh-CN","sv-SE","es-ES","ar-SA","hu-HU","fr-BE","en-GB",
  "ja-JP","zh-HK","fi-FI","tr-TR","nb-NO","en-ID","en-SA","pl-PL","id-ID","ms-MY",
  "el-GR","cs-CZ","hr-HR","en-AE","he-IL","ru-RU","de-CH","en-AU","de-DE","nl-BE",
  "th-TH","pt-PT","sk-SK","en-US","en-IE","es-CO","uk-UA","es-US"];

hasPermission()

window.plugins.speechRecognition.hasPermission(
  Function successCallback, Function errorCallback)

Result of success callback is a Boolean.

requestPermission()

window.plugins.speechRecognition.requestPermission(
  Function successCallback, Function errorCallback)

This method requests access permission to system resources if it was not granted before.

Ionic Usage

import { SpeechRecognition } from '@ionic-native/speech-recognition';

constructor(private speechRecognition: SpeechRecognition) { }

...

// Check feature available
SpeechRecognition.isRecognitionAvailable()
  .then((available: boolean) => console.log(available))

// Start the recognition process
SpeechRecognition.startListening(options)
  .subscribe(
    (matches: Array<string>) => console.log(matches),
    (onerror) => console.log('error:', onerror)
  )

// Stop the recognition process (iOS only)
SpeechRecognition.stopListening()

// Get the list of supported languages
SpeechRecognition.getSupportedLanguages()
  .then(
    (languages: Array<string>) => console.log(languages),
    (error) => console.log(error)
  )

// Check permission
SpeechRecognition.hasPermission()
  .then((hasPermission: boolean) => console.log(hasPermission))

// Request permissions
SpeechRecognition.requestPermission()
  .then(
    () => console.log('Granted'),
    () => console.log('Denied')
  )

Required: ionic-native/speech-recognition

See Ionic Native documentation.

Android Quirks

Requirements

  • cordova-android v5.0.0
  • Android API level 14
  • <android:launchMode> must not be singleInstance. It can be singleTask, standard, singleTop.
  • RECORD_AUDIO permission

How it works

It uses Speech API of Google. The Android public API recognizes when the speech is over and automatically begins the parsing process. The delay of result depends on the network quality.

Further readings

iOS Quirks

Requirements

How it works

The Speech APIs perform speech recognition by communicating with Apple's servers or using an on-device speech recognizer, if available.

Because your app may need to connect to the servers to perform recognition, it's essential that you respect the privacy of your users and treat their utterances as sensitive data. For this reason, you must get the user's explicit permission before you initiate speech recognition.

The plugin works in AVAudioSessionCategoryPlayAndRecord mode to enable playing audio.

Further readings

Author

Peter Bakondy

LICENSE

cordova-plugin-speechrecognition is licensed under the MIT Open Source license. For more information, see the LICENSE file in this repository.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].