Nervous Parrot Muttering

    @capacitor-community/text-to-speech
    TypeScript icon, indicating that this package has built-in type declarations

    2.0.1 • Public • Published


    Text to Speech

    @capacitor-community/text-to-speech

    Capacitor community plugin for synthesizing speech from text.


    Maintainers

    Maintainer GitHub Social
    Robin Genz robingenz @robin_genz

    Installation

    npm install @capacitor-community/text-to-speech
    npx cap sync
    

    Android

    According to the Android documentation, apps targeting Android 11 should declare TextToSpeech.Engine.INTENT_ACTION_TTS_SERVICE in the queries elements of their manifest:

    <queries>
      <intent>
        <action android:name="android.intent.action.TTS_SERVICE" />
      </intent>
    </queries>

    Here you can find an example commit.

    Configuration

    No configuration required for this plugin.

    Demo

    A working example can be found here: robingenz/capacitor-plugin-demo

    Usage

    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',
      });
    };
    
    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 });
    };

    API

    speak(...)

    speak(options: TTSOptions) => Promise<void>

    Starts the TTS engine and plays the desired text.

    Param Type
    options TTSOptions

    stop()

    stop() => Promise<void>

    Stops the TTS engine.


    getSupportedLanguages()

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

    Returns a list of supported BCP 47 language tags.

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


    getSupportedVoices()

    getSupportedVoices() => Promise<{ voices: SpeechSynthesisVoice[]; }>

    Returns a list of supported voices.

    Returns: Promise<{ voices: SpeechSynthesisVoice[]; }>


    isLanguageSupported(...)

    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()

    openInstall() => Promise<void>

    Verifies proper installation and availability of resource files on the system.

    Only available for Android.


    Interfaces

    TTSOptions

    Prop Type Description
    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. Default: en-US.
    rate number The speed at which the utterance will be spoken at. Default: 1.0.
    pitch number The pitch at which the utterance will be spoken at. Default: 1.0.
    volume number The volume that the utterance will be spoken at. Default: 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. Only available for Web.
    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. Default: ambient.

    SpeechSynthesisVoice

    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. Example: en-US.
    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. Example: Microsoft Zira Desktop - English (United States).
    voiceURI string Type of URI and location of the speech synthesis service for this voice. Example: urn:moz-tts:sapi:Microsoft Zira Desktop - English (United States)?en-US.

    Changelog

    See CHANGELOG.md.

    License

    See LICENSE.

    Install

    npm i @capacitor-community/text-to-speech

    DownloadsWeekly Downloads

    541

    Version

    2.0.1

    License

    MIT

    Unpacked Size

    79.6 kB

    Total Files

    29

    Last publish

    Collaborators

    • tafelnl
    • thegnuu
    • pbowyer
    • capcombot
    • jcesarmobile
    • maxlynch
    • mhartington
    • dotnetkow
    • it_mike_s
    • byrds
    • rdlabo
    • priyankpatel
    • dwieeb
    • stewan
    • arielhernandezmusa
    • jeepq
    • start9keagan
    • boosten
    • nklayman
    • ihadeed
    • danielprr
    • ckgaparajita
    • jpender
    • nhyatt
    • pwespi
    • epicshaggy
    • thomasvidas
    • robingenz
    • diachedelic
    • johnborges
    • tobyas
    • elylucas
    • larsmikkelsen
    • giodimiliaionic
    • brownoxford
    • mrbatista
    • bazuka5801
    • hemang