Foxtable(狐表)用户栏目专家坐堂 → 语音库选择问题


  共有2489人关注过本帖树形打印复制链接

主题:语音库选择问题

帅哥哟,离线,有人找我吗?
ljh29206
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1359 积分:12010 威望:0 精华:0 注册:2012/3/5 11:32:00
语音库选择问题  发帖心情 Post By:2014/12/20 20:45:00 [只看该作者]

Dim Speaker As New DotNetSpeech.SpVoice()

Dim vl As String = "牧"
Speaker.Rate = -7 '设置语速
Speaker.Voice = Speaker.GetVoices(String.Empty,String.Empty).Item(1) '选择语音库

    Speaker.Speak(vl, DotNetSpeech.SpeechVoiceSpeakFlags.SVSFDefault) '同步朗读

 

 

我安装了1个新的语音库

 

我按照帮助里面的代码 进行修改  直接选择item(1)  .

 

但读不出内容

 

语音库为:     0:microsoft sam 1:vw misaki

 

 

 

请教 ,该如何直接选择语音库进行朗读?

 


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/12/21 9:50:00 [只看该作者]


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/12/21 9:51:00 [只看该作者]

 如果你的是xp系统,是不能读中文的,只有win7才有中文语音库。

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/12/21 9:54:00 [只看该作者]


 回到顶部
帅哥哟,离线,有人找我吗?
ljh29206
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1359 积分:12010 威望:0 精华:0 注册:2012/3/5 11:32:00
  发帖心情 Post By:2014/12/21 10:55:00 [只看该作者]

老师 我测试过

Dim Speaker As New DotNetSpeech.SpVoice()
Dim vl As String = "岩本"
For Each st As Dotnetspeech.SpObjectToken In Speaker.GetVoices
    If st.GetDescription = "vw misaki" Then
       Speaker.Rate = 0
        Speaker.Voice = st
Speaker.Speak(vl, DotNetSpeech.SpeechVoiceSpeakFlags.SVSFDefault) '同步朗读
        Exit For
    End If
Next

 

 

这个代码 发觉 每次的朗读的间隔 起码要40秒左右?

 

怎么把这个速度提高?


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/12/21 11:22:00 [只看该作者]

1、Speaker 定义在publish变量里。

 

2、这段代码写到afteropenproject里。

 

For Each st As Dotnetspeech.SpObjectToken In Speaker.GetVoices
    If st.GetDescription = "vw misaki" Then
        Speaker.Rate = 0
        Speaker.Voice = st
        Exit For
    End If
Next

 

3、朗读的时候直接写 Speaker.Speak(vl, DotNetSpeech.SpeechVoiceSpeakFlags.SVSFDefault) '同步朗读


 回到顶部
帅哥哟,离线,有人找我吗?
ljh29206
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1359 积分:12010 威望:0 精华:0 注册:2012/3/5 11:32:00
  发帖心情 Post By:2014/12/21 11:38:00 [只看该作者]

但我要判断内容是否 语句是否包含日语50音图的单词, 如果包含就用 日语语音库  不包含就用 中文的语音库


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/12/21 11:42:00 [只看该作者]

 回复7楼,那你就用一个数组存储 Speaker.GetVoices 的 GetDescription

 

 然后,在数组里面查找取出设置item


 回到顶部
帅哥哟,离线,有人找我吗?
ljh29206
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1359 积分:12010 威望:0 精华:0 注册:2012/3/5 11:32:00
  发帖心情 Post By:2014/12/21 11:52:00 [只看该作者]

多谢老师指导,明白了

 回到顶部