6

私は現在、学校向けのプロジェクトを作成しており、そこで子供たちに読み方を教えるプログラムを作成します。このプログラムの基本的なアイデアは、文章を作成し、Windows Anna にそれを言ってもらうというものでした。Java 経由で Wi​​nodws Anna にアクセスするにはどうすればよいですか? これを行うより良い方法はありますか?

ありがとう

4

4 に答える 4

3

プログラムがインターネットにアクセスできる場合は、iSpeechを使用できます。

APIを使用できますが、問題は、1 日あたり 200 回の使用に制限されていることです。

iSpeech の音声はまともで、一般的にはespeakFreeTTSのように使い慣れた他の TTS エンジンよりも洗練されています。確かに、空気に関係する「風」をねじれに関係する「風」と発音するかもしれませんが、それ以外は非常によく話します。

また、私はこれを経験したことがありませんが、コマンド ラインを使用して MS Speech にアクセスする方法を示す記事を見つけました (明らかに Java を介してコマンドを実行できます [方法がわからない場合は、こちらを参照してください)。記事])。ここにあります。コマンド ラインで、「SayDynamic.exe* 読み上げたいテキスト」と入力するだけです。

*または、SayStatic、ページで利用可能な他のダウンロード。

この方法は速度とインターネット アクセスに依存しないという点で優れているように見えますが、iSpeech ほどうまく発音できないことは間違いありません。あなたのプログラムにとって理想的なのは、オンラインでは iSpeech を使用し、オフラインでは Say*.exe を使用することだと思います。

このサイトでは、プログラムのソース コードも提供しています。お気づきかもしれませんが、これは Microsoft Anna の声ではありませんが、ソースで指定して再コンパイルすることができます。

私が助けてくれることを願っています!

于 2012-05-17T16:10:37.217 に答える
1

Windows にインストールされているテキスト読み上げ API を使用するコマンド ライン ユーティリティNirCmdを使用できます。

そのため、このユーティリティを Java アプリケーションと一緒に提供し、適切なコマンド ラインで実行してください。

于 2012-04-17T10:50:29.893 に答える
0

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

于 2012-05-15T19:48:42.790 に答える
0

FreeTTSを試すことができます: Java で書かれた音声シンセサイザーです。

Microsoft Speech API (SAPI) を呼び出すことはできますが、Java で行う方法がわかりません。

NirCmd を呼び出す方法を教えてください。NirCmd の代わりに、テキストを読み取る独自のツールを C# で作成できます。テキストは txt 内にある可能性があり、ツールはその txt へのパスを引数として呼び出されます。次のようなデモ プロジェクトを簡単に適用できます: http://www.codeproject.com/Articles/19334/Text-to-Speech-using-Windows-SAPI

于 2012-05-14T12:40:45.600 に答える