![51b703849c14cd0cb69c8388b77c5109.png](https://i-blog.csdnimg.cn/blog_migrate/d2906aa6c912f7fcfc632025d7c98fd9.jpeg)
正文
是不是看到标题感觉很高大上?其实就是人工智障啦hhh~,本篇文档是典型的标题党,虽然是人工智能,但是没有算法,只是站在巨人的肩膀上而已。
好了,步入正题。此篇是人工智能应用的重点,只用现成的技术不做底层算法,也是让初级程序员快速进入人工智能行业的捷径。目前市面上主流的AI技术提供公司有很多,比如百度,阿里,腾讯,主做语音的科大讯飞,做只能问答的图灵机器人等等。。。这些公司投入了很大一部分财力物力人力将底层封装,提供应用接口给我们,尤其是百度,完全免费的接口。既然百度这么仗义,咱们就不要浪费掉怎么好的资源,从百度AI入手,开启人工智能之旅。
一、开启人工智能大门
传送门
创建一个百度语音的应用
首先需要登录百度云,接着进入我的控制台,打开百度语音,进入语音应用管理界面,创建一个新的应用
![199748ad17c87595f108f5853e261353.png](https://i-blog.csdnimg.cn/blog_migrate/e620d6ce6aec134b838b00bd3323b506.jpeg)
![4962d3dbc6cbc45fcef826801f00f832.png](https://i-blog.csdnimg.cn/blog_migrate/0108f955d33688e9d185b65a52d4b12e.jpeg)
![4d2f80f771c3ab4db9744958a5bcffaf.png](https://i-blog.csdnimg.cn/blog_migrate/a511076603d61107a80681827e075b1c.jpeg)
接着就能看到自己创建的应用啦
![004903d2d8d185f6f03fa1a21ae255b3.png](https://i-blog.csdnimg.cn/blog_migrate/712ac12daf50480ecfd5d8a9ac8eebad.png)
这里面有三个值 AppID , API Key , Secret Key 记住可以从这里面看到 , 在之后的学习中我们会用到
好了 百度语音的应用已经创建完成了 接下来 我会用Python 代码作为实例进行应用及讲解
安装百度的人工智能SDK
- 首先咱们要 pip install baidu-aip 安装一个百度人工智能开放平台的Python SDK实在是太方便了,这也是为什么我们选择百度人工智能的最大原因
语音合成
- 安装好后我们先来测试下,语音合成功能。
- 具体参数,不详尽之处请看官方文档:传送门
- 这一步会生成一个名字为audio.m4a的文件
from
二、语音识别
安装音频转换工具FFmpeg
- 声音这个东西格式太多样化了,如果要想让百度的SDK识别咱们的音频文件,就要想办法转变成百度SDK可以识别的格式PCM。
- 这里我们选择的是FFmpeg ,下载好后配置好环境变量。
- 即可在CMD中使用
ffmpeg -y -i audio.m4a -acodec pcm_s16le -f s16le -ac 1 -ar 16000 audio.pcm
![c40adca60a1a114ca439b47cdc2872ce.png](https://i-blog.csdnimg.cn/blog_migrate/ea8c6a1d6e5183fbc70f640a6bf6c805.jpeg)
- 接着在文件夹中就可以看到pcm格式的文件了
![c1262d9c57a97e267e9afce9b8f11625.png](https://i-blog.csdnimg.cn/blog_migrate/7aff1e279c2d4d7aa1b033fb233c84b6.png)
百度语音识别SDK应用
- 好了准备工作都做好了就开始到正式接触人工智障了
- asr函数需要四个参数,第四个参数可以忽略,自有默认值,参照一下这些参数是做什么的
- 第一个参数: speech 音频文件流 建立包含语音内容的Buffer对象, 语音文件的格式,pcm 或者 wav 或者 amr。(虽说支持这么多格式,但是只有pcm的支持是最好的) 第二个参数: format 文件的格式,包括pcm(不压缩)、wav、amr (虽说支持这么多格式,但是只有pcm的支持是最好的) 第三个参数: rate 音频文件采样率 如果使用刚刚的FFmpeg的命令转换的,你的pcm文件就是16000 第四个参数: dev_pid 音频文件语言id 默认1537(普通话 输入法模型)
![70008e5c5dc926ea12dcf62bdb08d762.png](https://i-blog.csdnimg.cn/blog_migrate/74148c0c9d0c2c4ef5964103635cbdf0.png)
from
- 接着来看看返回值
![93c32bbfe8fc024143a4268ec844df3d.png](https://i-blog.csdnimg.cn/blog_migrate/ce90e41f392fe902cba2c92f63355003.png)
成功的dict中 result 就是我们要的识别文本
失败的dict中 err_no 就是我们要的错误编码,错误编码代表什么呢?
![99252b9d125ba949f727a436739d1df7.png](https://i-blog.csdnimg.cn/blog_migrate/41e198028f4aa25fe10850d01a00b804.jpeg)
如果err_no不是0的话,就参照一下错误码表
到此百度AI语音部分的调用就结束了,是不是感觉很简单。