帖子

[demo分享] 【经验分享】c#,同时:录音+识别+合成

  [复制链接]

该用户从未签到

2550654  楼主| wangkang 发表于 2015-5-11 13:15:20 1#
开发环境:windows,vs
编程语言:c#(WPF)
实现效果:http://v.youku.com/v_show/id_XOTUyMDQ0MTg0.html?from=s1.8-1-1.2
方法简介:
1,官方下载c++SDK中可以找到msc.dll动态链接库,最新版的大小为1384kb
2,由于c#无法直接引用c++生成的dll,因此在c#工程中引用c++SDK中的dll,需要用DllImport方法,对内部函数重新声明:
            [DllImport("msc_old.dll", CallingConvention = CallingConvention.Cdecl)]
            public static extern int MSPLogin(string username, string password, string configs);注意事项:
-1,程序使用LogitechH600无线耳麦,麦克风不会接到扬声器的声音,因此,可以实现在输出合成结果时进行语音打断。
0,语音合成有明显耗时的,因此要注意合成文本尽量不要太长,或者把文本截断,分次合成。
1,c#中录音设备调起,本程序使用NAudio.dll,最新版本382kb,该版本可以设置录音回调函数事件触发间隔,方便控制录音数据上传频率。
2,注意工程生成的目标平台是32位还是64位,保证工程之间的兼容性。
3,实现边录边识别需要设置服务器音频前后端点检测,本程序所有会话参数:"sub=iat,ssm=1,auf=audio/L16;rate=16000,aue=speex,ent=sms16k,rst=plain,vad_timeout=30000,vad_speech_tail=500";
4,从同一个msc.dll封装isr和tts时会出现程序奔溃,本程序使用了两个版本的msc.dll,新版1384kb和旧版356kb,从新版中封装TTS类,从旧版中封装ISR类。
工程源码:http://yun.baidu.com/share/link?shareid=2326194626&uk=589367483
视频文件:http://yun.baidu.com/share/link?shareid=1164185946&uk=589367483




评分

参与人数 1语点 +10 收起 理由
栗子讲究 + 10 很给力!

查看全部评分

ppniao@126.com 发表于 2015-6-5 11:04:51
推荐
问一下.我想把你的这个类库用到unity中,想生成 .net frame  3.5的 dll,可是报错呢.怎么解决? 怎么给您发邮件?

报错

报错
使用道具 举报 回复
hygui 发表于 2015-5-11 13:31:25
3#
{:soso_e142:}{:soso_e142:}{:soso_e142:}
使用道具 举报 回复
 楼主| wangkang 发表于 2015-5-11 13:34:56
4#

你好,上次的识别状态的问题给您发邮件了,还是没解决。
使用道具 举报 回复
www.cjb@qq.com 发表于 2015-5-11 13:52:01
5#
必须赞一个
使用道具 举报 回复
hygui 发表于 2015-5-11 15:56:02
6#
wangkang 发表于 2015-5-11 13:34
你好,上次的识别状态的问题给您发邮件了,还是没解决。

何时发的?发给谁的?能截图一下吗?
使用道具 举报 回复
 楼主| wangkang 发表于 2015-5-11 20:38:37
7#
hygui 发表于 2015-5-11 15:56
何时发的?发给谁的?能截图一下吗?


QQ截图20150511203721.jpg
使用道具 举报 回复
ppniao@126.com 发表于 2015-6-5 11:34:55
8#
哈喽哈喽.好捉急.好捉急.
使用道具 举报 回复
690091622@qq.co 发表于 2015-6-7 18:15:25
9#
本帖最后由 690091622@qq.co 于 2015-6-7 18:18 编辑

调用这句  int ret = TTSDll.MSPLogin(null, null,"appid= ");
说无法找到msc_cpp.dll模板?
看录得视频不错,求楼主源码,我只是用来学习的。
690091622@qq.com

楼内回复

你完成了吗?  详情 发表于 2017-4-19 18:04
使用道具 举报 回复
 楼主| wangkang 发表于 2015-6-17 19:10:01
10#
ppniao@126.com 发表于 2015-6-5 11:04
问一下.我想把你的这个类库用到unity中,想生成 .net frame  3.5的 dll,可是报错呢.怎么解决? 怎么给您发邮 ...

源码http://bbs.xfyun.cn/forum.php?mod=viewthread&tid=10662,应该是4.5的,看一下吧

评分

参与人数 1语点 +1 收起 理由
15050503378 + 1 很给力!

查看全部评分

使用道具 举报 回复