Blog スタッフブログ

Flutter システム開発 ひとくちコードスニペット

[Flutter]TTSの読み上げ音声をファイルに保存するコードスニペット

こんにちは、株式会社MIXシステム開発担当のBloomです。

今回はFlutterでTTSの読み上げ音声を音声ファイルとして保存するコードスニペットを紹介します。

まずはflutter_ttsを導入しましょう。

flutter pub add flutter_tts

それでは音声ファイルを生成してみましょう。

import 'dart:io';
import 'package:flutter_tts/flutter_tts.dart';

final flutterTts = FlutterTts();

await flutterTts.awaitSynthCompletion(true);

await flutterTts.synthesizeToFile(
  'こんにちは、音声ファイルとして保存します。',
  Platform.isAndroid ? 'tts.mp3' : 'tts.caf',
);

通常のspeak()ではその場で音声を読み上げますが、synthesizeToFile()を利用すると読み上げ音声をファイルとして生成できます。

awaitSynthCompletion(true)を設定しておくことで音声ファイルの生成が完了するまで待機することもできます。

AndroidとiOSでは生成するファイル形式が異なるため拡張子には注意しましょう。

これだけでテキストから音声ファイルへの書き出しができました。良かったですね。