Gear VRアプリで音声入力を実現 Android Speech TTS #アセットアドカレ

この記事は Unity Assets Advent Calendar 2015 2日目の記事になります。

Android Speech TTS

https://www.assetstore.unity3d.com/jp/#!/content/45168

AndroidのTTS、音声合成システムを使い、喋った言葉がテキストとして入力できる音声入力と、テキストを喋らせることができるテキスト読み上げをサクッと実現するアセットです。

Android Ultimate Pluginから「Speech To Text」、「Text To Speech」機能を切り出したパッケージ。

開発環境

  • Unity 5.2.1p2

対応端末

  • Android(TTS標準搭載のもの

※注意

PCやiOSには対応してません。また、PCでの開発中はテストドライバのスクリプトの作成を推奨。

機能一覧

1. Speech To Text

喋った音声をテキスト化

2. Speech to text events

声→テキストでの、喋りはじめ、終わりなどのコールバックイベント

2. Text To Speech

テキストから音声合成

3. TTS Set Locale ex. US,UK,Japanese

使用する言語の指定。US,UK,Japaneseと謳っていますが一通りそろってます。

スクリーンショット_111315_113303_PM

 

4. Text To Speech Set Pitch

音声合成で再生する音声のピッチ。声の高さ、低さ。

5. Text To Speech Set Speech Rate

音声のスピード

6. Text To Speech Events OnStartSpeech,OnDoneSpeech and OnError

テキスト→音声合成での開始、終了、エラーのイベント

7. TTS get available locale on device

Android端末のロケーション設定取得。取得結果を「3. TTS Set Locale ex. US,UK,Japanese」で設定してあげればOK

 

使い方

音声入力

前提→Gear VRアプリ開発の下ごしらえ、OculusUtilities_SDKExamples_0_1_3_0_beta.zipを導入済み

最新の情報はアセットのページから、また詳細な説明についてはこちらの公式のチュートリアルを参照のこと。(この記事では「短時間でサクッと使うこと」に重点を置いています。)

>> Android Ultimate Plugin tutorial part 5 – Speech to text | Gigadrill Games http://www.gigadrillgames.com/2015/07/16/android-ultimate-plugin-tutorial-part-5-speech-to-text/

手っ取り早く動作確認

/SpeechTTS/Scenes/DemoをAndroid端末にBuild And Runで転送して試す。
また、自分の開発中のシーンへ導入する方法としては次の通り。

Demoのスクリプトを流用して動かす
  • SpeechRecognizerDemo.csをシーン内の適当なゲームオブジェクトにくっつける。(ここで適当にSpeechRecognizerDemo.csをリネームして自分のものとして使う。)
  • 音声入力の開始のトリガーを考える
    • スクリプトからの場合は、SpeechRecognizerDemo.csをGetComponent。
      speechRecognizerDemo.StartListening()を呼べば音声入力待ちの状態になる。
    • uGUI等のInspectorで直接イベントをノンプログラミングで呼べるもので、OnClickイベントなどのトリガーで音声入力を開始する方法も同様にSpeechRecognizerDemo.StartListening()を指定すればOK。
  • 結果のテキストはSpeechRecognizerDemo.csonResultsの中身で取り出せる。
    ChatのTextLabelに埋め込んでもいいし、ネットワークで投げてもいい。

Unity Assets Advent Calendar 2015 記事一覧へ