微软的TTS怎样才可以发中文! 我装了Sdk5.1 及语音包(100分)

  • 主题发起人 主题发起人 devexpress
  • 开始时间 开始时间
D

devexpress

Unregistered / Unconfirmed
GUEST, unregistred user!
我是这样装的,从微软的网站上下载了一个61M,及81M的两个文件.
装完后在delphi-->improt ActiveX-->
Microsoft Direct Speech Syntheis(version 1.0)
->install
装完后在active面板上多了一张嘴
在Form1上放了一个
DirectSS1
和一个button
点击buttonclick事件
DirectSS1.LanguageID(4);
DirectSS1.Speak('你好'); //如果是英文就可以,中文不行
 
LanguageID(4);这个4是不是中文的?
要选择中文语音引擎的才行。
 
4也不是呀
 
一百分是太少了
 
来自:yy2001, 时间:2002-9-13 16:01:00, ID:1323360
按照你目前的认识,要实现中文语音并不容易
我的开发包及delphi例程及相关说明共计170M多呢
不过只条路很容易:
1、安装speechsdk51.exe
2、安装speechsdk51LangPack.exe
3、启动Delphi6
4、安装了sdk5.1后,在Delphi里面Project<Import Type Library对话框里会有一个
Micosoft Speech Object Library[Version5.1]的ActiveX组件,将它导入。
你会看到一大堆控件,不过你要用的只是TSpVoice而已。
TSpVoice实现了对SAPI的包装,能够设置Rate(音速), volume(音量),
当然还有Voice(即你要的中文语音),
用TSpObjectTokens的EnumTokens方法得到目前安装的语音,
装了中文包后你就能得到中文的那个语音,然后TSpVoice.Voice := ...就可以了。
详细请看SAPI.chm(sdk5.1中自带的help)以及其中的例程。
下载地址:
http://download.microsoft.com/download/speechSDK/SDK/5.1/WXP/EN-US/speechsdk51.exe
http://download.microsoft.com/download/speechSDK/SDK/5.1/WXP/EN-US/speechsdk51LangPack.exe


我通过上面的方法。但Micosoft Speech Object Library[Version5.1]我在Import Type Library里没有找到
怎样才能装上去,谢谢各位
 
C:/Program Files/Common Files/Microsoft Shared/Speech/sapi.dll
导不进去
 
还是有问题! sapi.dll 不知是什么原因,就是装不上去.
我通过delphi直接打开sapi.dll,可以打开, 点击 register type library按钮

弹出 The filename must have '.tlb' extension

搞了一整天了。
 
实际上,本来,如果你安装了SAPI5 SDK,理论上就可以通过TSpVoice这个控件实现朗读中文了,
但是有一个问题是,无论是D5还是D6(还没试过D7),它的导入类型库有BUG(这个问题我在Borland的
新闻组里得到了证实),使得自动产生的TLB文件有问题 ,你可以查看一下TSpVoice的定义,
手动改正之.
 
to qqcxg 在线吗?

就是你说的这个问题,这些控件我没改过。 是不是我的sapi有问题,
改哪个地方,一点头绪都没有。

我是个菜鸟,望高人指点
 
我装的是d6+sp2+win98
 
不是你的SAPI有问题,
是Delphi的问题
照我说的作,改一下那个TLB就可以了

我以前在D6+WIN2K+SP2的环境下作过一点这方面的东西
 
我这里没有Sapi.TLB文件
 
他一直提示:The filename must have '.tlb' extension
 
今天再提一下
 
我用微软的 Sound Editing Tool 看驱动时,里面有 Speech Engine 选项,但其中
只有 English Continuous,Microphone[Microsotf]。是否先看看有中文的引擎吗?
 
后退
顶部