本文采用百度云语音识别API接口,实现低于60s音频的语音识别,也可以用于合成文本长度小于1024字节的音频,此外采用snowboy离线语音唤醒引擎可实现离线语音唤醒,实现语音交互。基于本内容可实现语音控制小车,语音控制音箱、语音交互。。。
可以查看我的github获取更多信息:https://github.com/dalinzhangzdl/AI_Car_Raspberry-pi
一、 百度云语音识别 python-SDK的安装
工欲善其事必先利其器,下面先来武装一下自己,申请属于自己的百度AI开发者账号,安装SDK(Software Development Kit,软件开发工具包)。
1、进入百度云平台,进入百度语音控制台后,创建自己的应用,获取属于你的ID号和密钥:
APP_ID = ‘114xxxx5’
API_KEY = ‘NYIvd23qqGAZxxxxxxxxxxxxxxx’
SECRET_KEY = ‘DcQWQ9Hxxxxxxxxxxxxxxxxxxxxxx’
2、SDK的下载与安装
应用创建完成后下载相应的开发SDK,这里采用python开发,下载python-SDK即可

SDK的安装:
将下载的SDK包拷贝到树莓派pi目录下,终端界面解压安装,安装过程如下:
解压包:unzip aip-python-sdk-2.0.0.zip
安装SDK包: sudo pip install baidu-aip


遵循以上步骤操作,就搭建好属于自己的语音识别和语音合成平台,再添加一个麦克风和一个喇叭或者音箱就可以进行语音识别方面的开发了,语音控制小车,控制智能家电等。

二、Python-SDK 实现语音识别和语音合成
1、python-SDK实现语音识别
遵循SDK文档进行快速开发,务必阅读文档。如果对自己的录音进行测试,需先采用格式工厂对录音文件进行转换,确保录音的音频参数符合云语音识别的要求。单通道、采样频率为16K PCM格式,也可先直接采用官方的音频进行测试。
程序如下:

#_*_ coding:UTF-8 _*_
# @author: zdl
# 百度云语音识别Demo,实现对本地语音文件的识别。
# 需安装好python-SDK,录音文件不不超过60s,文件类型为wav格式。
# 音频参数需设置为 单通道 采样频率为16K PCM格式 可以先采用官方音频进行测试# 导入AipSpeech  AipSpeech是语音识别的Python SDK客户端
from aip import AipSpeech
import os''' 你的APPID AK SK  参数在申请的百度云语音服务的控制台查看'''
APP_ID = '114xxxx5'
API_KEY = 'NYIvd23qqGAZxxxxxxxxxxxxxxx'
SECRET_KEY = 'DcQWQ9Hxxxxxxxxxxxxxxxxxxxxxx'# 新建一个AipSpeech
client = AipSpeech(APP_ID, API_KEY, SECRET_KEY)# 读取文件
def get_file_content(filePath):   #filePath  待读取文件名with open(filePath, 'rb') as fp:return fp.read()def stt(filename):         # 语音识别# 识别本地文件result = client.asr(get_file_content(filename),'wav',16000,{'dev_pid': 1536,}      # dev_pid参数表示识别的语言类型 1536表示普通话)print result# 解析返回值,打印语音识别的结果if result['err_msg']=='success.':word = result['result'][0].encode('utf-8')       # utf-8编码if word!='':if word[len(word)-3:len(word)]==',':print word[0:len(word)-3]with open('demo.txt','w') as f:f.write(word[0:len(word)-3])f.close()else:print (word.decode('utf-8').encode('gbk'))with open('demo.txt','w') as f:f.write(word)f.close()else:print "音频文件不存在或格式错误"else:print "错误"# main函数 识别本地录音文件yahboom.wav
if __name__ == '__main__':stt('test.wav')

2、python-SDK实现语音合成
语音合成较语音识别简单,合成文本长度必须小于1024字节,如果本文长度较长,可以采用多次请求的方式。下面是合成本地文件demo程序:

#_*_ coding:UTF-8 _*_
# @author: zdl
# 百度云语音合成Demo,实现对本地文本的语音合成。
# 需安装好python-SDK,待合成文本不超过1024个字节
# 合成成功返回audio.mp3 否则返回错误代码# 导入AipSpeech  AipSpeech是语音识别的Python SDK客户端
from aip import AipSpeech
import os''' 你的APPID AK SK  参数在申请的百度云语音服务的控制台查看'''
APP_ID = '114xxxx5'
API_KEY = 'NYIvd23qqGAZxxxxxxxxxxxxxxx'
SECRET_KEY = 'DcQWQ9Hxxxxxxxxxxxxxxxxxxxxxx'# 新建一个AipSpeech
client = AipSpeech(APP_ID, API_KEY, SECRET_KEY)# 将本地文件进行语音合成
def tts(filename):f = open(filename,'r')command = f.read()if len(command) != 0:word = commandf.close()result  = client.synthesis(word,'zh',1, {'vol': 5,'per':0,})# 合成正确返回audio.mp3,错误则返回dict if not isinstance(result, dict):with open('audio.mp3', 'wb') as f:f.write(result)f.close()print 'tts successful'# mainif __name__ == '__main__':tts('demo.txt')

