自分のUnity
で作っているアプリでText To Speech(TTS)を使う機会があったので他の開発者が使うときも参考にできるように上記の簡単なサンプルアプリをGithubにFreeTTSForUnityとしてpushしておきました。iOSとAndroidで使えます。
既存のUnity Asset Storeにあるものはほとんどが有料だったり、読み上げ後のイベントが設定できなかったりして使いにくかったので自分で作りました。
画面の説明
画面に①〜⑦の番号をふっておきましたので各々説明します。
- 読み上げを行うテキストが入っています(内部的には、スペースで区切ると、区切られた言葉ごとにイベントを発行し、順次読み上げていきます)
- 読み上げのスピードを調整します。iOSは0.5, Androidは1とか1.3とかがよさそうですが、実際に聞いてみて調節してください
- 読み上げの声の高さを調節します
- 読み上げの言語を設定します。⑤のChoose Languageボタンを押したあとにBCP 47の文字列で、言語がアルファベット順に出てくるのですきなのを選択します。①のテキスト言語と違っていると発音されないときもあります
- ④の説明を参照
- 読み上げを開始します
- 読み上げを終了します
ソースコードを変更したくなったとき
iOSの場合
ここを直接いじるといいかなと思います。
Androidの場合
まずここをAndroidStudioで開きます。
以下あたりのファイルを編集して変更し、gradleのexportAar
というタスクを実行するとAssets/Plugins/Android/freetts.plugin-release.aar
にパッケージが配置されるようになっています。
exportAar
は以下をダブルクリックすると実行できます。
まとめ
UnityでTTSがつかえるサンプルをつくりました。TTSの実装でこまったら活用してみてください