关于tts的几个问题。(100分)

  • 主题发起人 主题发起人 ylbee
  • 开始时间 开始时间
Y

ylbee

Unregistered / Unconfirmed
GUEST, unregistred user!
我用的是IBM ViaVoice的中文库。在delphi6 下通过vtxtAuto.TLB调用。程序如下:<br>rocedure TForm1.FormCreate(Sender: TObject);<br>begin<br>&nbsp; FISpeech := CoVTxtAuto_.Create;<br>&nbsp; FISpeech.Register('Demo TTS', 'Demo App');<br>end;<br><br>procedure TForm1.btnReadClick(Sender: TObject);<br>begin<br>&nbsp; FISpeech.Speak(memText.Lines.Text, vtxtst_READING);<br>&nbsp; btnPause.Enabled := True;<br>&nbsp; btnStop.Enabled := True;<br>end;<br><br>procedure TForm1.btnStopClick(Sender: TObject);<br>begin<br>&nbsp; FISpeech.StopSpeaking;<br>&nbsp; btnPause.Enabled := False;<br>&nbsp; btnStop.Enabled := False;<br>&nbsp; btnPause.Caption := ' 暂 停( &amp;P)';<br>end;<br><br>procedure TForm1.btnPauseClick(Sender: TObject);<br>begin<br>&nbsp; with FISpeech do<br>&nbsp; &nbsp; if IsSpeaking then &nbsp;begin<br>&nbsp; &nbsp; &nbsp; AudioPause;<br>&nbsp; &nbsp; &nbsp; btnPause.Caption := ' 恢 复( &amp;R)';<br>&nbsp; &nbsp; end<br>&nbsp; &nbsp; else &nbsp;begin<br>&nbsp; &nbsp; &nbsp; AudioResume;<br>&nbsp; &nbsp; &nbsp; btnPause.Caption := ' 暂 停( &amp;P)';<br>&nbsp; end;<br>end;<br><br>procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);<br>begin<br>&nbsp; FISpeech:=nil;<br>end;<br><br>现在的问题是<br>1、不管在memtext中写中文还是英文,在文字的前面和后面都要读许多的英文单词,大概是btx=bocu.....mt &nbsp; ctc.....mal等等(没有听清楚)。那位大虾知道如何处理?(那些东西我都没<br>些过,我要删除他们)<br>2、在读中文时有没有办法,让他把me读成 米 而不是m和e。在英文引擎下,可以将me读成 米,可中文就<br>是乱读了,请高人指教。<br>谢谢先!
 
第一个问题解决了<br>第二个到底该怎么办?
 
遇到英文就切换到读英文的方式,遇到中文就换到读中文的方式
 
楼主..能否给我一份ViaVoice?<br>我的qq是121355250.<br>谢谢.
 
后退
顶部