0

私はc#でのプログラミングは初めてですが、プレーンテキストを音声表現に変換しようとしています。PhonemeReached イベントを使用してプレーン テキストを変換し、e.Phoneme で呼び出します。(以下のコードを参照)。

//Initialize Synthesizer for TTS and extracting Phonemes 
SpeechSynthesizer synth = new SpeechSynthesizer(); 

//Calling the PhonemeReachedEvent
synth.PhonemeReached += new EventHandler <PhonemeReachedEventArgs>(synth_PhonemeReached);

//Speaking the text from richTextBox1 
synth.SpeakAsync(richTextBox1.Text); 

//The Event 
private void synth_PhonemeReached(object sender, PhonemeReachedEventArgs e) 
  { 
    string output = e.Phoneme; 

    //Writing the Phoneme to the richTextBox2
    richTextBox2.AppendText(string.Format(output)); 
  }

e.Phoneme の結果をリッチ テキスト ボックスに返しますが、文字化けするだけです (下の図を参照)。エンコードの問題のように感じます。この問題の解決方法についてご意見をお聞かせください。

http://imgur.com/KFN4E5T

更新: コメントで述べたように、Jalkar は win7 で作業することに成功しました。Windows 7 でアプリケーションをテストしたところ、実際に音素のような文字列が表示されました。ただし、ASCII にデコードすると、ぎこちなく表現されます。(これまでのところ、ユニバーサル電話機セットに変換する方法を把握できていません). 第二に、Hans Passant が述べたように、スクリーンショットの jibberish の ASCII は American Phone セットへのインデックスです (彼のリンクを参照)。ただし、奇妙な点は、Win7 と Win8 の両方でまったく異なる結果が得られることです。

Win7 での結果の下のスクリーンショット: http://imgur.com/aTxf5OE

このスクリーンショットでは、Win8 での結果: imgur.com/crAR5HV

C# で Microsoft の IPA から UPS への使用方法を知っている人がいたら、ぜひ教えてください。

4

0 に答える 0