调用API

调用百度语音识别API实现语音识别(ASR)与语音合成(TTS),分别需要发送一个HTTP请求。

Note: 在发送ASR或者TTS请求前,首先需要获取Access Token
1. 获取Token
通过百度开发者账号获取到key与secret key,然后通过以下请求得到token;

//Access Token(每次获取后,有效期:一个月)string getAccessUrl = $"https://openapi.baidu.com/oauth/2.0/token?grant_type=client_credentials&client_id={speechModel.APIKey}&client_secret={speechModel.APISecretKey}";eg:
https://openapi.baidu.com/oauth/2.0/token?grant_type=client_credentials&client_id=yourKey&client_secret=yourSecretKey

2. 语音识别

//ASR: Automatic Speech Recognition(须在发送请求时写入音频数据)string getTextUrl = $"http://vop.baidu.com/server_api?lan={speechModel.APILanguage}&cuid={speechModel.APIID}&token={speechModel.APIAccessToken}";eg:
http://vop.baidu.com/server_api?lan=en&cuid=402&token=24.fd8c2088ac28b2722403c1acc36797e9.2592000.1487243775.282335-8317833

3. 语音合成

//TTS: Text To Speech(直接返回.mp3)string requestStr = $"http://tsn.baidu.com/text2audio?tex={text}&lan={speechModel.APILanguage}&per={speechModel.APIPerson}&ctp={speechModel.APIClientType}&cuid={speechModel.APIID}&tok={speechModel.APIAccessToken}&spd={speechModel.APISpeed}&pit={speechModel.APIPitch}&vol={speechModel.APIVolume}";eg:
http://tsn.baidu.com/text2audio?tex=集齐五福,召唤神龙!&lan=zh&cuid=402&ctp=1&tok=24.fd8c2088ac28b2722403c1acc36797e9.2592000.1487243775.282335-8317833

说明

  • 以上的请求字符串采用C#格式,主要是因为在Windows客户端,通过Winform简单实现了语音识别、语音合成;
  • 采用NAudio、Microsoft.DirectX两种方式实现录音;
  • 另外,利用NAudio实现音频格式的转换(MP3—>WAV,原因是当前百度语音识别API要求:8k/16k, 16bit位深, 单声道WAV);
  • 通过WinMm.dll的mciSendString(…)实现音频的播放、停止等控制;
  • 上述链接中的token自生成时刻起,有效期一个月,过期后可再次通过自己key与secret key获取。

实现

程序界面:

Source Code: Github


If you have any questions or any bugs are found, please feel free to contact me.

Your comments and suggestions are welcome!

百度语音识别、语音合成,NAudio录音(C#)相关推荐

  1. 搭乘百度语音识别技术,录音啦识别率最高可达95%

    [猎云网(微信:)武汉]12月22日报道(文/盛佳莹) 在开会.演讲.采访等多个工作场景中,由于传统记录形式对大量快速信息的收取不足,我们都会运用到录音来帮助我们记录.然而,录音整理却又成为了一项耗时 ...

  2. Unity3d中使用百度语音识别及语音合成【含源码】

    本文首发于"洪流学堂"公众号. 洪流学堂,让你快人几步!你好,我是你的技术探路者郑洪智,你可以叫我大智(vx: zhz11235). 源码地址 https://github.com ...

  3. 百度语音识别+百度ERNIE-Gram+pyaudio麦克风录音(NLP自然语言处理)

    1.pyaudio安装及通过pyaudio实现录音 pip install pyaudio 在conda环境中安装没有报错 实现录音的代码如下: # -*- coding: utf-8 -*- fro ...

  4. python使用百度语音识别API注意事项

    代码如下: # -*- coding:utf-8 -*- #http://blog.csdn.net/happen23/article/details/45821697 #百度语音识别API的使用样例 ...

  5. 树莓派百度语音识别+图灵机器人对话聊天机器人

    硬件 树莓派3B.USB声卡.麦克.USB音响 软件 python.百度语音识别API.图灵机器人.espeak 树莓派官方系统自带python环境.注册百度语音识别开发者账号,获取api key. ...

  6. 与图灵机器人进行语音对话(Java)(百度语音识别/合成)

    使用Java编写一个与图灵机器人进行对话的工具. 但图灵机器人只支持文本对话,并不支持语音交互,所以本程序运用了第三方库百度语音识别/合成,来实现语音交互. 我们还可以将下载好的音乐放入指定文件夹,进 ...

  7. Android——百度语音识别

    最近搞了一些关于语音的开发,我做的项目使用的讯飞的语音识别,但是有一个问题是讯飞的语音唤醒和离线语音合成是收费的,并且费用还不低,对于一般的小公司或者个人开发的小APP,还是很有压力的.百度语音识别的 ...

  8. 语音听写与合成--(讯飞语音识别与合成百度语音识别)

    目前比较厉害的国内免费开源的语音识别库主要就是:讯飞和百度,本篇博客也是关于这两家SDK的使用. 讯飞语音开放平台:http://doc.xfyun.cn/msc_android/299547 讯飞平 ...

  9. javaMP3转pcm 百度语音识别

    不多说直接贴代码 import com.baidu.aip.speech.AipSpeech; import javazoom.spi.mpeg.sampled.file.MpegAudioFileR ...

最新文章

  1. gearman php 进程守护,用 Gearman 分发 PHP 应用程序的工作负载
  2. thrift数据类型
  3. 【数字信号处理】线性常系数差分方程 ( 概念 | 线性常系数差分方程解法 )
  4. 现存问题以及解决方案:在ASP.NET AJAX中从客户端向服务器端传送DataTable
  5. android 验证输入,最佳实践:输入验证(Android)
  6. 最大团问题-分支界限法
  7. Arquillian变色龙。 简化您的Arquillian测试
  8. leetcode1423. 可获得的最大点数
  9. python自定义函数func_python自定义函数与面向对象
  10. re匹配字符串的中间一段_爬虫利器之 re 模块
  11. ubuntu-12.04.4-server安装
  12. ChartControl控件
  13. 电脑快捷启动工具 Lily5.1
  14. java实现 图片转ico
  15. 安卓AS一键发布到蒲公英
  16. ios 下拉菜单Menu
  17. 外汇天眼:央行人民币降息意味着什么?有什么影响?
  18. Js 日期字符串分别截取 年 月 日 时 分 秒
  19. 用ultraiso安装linux系统教程,U盘安装Ubuntu 12.10 图文教程(ultraiso)
  20. 撕不撕?如何撕?跟谁撕?权力游戏致胜手册

热门文章

  1. AST中traverse与visitor使用
  2. Django应用程序实例,login()
  3. Iperf3测速教程
  4. 2022强网拟态pwn-webheap
  5. python之@property
  6. 基于Unity3D的相机功能的实现(一)——VR相机
  7. SWIG学习记录(一)SWIG基础
  8. html2canvas截取html图片时,图片是空白图片
  9. python十进制小数转二进制_关于十进制小数转二进制的入门教程
  10. isdigit python函数什么意思_Python isdigit() 方法检测字符串是否只由数字组成