Python人工智能第一篇:语音合成和语音识别

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

首先进入控制台,注册一个百度的账号(百度账号通用);打开百度语音,进入语音应用管理界面

创建一个新的应用;

创建语音应用App

就可以创建应用了,回到应用列表我们可以看到已创建的应用了

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

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

一.安装百度的人工智能SDK:

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

安装完成之后就来测试一下:

语音合成

# -*- coding: utf-8 -*-

# @Time : 2019/9/28 11:01

# @Author : AnWen

from aip import AipSpeech

""" 你的 APPID AK SK """

APP_ID = '你的 App ID'

API_KEY = '你的 Api Key'

SECRET_KEY = '你的 Secret Key'

client = AipSpeech(APP_ID, API_KEY, SECRET_KEY)

# 详细参数可看python sdk 文档

result = client.synthesis('你好百度', 'zh', 1, {

'vol': 5,#音量,取值0-15,默认为5中音量

'per': 3,#发音人选择, 0为女声,1为男声,3为情感合成-度逍遥,4为情感合成-度丫丫,默认为普通女

'spd': 7, #语速,取值0-15,默认为5中语速

})

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

if not isinstance(result, dict):

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

f.write(result)

# 在工程目录下,就可以看到 audio.mp3 这个文件了,来听一听

语音识别

百度的SDK识别咱们的音频文件,就要想办法转变成百度SDK可以识别的格式PCM,

可以实现自动化转换格式并且屡试不爽的工具 : FFmpeg 这个工具的下载地址是 : 链接:https://pan.baidu.com/s/1jonSAa_TG2XuaJEy3iTmHg 密码:w6hk

FFmpeg 环境变量配置:

首先你要解压缩,然后找到bin目录,我的目录是 C:fmpegin

尝试一下,是否配置成功:cmd 执行:ffmpeg

看到这个界面就算配置成功了,配置成功有什么用呢, 这个工具可以将wav wma mp3 等音频文件转换为 pcm 无压缩音频文件

然后我们用命令行对这个 audio.wav 进行pcm格式的转换然后得到 audio.pcm

命令是 : ffmpeg -y -i audio.wav -acodec pcm_s16le -f s16le -ac 1 -ar 16000 audio.pcm

百度语音识别SDK的应用:

import os

from aip import AipSpeech

""" 你的 APPID AK SK """

APP_ID = '你的 App ID'

API_KEY = '你的 Api Key'

SECRET_KEY = '你的 Secret Key'

client = AipSpeech(APP_ID, API_KEY, SECRET_KEY)

# 读取文件

def get_file_content(filePath):

os.system(f"ffmpeg -y -i {filePath} -acodec pcm_s16le -f s16le -ac 1 -ar 16000 {filePath}.pcm")

with open(f"{filePath}.pcm", 'rb') as fp:

return fp.read()

# 识别本地文件

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

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

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

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

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

res = client.asr(get_file_content('jttqhbc.m4a'), 'pcm', 16000, {

'dev_pid': 1536,

})

print(res.get("result")[0])

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

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

Python人工智能第一篇:语音合成和语音识别相关推荐

  1. 带你写爬虫(python)第一篇----抓取安徽理工大学新闻网中所有新闻

    最近一直在学习python爬虫,所以一直想写个简单的爬虫教程,所以第一篇就拿母校新闻网官网来练手了,没想到写爬虫的过程还停一波三折的.(后来发现新闻网页面还有访问限制,多次访问后,本机ip就被限制了, ...

  2. 人工智能第一篇--语音识别和语音合成

    1.什么是人工智能? 顾名思义就是由人创造的"智慧能力",具备听说看理解等能力. 听 ==语音识别 说 ==语音合成 看 ==图像视频文字识别 理解 ==语言(文字)图像视频理解等 ...

  3. [Python笔记]第一篇:基础知识

    本篇主要内容有:什么是python.如何安装python.py解释器解释过程.字符集转换知识.传参.流程控制 初识Python 一.什么是Python Python是一种面向对象.解释型计算机程序设计 ...

  4. python自学视频-师傅带徒弟学Python:第一篇Python基础视频课程

    ,赠送一本"Python相关图书". 咨询方式:加[51CTO-关老师付费群]523714201 验证消息:咨询赠书 本视频采用Python 3.x版 本篇包括8章内容,系统介绍了 ...

  5. Python开发第一篇 基础篇(下)

    一.python种类 1.1 Cpython python官方版本,使用c语言实现,运行机制:先编译,py(源码文件)->pyc(字节码文件),最终执行时先将字节码转换成机器码,然后交给cpu执 ...

  6. python shell怎么打开测试,python脚本第一篇,运行时间测试

    第一步:熟悉APP启动命令 冷/热启动APP命令 :adb shell am start –W –n package/activity 比如 adb shell am start –W –n com. ...

  7. Python【第一篇】python安装、pip基本用法、变量、输入输出、流程控制、循环

    了解python底层(需要C基础) :python源码剖析 一.python安装 Ubuntu下 系统版本已经同时安装了python2和python3 如果没有python3,可以参考这个貌似是印度阿 ...

  8. python可视化第一篇——基于matplotlib库

    下文主要内容来自课堂讲义,由本人整理. 1. 画图前准备 1.1 pip安装pandas.numpy.plt库: 1.2 中文显示问题: win系统直接添加: plt.rcParams['font.s ...

  9. python 基础命令-Python unittest第一篇:基础入门+命令行编译

    unittest单元测试框架最初受JUnit启发,与其他语言的主要单元测试框架具有相似的风格. 它支持测试自动化,支持开启或关闭某个测试,支持结合测试.另外它可以生成各个单元测试的报告.为了实现以上功 ...

最新文章

  1. IE9,IE10,IE11下当Content-type为application/json时,打开接口会出现下载弹框
  2. at( ) [ ]
  3. 一行命令让ElasticSearch支持中文分词搜索
  4. Spring Cloud Zuul网关(快速搭建)
  5. 前端工程师技术精进路上,你被卡在哪里了?
  6. 思杰技术的论坛网址(转)
  7. 实战Scribe日志搜集和数据分析
  8. 【资源共享】《RK3399 VR Sensor 开发指南》
  9. python--os模块
  10. php curl模拟织梦登录,PHP 模拟浏览器 CURL 采集阿里巴巴
  11. 新版代shua社区源码(云商城1.0)
  12. NameCheap域名和Amazon EC2
  13. 数字图像/视频处理MATLAB基本操作
  14. 嗯,我是一个偏执狂。
  15. 如何使用mtPaint制作像素艺术和GIF动画
  16. 分享一个android手机开不了机的问题
  17. 七彩虹SL500 闪迪05141开卡
  18. No application encryption key has been specified laravel
  19. C语言实现Prim算法与Kruskal算法(浙大 陈越版)
  20. 《计算机网络》复习第一章(大部分内容来自课本,部分来自个人补充)

热门文章

  1. BZOJ3073: [Pa2011]Journeys
  2. Vagrant 构建 LNMP 一致环境
  3. HashMap(JDK1.8)
  4. spring data mongodb CURD
  5. Unix/Linux Command Reference
  6. Python collection模块与深浅拷贝
  7. PageRank三个博客mark
  8. UVA10523 Very Easy !!!题解
  9. 计算机科学 —— 冯诺依曼结构
  10. 分蛋糕问题 —— 9 个烧饼分给 10 个人