如何实现语音报价? ( 积分: 100 )

  • 主题发起人 主题发起人 zgp2000
  • 开始时间 开始时间
to bjaman:
    邮件收到,有参考价值。但怎么没女声啊,好像使用的微软的SASDK。可能要装
这类驱动吧。我先研究一下,谢谢。
各位还有什么更好的办法也请留言啊。我自己想找个人录音,这样个性化些。
 
正在做...
 
to :bjaman, 我想要份语音报时的例子,谢谢,miys800@xinhuanet.com
 
用捷通华声网络语音合成专业版.很容易的..但是试用版播放的时候总是自己加一句北京捷通----,,很是烦人..,,不过里面播放只支持女声的..嘿嘿..

问个问题.,怎么把语音文件里面的这句话删除掉.就是播放北京捷通----.....
 
终于写代码把它随机插入的的语言删除了。。。
明天贴代码上来。。
 
procedure DeleteFileJTVoice(SrcFileName,{源文件名}
SampFileName{样本文件名}: string;SavedFileName{保存的文件名} : string);
var
aStream,bStream,cStream:TMemoryStream;
ap, bp: ^Byte ;
i:integer;
begin

aStream:=TMemoryStream.Create;
bStream:=TMemoryStream.Create;
cStream:=TMemoryStream.Create;
try
aStream.LoadFromFile(SrcFileName);
bStream.LoadFromFile(SampFileName);
if aStream.Size < bStream.Size then
//如果源文件小于样本文件.不需要比较
cStream.CopyFrom(aStream,aStream.Size)
else
begin
//否则比较
cStream.SetSize(aStream.Size);
ap := astream.Memory ;
bp := bstream.Memory ;
for i := 1 to aStream.Sizedo

begin

if ap^ <> bp^ then

begin

cStream.Write(ap^, 1) ;
Inc(ap);
bp := bStream.Memory ;
//复位
end
else

begin

Inc(ap);
Inc(bp);
end;

end;

//因为合成的语音文件.文件尾还有64k杂音要删除
cStream.SetSize(cStream.Size - 64*1024);
end;

cStream.Position := 0;
cStream.SaveToFile(SavedFileName);
finally
aStream.Free;
bStream.Free;
cStream.Free;
end;

end;

关键样本文件要提起正确..不然是比较不出来的.
 
问题解决,散分,谢谢各位!
 
后退
顶部