2016-09-29 9 views
0

弊社では、盲人向けのフル機能のアプリケーションを開発しています。つまり、TTS(Text-To-Speech)に大きく依存しています。私たちは、TTSの声が単にランダムに話すのを止めることに気付きました。それは通常正常に動作し、私たちはスピーチに問題はありませんが、青い月には音声出力が得られず、アプリはそれ以外のことを知らないので、通常どおりに動作し続けますが、音声はありません。ユーザーはアプリを大部分は引き続き使用できますが、アプリが再起動されてすべてがリセットされるまで、音声は聞こえなくなります。Android用に開発する際に使用する最も信頼性の高いTTS(Text-to-Speech)エンジンは何ですか?

声が何かを話していないかどうかを知る信頼できる方法はありますか?

私はすでに発話の完全なリスナーを使用して、それが言うことで特定のシナリオを処理しましたが、TTSが単に音声を出力しないときは違いはありません。それはあたかも声が「思っている」と言ったようですが、聞いたことはありません。

TTSエンジンが何かを発言しようとしたが失敗したときに発するイベントはありますか?

+0

https://play.google.com/store/apps/details?id=com.ivona.tts – Danieboy

+0

Danieboy、IVONA TTSへのリンクを投稿することは私が求めていることではありません。私は推奨されたスピーチエンジンを求めていません(そのうちの1つはすでに過去に使用されており、使用には適していないと判断しました)。私は、話されるはずのフレーズが失敗したかどうかを伝える方法を求めています。 –

+0

誰が私の質問を否定したのですか? –

答えて

0

私の経験上、執筆時点では、最も信頼性の高いTTSエンジンはGoogle独自のものです。これはもちろん、意見の問題ではなく、Stackoverflowが奨励するものではありません。現在のところ、Google TTSは最新のVoice APIを使用する唯一のもので、他のエンジンがクラッシュしたり、失敗したり、単に間違って報告されたりする場合があります。

それが正しく発話を語られたTTSエンジンはを信じることを、残念ながら、あまりにも一般的ですが、されていません。

これと対処するために、音声を要求するときに、onDone()が音声の長さに関連する期間内に呼び出されないかどうかをチェックするRunnableを設定しました。私はまた、onDone()があまりにも素早く呼び出されていないかどうかをチェックします。要求が意図的に無音でない限り、スピーチが失敗したことを示唆します。

問題がある場合は、これらの2つのチェックでユーザーにトーストすることができます。ブラインドを扱っている場合、問題を伝える別の方法を見つける必要があります。おそらく一連の複数の小さな振動が一般的に問題を示すことができますか?

希望に役立ちます。

+0

洞察に感謝します。私はまた、Google TTSエンジンが最善の方法であると考えていました。これは、現在使用しているものです。それは奇妙でよく起こることではありませんが、それにもかかわらずイライラしています。 あなたの提案した方法は私たちの状況ではうまくいかないかもしれませんが、主にユーザーが音声のピッチとスピードをコントロールできるようになっているため、何かが言われるべきであるかを判断しようとすると、現在のスピード設定に従って、スピードが遅くなったり遅くなったりする可能性があるためです。 –

+0

@ Sites-For-Less.com要求が静かな発声でない場合、 'onDone()'に対するほとんどの失敗は150ミリ秒以内です。任意の人物のように聞こえるが、何年もの頭痛からくる..... – brandall

関連する問題