問題タブ [speechsynthesizer]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
.net - SpeechSynthezier.PhonemeReached イベントと制御文字
単語を発音し、発音されたときに各音節を強調表示する小さな Silverlight ウィジェットを作成しています。
この一環として、SpeechSynthesizer.PhonemeReached イベントを使用して、各音素の開始時刻と終了時刻を決定しています (各音節の開始時刻と終了時刻を把握するための手順として)。
奇妙なことに、PhonemeReachedEventArgs.Phoneme プロパティは、少なくとも (ただし、排他的ではない可能性があります) U+0004 END OF TRANSMISSIONという制御文字になることがあります。始まり)。
これが何を意味するのかについてのドキュメントが見つかりません。誰か知っていますか?
編集:明確にするために、私はSilverlightで音声合成を行っていません(サポートされていないため)、サーバーで行っており、音声のHTTPヘッダーで単語の音節境界時間とIPA転写を返しています応答。おそらく、Silverlight の部分についてはまったく言及すべきではありませんでした。それは実際には関連性がないためです。コンテキストを説明することについてあまり考えていませんでした。おっと。:)
asp.net - ServerXMLHTTP タイムアウトで xml を投稿する
私は2つのウェブサイトで働いています。1 つは、xml を新しい asp.net (.net 3.5) Web サイトに投稿する既存の従来の ASP サイトです。従来の ASP サイトでは、vbscript で msxml の serverxmlhttp オブジェクトを使用して、この xml を送信しています。asp.netサイトに一見無関係な変更を加えるまで、すべてが機能します。
System.Speech.Synthesis を使用してテキストから wav ファイルを生成するコードを数行追加すると、従来の ASP Web サイトの serverxmlhttp.send コマンドがタイムアウトします。asp.net ページが正常に動作していることを確認できる限り、問題なく数行の新しいコードを実行できます (wav ファイルが生成されます)。問題の原因となっている数行の音声コードは、タイムアウトのかなり前に実行されます。
asp.net ページが、実際には送信されなくなった従来のページに何らかの確認応答を送信していたようです。また、音声コードが非同期である必要があるという例外をスローしていたことも指摘しておく必要があります。ただし、 async="true" の場合は機能します。それを壊すのはスピーチの行だけです。「問題コード」はまさに
何が間違っているのか、またはこれをデバッグするために私が使用できるものについて何か提案はありますか?
c# - C# SpeechSynthesizer で動作する日本語の TTS 音声はありますか
C# の SpeechSynthesizer TTS に日本語の音声はありますか? もしそうなら、それについての詳細な情報を述べてください。
前もって感謝します。
c# - SpeechSynthesizer の SpeakProgressEventArgs は不正確ですか?
.Net 3.5 で System.Speech.Synthesis.SpeechSynthesizer クラスを使用すると、SpeakProgressEventArgs の AudioPosition プロパティが不正確に見えます。
次のコードは、次の出力を生成します。
コード:
出力:
ただし、生成される .wav ファイルの長さは 15.69 秒です。Stream または null に出力すると、同じ動作が発生します。
プロパティのドキュメントには、プロパティは「オーディオ出力ストリーム内のイベントの時間位置を表す TimeSpan オブジェクト」であると記載されています。
出力ファイルで単語が話し始めた時間または話し終わった時間を示す正確な時間である必要がありますか、それとも誤解していますか?
.net - System.Speech.Synthesis.SpeechSynthesizer を使用してテキストを MP3 に変換
テキスト読み上げを MP3 に保存しようとしています。現在、System.Speech.Synthesis が WAV ファイルに適切に話しかけています。
コメントアウトされた最初の行は、素晴らしい WAV ファイルを生成します。現在、それを MP3 出力ストリームに置き換えようとしていますが、あまり成功していません。
Yeti.MMedia コンバーターを試しましたが、うまくいかないか、うまく動作しません。ここで、エンコーディング、速度などについてあまり知らないことを認めなければなりません。
だから私が持っている質問は、誰かが私が次のようなことを言うことができる良い方法を知っているかということです:
SpeechSynthesizer で WAV に書き込み、MP3 に変換して HDD に保存します。
c# - C# WinForm が応答しない - System.Speech - ヘルプ
C# Windows フォームのコードを次に示します。
- これにより、テキストボックスにあるものはすべて読み取られます
一時停止および停止機能を実装しようとすると問題が発生します。コードが何かを読み取ったときに、ボタンまたはメニュー項目がクリックされません。
SpeakProgressEventArgs http://msdn.microsoft.com/en-us/library/system.speech.synthesis.speakprogresseventargs%28VS.85%29.aspxがあることを読んだところです。
私はsynth...asyncancelを試しました...しかし、ボタンのクリックイベントは実行されません
c# - C#のSpeechSynthesizerは、22kHzのwavを作成します...16kHzである必要があります
私のC#アプリケーションは、テキストをwavファイルに変換し、Skype通話に挿入する必要があります。wavファイルを作成するコードは以下のとおりです。問題は、ファイルのサンプルレートが22kHzで、Skypeが16kHzしか受け入れないことです。
この設定を調整する方法はありますか?
c# - .NET 用の音声シンセサイザーをお勧めできますか?
C#/.NET で組み込みの音声シンセサイザーを使用しましたが、オプションが限られているため、より柔軟なものが必要です。推奨事項はありますか?
.net - SpeechSynthesizer を使用して SpeechAudioFormatInfo でストリーミングする TTS
System.Speech.Synthesis.SpeechSynthesizerを使用してテキストを音声に変換しています。また、Microsoft の貧血に関するドキュメント (私のリンクを参照してください。コメントやコード例はありません) のために、2 つの方法の違いを理解するのに苦労しています。
SetOutputToAudioStream と SetOutputToWaveStream。
これが私が推測したものです:
SetOutputToAudioStream は、ストリームと、wave ファイルの形式 (1 秒あたりのサンプル数、1 秒あたりのビット数、オーディオ チャネルなど) を定義する SpeechAudioFormatInfo インスタンスを受け取り、ストリームにテキストを書き込みます。
SetOutputToWaveStream は、ストリームだけを受け取り、16 ビット、モノラル、22kHz、PCM ウェーブ ファイルをストリームに書き込みます。SpeechAudioFormatInfo を渡す方法はありません。
私の問題は、 SetOutputToAudioStream が有効なウェーブ ファイルをストリームに書き込めないことです。たとえば、ストリームを System.Media.SoundPlayer に渡すと、InvalidOperationException (「ウェーブ ヘッダーが壊れています」) が発生します。ストリームをディスクに書き込んで WMP で再生しようとすると、「Windows Media Player はファイルを再生できません...」というエラーが表示されますが、SetOutputToWaveStream によって書き込まれたストリームは両方で正しく再生されます。私の理論は、SetOutputToAudioStream が (有効な) ヘッダーを書き込んでいないというものです。
奇妙なことに、SetOutputTo*Blah* の命名規則には一貫性がありません。SetOutputToWaveFile は SpeechAudioFormatInfo を受け取りますが、SetOutputToWaveStream は受け取りません。
SetOutputToAudioStream や SetOutputToWaveStream ではできないことですが、8kHz、16 ビット、モノラル ウェーブ ファイルをストリームに書き込めるようにする必要があります。SpeechSynthesizer とこれら 2 つの方法について洞察を持っている人はいますか?
参考までに、いくつかのコードを次に示します。
解決:
@Hans Passantに感謝します。これが私が現在使用しているものの要点です:
私の大まかなテストでは、リフレクションを使用するのは少し厄介ですが、ファイルをディスクに書き込んでストリームを開くよりはましですが、うまく機能します。
c# - C# SpeechSynthesizer によりサービスが応答しなくなる
私は次のコードを持っています
サービスは何も返しません。なぜこれが起こるのか分かりますか?