树莓派实现语音识别与语音合成——百度云语音识别API相关推荐

  1. QT 基于 百度云语音识别, 基于网易API 接口的歌曲查询,的音乐播放器。

    1.成果展示: 2.界面操作提示 1.  2种方法把歌曲加入列表, 第一种加入本地资源,第二种 加入网上搜索的歌曲 2.  加入本地资源,点击图片  +  ,然后再本地资源里面添加歌曲 3.  网上搜 ...

  2. 九十三、Python使用百度云接口API实现截图,文字识别和语音合成

    @Author:Runsen @Date:2020/7/13 人生最重要的不是所站的位置,而是内心所朝的方向.只要我在每篇博文中写得自己体会,修炼身心:在每天的不断重复学习中,耐住寂寞,练就真功,不畏 ...

  3. 使用百度云接口API和人脸库完成本地合影图片的多人脸识别--V3版接口Python语言

    百度接口人脸检测,识别率很高,而且操作简单.网上百度还未见到借助百度云接口API和人脸库完成本地合影图片的多人脸识别,本人编写的代码可以实现,但觉得不够简洁,代码数还可以精减,欢迎交流. 1.准备工作 ...

  4. python使用百度云的API识别图片中的文字

    python使用百度云的API识别图片中的文字 # coding=utf-8import sys import json import base64IS_PY3 = sys.version_info. ...

  5. 百度云 php api接口调用 签名计算

    本文介绍百度智能云 计算签名 公共头 调用api接口调用: post请求示例 require "auth.php"; //此文件是百度云官网提供实例,下方可直接粘贴使用. // 第 ...

  6. linux 百度云 备份软件下载,百度云存储api实现文件分享及linux下的备份上传

    这次讲解下,百度网盘的api使用方法,一个让我们可以把linux上的文件传到一个强大又免费的空间上... 为啥会研究这个? 偶然,一定是偶然.要是想从服务器里面把东西传出来,反正就是把东西搞出来.以前 ...

  7. 基于树莓派的语音识别和语音合成

    基于树莓派的语音识别和语音合成 摘要 语音识别技术即Automatic Speech Recognition(简称ASR),是指将人说话的语音信号转换为可被计算机程序所识别的信息,从而识别说话人的语音 ...

  8. 调用百度语音识别接口实现语音识别与语音合成

    目标: 1.学习使用百度AI开放平台进行语音识别与语音合成 百度AI有两种开发方式:REST, SDK;    本文使用的是REST api+python进行开发 文档地址:https://ai.ba ...

  9. ESP32接入百度智能云语音识别,实现在线语音识别

    一.概述   使用ESP32接入百度智能云实现在线语音识别.实现最基本的语音识别功能还是很简单的,但还是遇到了一些小问题,在这记录一下.   使用了max9814麦克风模块用做语音输入,一个按键来控制 ...

最新文章

  1. 银行的清算、清分、结算、对账
  2. 小创业项目组的管理和实践:快速迭代的思考
  3. sys.stdin.read和raw_input函数
  4. 区别不同浏览器,CSS hack写法
  5. 不同网段通过静态路由实现互通,华为S5700交换机开启SSH远程指定IP登陆配置(强烈推荐)
  6. CAS+SSO原理浅谈
  7. Linux下编程获取本地IP地址的常见方法
  8. 动易生成栏目时报错“您的栏目页模板有误,缺少小类模板!”,一个解决办法...
  9. layui,返回的数据不符合规范,正确的成功状态码 (code) 应为:0
  10. jmeter TCP接口压力测试
  11. Chrome将网页背景变成黑色(真正的夜间模式、深色模式)
  12. js截取中英文字符串
  13. ioi 赛制_编程大神IOI2019国家队第二名是什么概念?全球知名算法竞赛网站列中国选手第二名!...
  14. pandas与csv的用法笔记
  15. kubernetes(k8s)全面介绍
  16. centos7.4下Jira6环境部署及破解操作记录(完整版)
  17. 如何获取三维标签的轮廓表示
  18. FFmpeg源码分析:resample重采样
  19. 企业订货管理系统定制开发的作用|手机订货系统的说明
  20. 利用PowerQuest PartitionMagic 对硬盘进行重新分区

热门文章

  1. 标识符,关键字和分隔符
  2. 采用百度地图|js实现行车轨迹、覆盖类等。
  3. 2023山东老博会/第五届中国(济南)国际养老服务业展览会
  4. 区块链技术4:密码学之哈希
  5. Java8中计算日期时间差
  6. 【MySQL】高性能高可用表设计实战-表设计篇(MySQL专栏启动)
  7. MATLAB绘制空间曲线和曲面图像
  8. python怎么写自己的名字_用python写一个序列图改名工具
  9. 最火的计算机病毒 熊猫烧香,熊猫烧香-世界知名计算机病毒排行榜-天天排行网...
  10. QQ在线状态查询服务