galli_text_to_speech 0.0.1 copy "galli_text_to_speech: ^0.0.1" to clipboard
galli_text_to_speech: ^0.0.1 copied to clipboard

A Flutter plugin provides TTS (Text-To-Speech) Service.

Text To Speech #

A Flutter plugin provides TTS (Text-To-Speech) Service. This plugin aims to offer the most of TTS API feature from iOS, Android, web, and macOS.

screenshot.png

Getting Started #

To use this plugin, add text_to_speech as a dependency in your pubspec.yaml file:

dependencies:  
  text_to_speech: ^0.2.3
copied to clipboard

Installation #

Android #

  • Minimum SDK version: 21
  • Applications targeting SDK 30 (Android 11) need to declare TextToSpeech.Engine.INTENT_ACTION_TTS_SERVICE in the queries elements of Android Manifest (See Android documentation).
<queries>  
  <intent>  
      <action android:name="android.intent.action.TTS_SERVICE" />  
  </intent>  
 </queries>  
copied to clipboard

iOS & macOS #

  • iOS minimum version: 7.0
  • macOs minimum version 10.14

(See Apple documentation).

Features #

Feature Android iOS Web macOS
speak
stop
pause -
resume -
set volume
set rate
set pitch
set language
get language
get voice

Usages #

To start, import the dependency in your code:

import 'package:text_to_speech/text_to_speech.dart';  
copied to clipboard

Then, create instance of TextToSpeech class:

TextToSpeech tts = TextToSpeech();  
copied to clipboard

Speak

String text = "Hello, Good Morning!";  
tts.speak(text);  
copied to clipboard

Set Volume

Volume range: 0-1 where 0 is silence, and 1 is the maximum volume (the default behavior).

double volume = 1.0;  
tts.setVolume(volume);  
copied to clipboard

Set Rate

Rate range: 0-2.
1.0 is the normal and default speech rate. Lower values slow down the speech (0.5 is half the normal speech rate). Greater values accelerate it (2.0 is twice the normal speech rate).

double rate = 1.0;  
tts.setRate(rate);  
copied to clipboard

Set Pitch

Pitch range: 0-2.
1.0 is the normal pitch, lower values lower the tone of the synthesized voice, greater values increase it.

double pitch = 1.0;  
tts.setPitch(pitch);  
copied to clipboard

Set Language

Accepting locale tag name of specific language, e.g. 'en-US'. You can retrieve list of supported language using getLanguage function.

String language = 'en-US';  
tts.setLanguage(language);  
copied to clipboard

Get Languages

Provide list of supported language codes in locale tag name format, e.g. 'en-US'. You can get display name for specific language code

String language = 'en-US';  
tts.setLanguage(language);  
copied to clipboard

Get Voice

We can get all available voices or get voices of specific language. This function will returns particular voice name.

List<String> voices = await tts.getVoices();  
  
String language = 'en-US';  
List<String> voices = await tts.getVoiceByLang(language);  
copied to clipboard

Native API Reference #

Example #

You can find example in the example folder and run it to check the implementation.
Move to example directory:

$ cd example  
copied to clipboard

Run Android / iOS

$ flutter run -d <device_name>  
copied to clipboard

Run Web

$ flutter run -d chrome  
copied to clipboard

Run macOS

$ flutter run -d macOS  
copied to clipboard

TODO #

  • ❌ Utterance Status Listener
  • ❌ Linux Implementation
  • ❌ Windows Implementation
2
likes
140
points
36
downloads

Publisher

unverified uploader

Weekly Downloads

2024.07.29 - 2025.02.10

A Flutter plugin provides TTS (Text-To-Speech) Service.

Documentation

API reference

License

BSD-3-Clause (license)

Dependencies

flutter, flutter_web_plugins, text_to_speech_macos, text_to_speech_platform_interface, text_to_speech_web

More

Packages that depend on galli_text_to_speech