Flutter でText-to-speech を行う方法
- 2022年9月16日
- 技術情報
最近Flutterで仕事をすることになり
勉強したこと、調査されたことを共有したいと思います。
Flutterでテキストを音声に変換したりプログラムです。
さまざまな言語、音量、ピッチ、スピードなどを設定することができます。
今の例では、言語を英語に設定していますが、もし日本語にしたい場合は、以下のように設定することができます。
flutterTts.setLanguage("ja-JP")
利用するためには、まず pubspec.yaml ファイルにflutter_tts、このパッケージを追加する必要があります。
後、AndroidManifest.xmlファイルのqueries要素にTextToSpeech.Engine.INTENT_ACTION_TTS_SERVICEを追加する必要があります。
<queries>
<intent>
<action android:name="android.intent.action.TTS_SERVICE" />
</intent>
</queries>
<application
以下のパスを目的のファイルでインポートします。
import 'package:flutter_tts/flutter_tts.dart';
利用するには
FlutterTts ftts = FlutterTts();
再生するテキストを追加した後、テキストを音声に変換することができます。
var result = await ftts.speak("Hello there!");
言語、音声の大きさ、話すスピード、ツールのピッチなどを設定するには、以下の方法で出来ます。
await ftts.setLanguage("en-US");
await ftts.setSpeechRate(1.0);
await ftts.setVolume(0.5);
await ftts.setPitch(1);
以上だけです。
テストプログラムではボタンをタップした後、上記のプログラムを行うようにしています。
ElevatedButton(
onPressed:() async {
//
...
//
},
child: Text("Text to Speech"))
ということで、今回はこれで終わります。
金曜担当 – Ami
asahi at 2022年09月16日 10:00:00