私は現在、学校向けのプロジェクトを作成しており、そこで子供たちに読み方を教えるプログラムを作成します。このプログラムの基本的なアイデアは、文章を作成し、Windows Anna にそれを言ってもらうというものでした。Java 経由で Winodws Anna にアクセスするにはどうすればよいですか? これを行うより良い方法はありますか?
ありがとう
私は現在、学校向けのプロジェクトを作成しており、そこで子供たちに読み方を教えるプログラムを作成します。このプログラムの基本的なアイデアは、文章を作成し、Windows Anna にそれを言ってもらうというものでした。Java 経由で Winodws Anna にアクセスするにはどうすればよいですか? これを行うより良い方法はありますか?
ありがとう
プログラムがインターネットにアクセスできる場合は、iSpeechを使用できます。
APIを使用できますが、問題は、1 日あたり 200 回の使用に制限されていることです。
iSpeech の音声はまともで、一般的にはespeakやFreeTTSのように使い慣れた他の TTS エンジンよりも洗練されています。確かに、空気に関係する「風」をねじれに関係する「風」と発音するかもしれませんが、それ以外は非常によく話します。
また、私はこれを経験したことがありませんが、コマンド ラインを使用して MS Speech にアクセスする方法を示す記事を見つけました (明らかに Java を介してコマンドを実行できます [方法がわからない場合は、こちらを参照してください)。記事])。ここにあります。コマンド ラインで、「SayDynamic.exe* 読み上げたいテキスト」と入力するだけです。
*または、SayStatic、ページで利用可能な他のダウンロード。
この方法は速度とインターネット アクセスに依存しないという点で優れているように見えますが、iSpeech ほどうまく発音できないことは間違いありません。あなたのプログラムにとって理想的なのは、オンラインでは iSpeech を使用し、オフラインでは Say*.exe を使用することだと思います。
このサイトでは、プログラムのソース コードも提供しています。お気づきかもしれませんが、これは Microsoft Anna の声ではありませんが、ソースで指定して再コンパイルすることができます。
私が助けてくれることを願っています!
Windows にインストールされているテキスト読み上げ API を使用するコマンド ライン ユーティリティNirCmdを使用できます。
そのため、このユーティリティを Java アプリケーションと一緒に提供し、適切なコマンド ラインで実行してください。
Windows の Speech プラットフォームがあります http://www.microsoft.com/en-us/download/details.aspx?id=27226
Speech ランタイム http://www.microsoft.com/en-us/download/details.aspx?id=27225
JNA (JNI ではない) を使用して、Java から dll と対話でき ます https://github.com/twall/jna
FreeTTSを試すことができます: Java で書かれた音声シンセサイザーです。
Microsoft Speech API (SAPI) を呼び出すことはできますが、Java で行う方法がわかりません。
NirCmd を呼び出す方法を教えてください。NirCmd の代わりに、テキストを読み取る独自のツールを C# で作成できます。テキストは txt 内にある可能性があり、ツールはその txt へのパスを引数として呼び出されます。次のようなデモ プロジェクトを簡単に適用できます: http://www.codeproject.com/Articles/19334/Text-to-Speech-using-Windows-SAPI