使用语音SDK开发:如何集成和使用语音库文件?

发布时间:2020-07-01 14:47:40 作者:myja
来源:网络 阅读:598

一、文档概述


本文档是开发科大讯飞Windows语音程序的用户指南,提供工程创建、配置、编译、运行等相关信息的说明。其适用的读者为使用语音SDK进行开发的产品设计师、软件工程师,通过阅读本文档,读者可以掌握如何集成和使用语音库文件。


二、新建项目


1)打开Microsoft Visual Studio 2010,选择文件->新建->新建项目。

使用语音SDK开发:如何集成和使用语音库文件?

2)选择Visual C++ ->Win32->Win32控制台应用程序,输入项目名称,然后点击确定键。

使用语音SDK开发:如何集成和使用语音库文件?


3)点击下一步。

使用语音SDK开发:如何集成和使用语音库文件?

4)附加选项选择“空项目”,应用程序类型选择“控制台应用程序”,然后点击完成。

使用语音SDK开发:如何集成和使用语音库文件?

使用语音SDK开发:如何集成和使用语音库文件?

5)鼠标右键点击“源文件”,点击添加->新建项。

使用语音SDK开发:如何集成和使用语音库文件?

6)选择“代码”,输入后缀名为.c的名称,例如“main.c”,点击添加。

使用语音SDK开发:如何集成和使用语音库文件?

7)代码请参考SDK/Windows_SDK/samples下的语音示例。

使用语音SDK开发:如何集成和使用语音库文件?

8)将科大讯飞语音SDK中bin,include,libs文件复制到Demo文件夹下。

使用语音SDK开发:如何集成和使用语音库文件?


三、导入头文件


1)鼠标右键点击Demo项目,选择属性。

使用语音SDK开发:如何集成和使用语音库文件?

2)点击C/C++->常规->附加包含目录,输入相对于工程文件Demo.vcxproj的相对路径,即相对于$(ProjectDir)的路径。

使用语音SDK开发:如何集成和使用语音库文件?

使用语音SDK开发:如何集成和使用语音库文件?


四、加载msc.dll


1)加载msc.lib文件:在main.c文件中输入如下图所示代码。(注意:加载路径输入相对于工程文件的相对路径)

使用语音SDK开发:如何集成和使用语音库文件?

2)将msc.dll所在目录设置为工作目录,即“$(ProjectDir)..\bin\”。

使用语音SDK开发:如何集成和使用语音库文件?


五、打印日志


运行程序后,bin/msc文件夹下会生成日志。(注意:msc文件夹下需有msc.cfg文件)

 

使用语音SDK开发:如何集成和使用语音库文件?


六、运行可执行文件


1)通过属性设置,将可执行文件copy到bin目录下运行,否则会报如图16错误。 

使用语音SDK开发:如何集成和使用语音库文件?

使用语音SDK开发:如何集成和使用语音库文件?

2)点击“命令行”后边的下拉框,选择“编辑”。

使用语音SDK开发:如何集成和使用语音库文件?

3)输入“copy $(TargetPath) $(ProjectDir)..\bin\”。

使用语音SDK开发:如何集成和使用语音库文件?


七、常见问题

1)如何联系我们获得技术支持?

答:科大讯飞提供以下方式的技术支持:

a.自助查询——请登陆官网:http://www.xfyun.cn/

语音合成:http://www.xfyun.cn/doccenter/tts

语音识别:http://www.xfyun.cn/doccenter/asr

新手指南:http://www.xfyun.cn/doccenter/newer

常见解答:http://www.xfyun.cn/default/doccenter/doccenterInner?itemTitle=ZmFx


b.电话支持——请于周一~周五,北京时间9:00~17:00间,拨打电话: 0551-65309063获得技术支持信息。

c.电子邮件支持——请将问题的详细描述发至:msp_support@iflytek.com。

d.在线支持——请登录我们的论坛:http://bbs.xfyun.cn/forum.php


联系时对问题的描述请尽量包含以下内容:

1.系统配置(包括CPU、内存、硬盘、操作系统及产品版本等信息)

2.问题细节(包括问题的重现过程及合成的文本内容、识别音频等)

3.问题重现(包括详细的操作过程和运行日志等)


2)拿到了合成音频但不知道如何来播放?

答:合成拿到的音频是没有音频头的,音频头中含有音频格式、采样率、音频长度等播放音频所需信息。拿到合成音频后,用户可以添加音频头,可参考例子tts_sample中的代码,然后使用常规播放器来播放;也可以使用Cool Edit等软件手动选择音频参数来播放。


3) 如何进行大文本的合成?

答:语音云一次语音合成允许的合成文本大小不超过8192个字节,所以对于长度超过此值的大合成文本,用户可以采用“分段合成”的方式,即先将大文本按照标点符号如句号进行切分,然后对每一段文本分别进行合成。进行分段合成时,用户既可以在一路会话中循环使用QTTSTextPut+QTTSAudioGet组合完成合成,也可以为每一段文本使用一路独立的会话完成合成。


4) 获取不到识别/听写结果。

答:原因可能是:

a.QISRSessionBegin的参数设置不正确,如没有设置好正确的引擎类型等。      

b.音频格式不对,客户端支持的音频编解码算法只支持16位Intel PCM格式的音频。


5)能获取到语音听写结果但是不全。

答:此问题主要是在调用QISRAudioWrite时没有正确设置参数audioStatus所致,此参数在写入非最后一个音频数据块时需要设置为2,写入最后一个数据块时需要设置为4,以告诉MSC音频写入完毕。如果只有一个音频数据块,audioStatus也需要设置为4。


6) 可以拿到识别或转写结果但是响应很慢。

答:此问题可以尝试如下方法来解决:

a.调用QISRAudioWrite接口写音频数据时,尽量做到“匀速发送”——周期性的发送定长数据,做到边录边发,避免一次发送数据量过大的音频。

b.采用QISRAudioWrite接口和QISRGetResult接口混调的方式。在调用QISRAudioWrite接口时,可以检查out型参数recogStatus,如果其值为0,表明已经有(部分)识别结果缓存在MSC中了,此时可以调用QISRGetResult来获取结果。


推荐阅读:
  1. 企业语音和网络
  2. Python实现语音识别和语音合成功能

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

语音识别 语音合成 讯飞开放

上一篇:ssl证书如果未完成身份认证有什么影响

下一篇:php中Symfony有什么特点

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》