python人工智能-Python之人工智能(一)

是不是看到标题感觉很高大上?其实就是人工智障啦hhh~,本篇文档是典型的标题党,虽然是人工智能,但是没有算法,只是站在巨人的肩膀上而已。

好了,步入正题。此篇是人工智能应用的重点,只用现成的技术不做底层算法,也是让初级程序员快速进入人工智能行业的捷径。目前市面上主流的AI技术提供公司有很多,比如百度,阿里,腾讯,主做语音的科大讯飞,做只能问答的图灵机器人等等。。。这些公司投入了很大一部分财力物力人力将底层封装,提供应用接口给我们,尤其是百度,完全免费的接口。既然百度这么仗义,咱们就不要浪费掉怎么好的资源,从百度AI入手,开启人工智能之旅。

一、开启人工智能大门

创建一个百度语音的应用

首先需要登录百度云,接着进入我的控制台,打开百度语音,进入语音应用管理界面,创建一个新的应用

1352940-20180822193942671-1551528946.png

1352940-20180822194454655-493041714.png

1352940-20180822194756453-25033502.png

接着就能看到自己创建的应用啦

1352940-20180822194849083-1510924993.png

这里面有三个值 AppID , API Key , Secret Key 记住可以从这里面看到 , 在之后的学习中我们会用到

好了 百度语音的应用已经创建完成了 接下来 我会用Python 代码作为实例进行应用及讲解

安装百度的人工智能SDK

首先咱们要 pip install baidu-aip 安装一个百度人工智能开放平台的Python SDK实在是太方便了,这也是为什么我们选择百度人工智能的最大原因

语音合成

安装好后我们先来测试下,语音合成功能。

具体参数,不详尽之处请看官方文档:传送门

这一步会生成一个名字为audio.m4a的文件

from aip importAipSpeechimportos

APP_ID= '11711274'API_KEY= 'iL6rNZgPjplCGYQfw86zO2ro'SECRET_KEY= '0YNfOLiAPUgqCL4XxYVoO2oLV37pmByY'client=AipSpeech(APP_ID, API_KEY, SECRET_KEY)

result= client.synthesis('你好啊', 'zh', 1, {"spd": 4,'vol': 8,"pit": 6,"per": 0,

})#识别正确返回语音二进制 错误则返回dict 参照下面错误码

if notisinstance(result, dict):

with open('audio.m4a', 'wb') as f:

f.write(result)else:print(result)

二、语音识别

安装音频转换工具FFmpeg

声音这个东西格式太多样化了,如果要想让百度的SDK识别咱们的音频文件,就要想办法转变成百度SDK可以识别的格式PCM。

这里我们选择的是FFmpeg ,下载好后配置好环境变量。

即可在CMD中使用

ffmpeg -y -i audio.m4a -acodec pcm_s16le -f s16le -ac 1 -ar 16000 audio.pcm

1352940-20180822210924657-1786426217.png

接着在文件夹中就可以看到pcm格式的文件了

1352940-20180822211206146-252214544.png

百度语音识别SDK应用

好了准备工作都做好了就开始到正式接触人工智障了

asr函数需要四个参数,第四个参数可以忽略,自有默认值,参照一下这些参数是做什么的

第一个参数: speech 音频文件流 建立包含语音内容的Buffer对象, 语音文件的格式,pcm 或者 wav 或者 amr。(虽说支持这么多格式,但是只有pcm的支持是最好的)

第二个参数: format 文件的格式,包括pcm(不压缩)、wav、amr (虽说支持这么多格式,但是只有pcm的支持是最好的)

第三个参数: rate 音频文件采样率 如果使用刚刚的FFmpeg的命令转换的,你的pcm文件就是16000

第四个参数: dev_pid 音频文件语言id 默认1537(普通话 输入法模型)

1352940-20180822211556985-1898291267.png

from aip importAipSpeechimportos

APP_ID= '11711274'API_KEY= 'iL6rNZgPjplCGYQfw86zO2ro'SECRET_KEY= '0YNfOLiAPUgqCL4XxYVoO2oLV37pmByY'client=AipSpeech(APP_ID, API_KEY, SECRET_KEY)defget_file_content(filePath):

with open(filePath,'rb') as fp:returnfp.read()

# 识别本地文件

res= client.asr(get_file_content('audio.pcm'), 'pcm', 16000,{'dev_pid': 1536,

})print(

res.get("result")[0]

)

接着来看看返回值

1122946-20180622101657059-512262048.png

成功的dict中 result 就是我们要的识别文本

失败的dict中 err_no 就是我们要的错误编码,错误编码代表什么呢?

1122946-20180622101828905-71243661.png

如果err_no不是0的话,就参照一下错误码表

到此百度AI语音部分的调用就结束了,是不是感觉很简单。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值