Flutter でText-to-speech を行う方法

最近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



アプリ関連ニュース

お問い合わせはこちら

お問い合わせ・ご相談はお電話、またはお問い合わせフォームよりお受け付けいたしております。

tel. 06-6454-8833(平日 10:00~17:00)

お問い合わせフォーム