5.1.0 • Published 1 month ago

@capacitor-community/speech-recognition v5.1.0

Weekly downloads
26
License
MIT
Repository
github
Last release
1 month ago

Capacitor Speech Recognition Plugin

Capacitor community plugin for speech recognition.

Maintainers

MaintainerGitHubSocial
Priyank Patelpriyankpat@priyankpat_
Matteo Padovanomrbatista@mrba7ista

Maintenance Status: Actively Maintained

Installation

To use npm

npm install @capacitor-community/speech-recognition

To use yarn

yarn add @capacitor-community/speech-recognition

Sync native files

npx cap sync

iOS

iOS requires the following usage descriptions be added and filled out for your app in Info.plist:

  • NSSpeechRecognitionUsageDescription (Privacy - Speech Recognition Usage Description)
  • NSMicrophoneUsageDescription (Privacy - Microphone Usage Description)

Android

No further action required.

Supported methods

Example

import { SpeechRecognition } from "@capacitor-community/speech-recognition";

SpeechRecognition.available();

SpeechRecognition.start({
  language: "en-US",
  maxResults: 2,
  prompt: "Say something",
  partialResults: true,
  popup: true,
});
// listen to partial results
SpeechRecognition.addListener("partialResults", (data: any) => {
  console.log("partialResults was fired", data.matches);
});

// stop listening partial results
SpeechRecognition.removeAllListeners();

SpeechRecognition.stop();

SpeechRecognition.getSupportedLanguages();

SpeechRecognition.checkPermissions();

SpeechRecognition.requestPermissions();

SpeechRecognition.hasPermission();

SpeechRecognition.requestPermission();

available()

available() => Promise<{ available: boolean; }>

This method will check if speech recognition feature is available on the device.

Returns: Promise<{ available: boolean; }>


start(...)

start(options?: UtteranceOptions | undefined) => Promise<{ matches?: string[]; }>

This method will start to listen for utterance.

if partialResults is true, the function respond directly without result and event partialResults will be emit for each partial result, until stopped.

ParamType
optionsUtteranceOptions

Returns: Promise<{ matches?: string[]; }>


stop()

stop() => Promise<void>

This method will stop listening for utterance


getSupportedLanguages()

getSupportedLanguages() => Promise<{ languages: any[]; }>

This method will return list of languages supported by the speech recognizer.

It's not available on Android 13 and newer.

Returns: Promise<{ languages: any[]; }>


hasPermission()

hasPermission() => Promise<{ permission: boolean; }>

This method will check for audio permissions.

Returns: Promise<{ permission: boolean; }>


isListening()

isListening() => Promise<{ listening: boolean; }>

This method will check if speech recognition is listening.

Returns: Promise<{ listening: boolean; }>


requestPermission()

requestPermission() => Promise<void>

This method will prompt the user for audio permission.


checkPermissions()

checkPermissions() => Promise<PermissionStatus>

Check the speech recognition permission.

Returns: Promise<PermissionStatus>

Since: 5.0.0


requestPermissions()

requestPermissions() => Promise<PermissionStatus>

Request the speech recognition permission.

Returns: Promise<PermissionStatus>

Since: 5.0.0


addListener('partialResults', ...)

addListener(eventName: 'partialResults', listenerFunc: (data: { matches: string[]; }) => void) => Promise<PluginListenerHandle> & PluginListenerHandle

Called when partialResults set to true and result received.

On Android it doesn't work if popup is true.

Provides partial result.

ParamType
eventName'partialResults'
listenerFunc(data: { matches: string[]; }) => void

Returns: Promise<PluginListenerHandle> & PluginListenerHandle

Since: 2.0.2


addListener('listeningState', ...)

addListener(eventName: 'listeningState', listenerFunc: (data: { status: 'started' | 'stopped'; }) => void) => Promise<PluginListenerHandle> & PluginListenerHandle

Called when listening state changed.

ParamType
eventName'listeningState'
listenerFunc(data: { status: 'started' | 'stopped'; }) => void

Returns: Promise<PluginListenerHandle> & PluginListenerHandle

Since: 6.0.0


removeAllListeners()

removeAllListeners() => Promise<void>

Remove all the listeners that are attached to this plugin.

Since: 4.0.0


Interfaces

UtteranceOptions

PropTypeDescription
languagestringkey returned from getSupportedLanguages()
maxResultsnumbermaximum number of results to return (5 is max)
promptstringprompt message to display on popup (Android only)
popupbooleandisplay popup window when listening for utterance (Android only)
partialResultsbooleanreturn partial results if found

PermissionStatus

PropTypeDescriptionSince
speechRecognitionPermissionStatePermission state for speechRecognition alias. On Android it requests/checks RECORD_AUDIO permission On iOS it requests/checks the speech recognition and microphone permissions.5.0.0

PluginListenerHandle

PropType
remove() => Promise<void>

Type Aliases

PermissionState

'prompt' | 'prompt-with-rationale' | 'granted' | 'denied'

5.1.0

1 month ago

5.0.0-0

12 months ago

5.0.0

12 months ago

4.0.0

1 year ago

3.0.0-0

2 years ago

2.1.0

2 years ago

2.0.0

3 years ago

1.0.0

3 years ago

0.0.4

4 years ago

0.0.3

4 years ago