@capacitor-community/text-to-speech
Capacitor community plugin for synthesizing speech from text.
| Maintainer | GitHub | Social | 
|---|---|---|
| Robin Genz | robingenz | @robin_genz | 
npm install @capacitor-community/text-to-speech
npx cap sync
No configuration required for this plugin.
A working example can be found here: robingenz/capacitor-plugin-demo
import { TextToSpeech } from '@capacitor-community/text-to-speech';
const speak = async () => {
  await TextToSpeech.speak({
    text: 'This is a sample text.',
    lang: 'en-US',
    rate: 1.0,
    pitch: 1.0,
    volume: 1.0,
    category: 'ambient',
    queueStrategy: 1
  });
};
const stop = async () => {
  await TextToSpeech.stop();
};
const getSupportedLanguages = async () => {
  const languages = await TextToSpeech.getSupportedLanguages();
};
const getSupportedVoices = async () => {
  const voices = await TextToSpeech.getSupportedVoices();
};
const isLanguageSupported = async (lang: string) => {
  const isSupported = await TextToSpeech.isLanguageSupported({ lang });
};speak(...)stop()getSupportedLanguages()getSupportedVoices()isLanguageSupported(...)openInstall()addListener('onRangeStart', ...)- Interfaces
 - Enums
 
speak(options: TTSOptions) => Promise<void>Starts the TTS engine and plays the desired text.
| Param | Type | 
|---|---|
options | 
TTSOptions | 
stop() => Promise<void>Stops the TTS engine.
getSupportedLanguages() => Promise<{ languages: string[]; }>Returns a list of supported BCP 47 language tags.
Returns: Promise<{ languages: string[]; }>
getSupportedVoices() => Promise<{ voices: SpeechSynthesisVoice[]; }>Returns a list of supported voices.
Returns: Promise<{ voices: SpeechSynthesisVoice[]; }>
isLanguageSupported(options: { lang: string; }) => Promise<{ supported: boolean; }>Checks if a specific BCP 47 language tag is supported.
| Param | Type | 
|---|---|
options | 
{ lang: string; } | 
Returns: Promise<{ supported: boolean; }>
openInstall() => Promise<void>Verifies proper installation and availability of resource files on the system.
Only available for Android.
addListener(eventName: 'onRangeStart', listenerFunc: (info: { start: number; end: number; spokenWord: string; }) => void) => Promise<PluginListenerHandle>| Param | Type | 
|---|---|
eventName | 
'onRangeStart' | 
listenerFunc | 
(info: { start: number; end: number; spokenWord: string; }) => void | 
Returns: Promise<PluginListenerHandle>
| Prop | Type | Description | Default | Since | 
|---|---|---|---|---|
text | 
string | 
The text that will be synthesised when the utterance is spoken. | ||
lang | 
string | 
The language of the utterance. Possible languages can be queried using getSupportedLanguages. | 
"en-US" | 
|
rate | 
number | 
The speed at which the utterance will be spoken at. | 1.0 | 
|
pitch | 
number | 
The pitch at which the utterance will be spoken at. | 1.0 | 
|
volume | 
number | 
The volume that the utterance will be spoken at. | 1.0 | 
|
voice | 
number | 
The index of the selected voice that will be used to speak the utterance. Possible voices can be queried using getSupportedVoices. | 
||
category | 
string | 
Select the iOS Audio session category. Possible values: ambient and playback. Use playback to play audio even when the app is in the background. Only available for iOS. | 
"ambient" | 
|
queueStrategy | 
QueueStrategy | 
Select the strategy to adopt when several requests to speak overlap. | QueueStrategy.Flush | 
5.1.0 | 
The SpeechSynthesisVoice interface represents a voice that the system supports.
| Prop | Type | Description | 
|---|---|---|
default | 
boolean | 
Specifies whether the voice is the default voice for the current app (true) or not (false). | 
lang | 
string | 
BCP 47 language tag indicating the language of the voice. | 
localService | 
boolean | 
Specifies whether the voice is supplied by a local (true) or remote (false) speech synthesizer service. | 
name | 
string | 
Human-readable name that represents the voice. | 
voiceURI | 
string | 
Type of URI and location of the speech synthesis service for this voice. | 
| Prop | Type | 
|---|---|
remove | 
() => Promise<void> | 
| Members | Value | Description | 
|---|---|---|
Flush | 
0 | 
Use Flush to stop the current request when a new request is sent. | 
Add | 
1 | 
Use Add to buffer the speech request. The request will be executed when all previous requests have been completed. | 
See CHANGELOG.md.
See LICENSE.
