パッケージ、リポジトリ、アプリカテゴリを検索

パッケージ詳細v1.0.3

flutter_tts_improved

Flutter_TTS プラグインのフォークで、Android および iOS の両方で Utterance API の進行状況レポートを使用しています。

30日間ダウンロード
43
いいね数
21
Pub ポイント
40

パッケージをインストール

flutter pub add flutter_tts_improved

パッケージ概要

公開情報に基づく選定ガイドです。参考としてご利用ください。

Flutter_TTS_Improved は元の Flutter_TTS プラグインのフォークであり、Android および iOS での Utterance API からの統合された進行状況レポートにより、テキストから音声への機能を強化しています。開発者はリアルタイムで音声合成の進行状況を追跡でき、音声駆動アプリケーションにおけるユーザー体験を向上させます。このパッケージは元のものと互換性を保ちつつ、各発話に対して開始、終了、エラーイベントなどの詳細なフィードバックを提供します。インタラクティブな音声アシスタント、オーディオブック、または正確なタイミング制御が必要なアクセシビリティツールに最適です。

用途

  • リアルタイムでの発話進捗の追跡
  • アプリ内のアクセシビリティ機能
  • インタラクティブな音声アシスタント
  • オーディオブック再生
  • 教育用言語学習アプリ

主な機能

  • Utterance API を通じた進捗報告
  • クロスプラットフォーム対応(Android および iOS)
  • リアルタイムイベントコールバック
  • 音声合成に対する強化された制御
  • Flutter_TTSと互換性があります

適している対象

  • 音声対応アプリを開発する開発者
  • 正確な発話タイミングを必要とするアプリ
  • アクセシビリティを重視したアプリケーション
  • インタラクティブなチュートリアルと学習ツール

注意事項

  • ネイティブプラットフォームの構成が必要です
  • 発話APIをサポートするプラットフォームに限定
  • 一部のデバイスでは追加の権限が必要になる場合があります
  • 下位OSの音声エンジンの安定性に依存します

元の README

関連するソースリポジトリの README 原文のスナップショットです。最新の内容はリポジトリをご覧ください。

Flutter Text To Speech Improved

The flutter_tts plugin (https://github.com/dlutton/flutter_tts) is GREAT! Thanks @dlutton for all your hard work on getting it up and running. Now it is time to improve it by allowing for the Utterances API to report the 'progress' of the speech of the Utterance. This is relatively new for Android, only introduced in Android 26. It has been around on iOS for quite some time though, back around iOS 7.0.

My goal with this plugin is to allow everyone in flutter to track where the speech is currently at. This can be used to print words on the screen as they are spoken, highlight words of a paragraph as they are uttered, for timing how long each word takes to say at a given speed, or really any other weird reason you may need it. This API is powerful, and I know people are asking for it, and there is simply not a plugin yet that covers it. Surprise! Now there is. You are welcome.

Features

  • [x] Android & iOS
    • [x] speak
    • [x] stop
    • [x] get languages
    • [x] set language
    • [x] is language available
    • [x] set speech rate
    • [x] set speech volume
    • [x] set speech pitch
    • [x] get voices
    • [x] set voice
    • [x] #NEW track what word is currently being said (on all iOS 7+ and Android 26+)
  • [x] Android
    • [x] set Silence

Usage

Android

Change the minimum Android sdk version to 21 (or higher) in your android/app/build.gradle file.

minSdkVersion 21

iOS

There's a known issue with integrating plugins that use Swift into a Flutter project created with the Objective-C template. Flutter#16049

Example

To use this plugin :

  dependencies:
    flutter:
      sdk: flutter
    flutter_tts_improved:
  • instantiate a FlutterTtsImproved instance
FlutterTtsImproved tts = new FlutterTtsImproved();
speak, stop, getLanguages, setLanguage, setSpeechRate, setVolume, setPitch, isLanguageAvailable
Future _speak() async{
    var result = await tts.speak("Hello World");
    if (result == 1) setState(() => ttsState = TtsState.playing);
}

Future _stop() async{
    var result = await tts.stop();
    if (result == 1) setState(() => ttsState = TtsState.stopped);
}

List<dynamic> languages = await tts.getLanguages;

await tts.setLanguage("en-US");

await tts.setSpeechRate(1.0);

await tts.setVolume(1.0);

await tts.setPitch(1.0);

await tts.isLanguageAvailable("en-US");
Listening for platform calls
// #NEW
tts.setProgressHandler((String fullPhrase, int wordOffset, int endOfWordOffset, String currentWord) {
  setState(() {
    _wordToDisplay = currentWord;
  });
});

tts.setStartHandler(() {
  setState(() {
    ttsState = TtsState.playing;
  });
});

tts.setCompletionHandler(() {
  setState(() {
    ttsState = TtsState.stopped;
  });
});

tts.setErrorHandler((msg) {
  setState(() {
    ttsState = TtsState.stopped;
  });
});

Getting Started

For help getting started with Flutter, view our online documentation.

For help on editing plugin code, view the documentation.

カテゴリー

ソースリポジトリ

このパッケージを使用しているプロジェクト

データはまだありません。