一、功能概述

实现语音为文字,可以扩展到多种场景进行工作,这里只实现其基本的语言接收及转换功能。
在语言录入时,根据语言内容的多少与停顿时间,自动截取音频进行转换。
工作示例:

二、软件环境

  • 操作系统:win10
  • 语言:Python 版本:3.6.0
  • Python库:AipSpeech(百度语音识别SDK客户端),wave,PyAudio,paInt16

    ###Python库安装:除百度为:pip install baidu-aip,其他直接 pip install *(库名) 即可。

三、原理概述

利用wave,PyAudio搭建一个wav格式的简易录音机,基于百度API进行wav格式的音频转文本。

  • 简易录音机类(WWAV)有__save_wave_file音频文件保存方法与my_record音频录制方法。在录制音频的方法中,加入了有效音频测试的代码,可以测试一小段时间内是否有有效音频输入,否则退出音频录制。
  • 转换类(Translation)则为__get_file_content方法与get_word音频转换主方法。

四、核心代码

my_record音频录制方法(WWAV类)

def my_record(self,TIME = 60,INTERVAL = 5):'''录制并保存音频文件,TIME录制时间,INTERVAL测试间隔'''pa=PyAudio()tr = Translation()stream=pa.open(format = paInt16,channels=self.__channels,rate=self.__framerate,input=True,frames_per_buffer=self.__NUM_SAMPLES)my_buf=[] # 主音频源buf=[] # 测试音频源i=0while i < TIME*2: #控制录音时间string_audio_data = stream.read(self.__NUM_SAMPLES)  # 获取音频片段my_buf.append(string_audio_data)if i < INTERVAL*2:buf.append(string_audio_data)i += 1elif i == INTERVAL*2:self.__save_wave_file('00.wav',buf) # 保存测试音频err,a = tr.get_word('00.wav') # 得到测试音频是否有效if err == 0:breaki = 0 # 初始化buf = [] # 同上print('.',end = ' ')self.__save_wave_file('01.wav',my_buf)stream.close()

get_word音频转换方法(Translation类)

def get_word(self,filePath):'''音频转文字,参数filePath为wav音频地址,返回双值:状态(1为转换成功)及转换后文本或错误信息'''word = self.__client.asr(self.__get_file_content(filePath),'wav',8000,{'lan': 'zh'}) # 参数:语音对象,文件格式,采样率,语种类型if word['err_no'] == 0: # 错误值为0(即正确)return 1,word['result'][0] # 返回 1 与 文本信息else:return 0,word['err_no'] # 否则返回 0 与 错误内容

源码

GitHub地址

附:我又回来了,这个是不是大项目,正在写,敬请期待!寒假会更一些学习笔记,一起加油

以上

转载于:https://www.cnblogs.com/mxwbq/p/8323193.html

基于百度语音识别API的Python语音识别小程序相关推荐

  1. 小程序服务器七牛云,基于七牛云 API 开发的微信小程序 SDK

    概述 Qiniu-wxapp-SDK 是七牛云在小程序上的实现,网络功能依赖于微信小程序 API.您可以基于 SDK 方便的在小程序中上传文件至七牛云. Qiniu-wxapp-SDK  为客户端 S ...

  2. 基于百度翻译API和python的批量地名翻译的实现

    这次接到一个需求,需要把postgresql数据库中批量的地名进行翻译,大约200多个,自己翻译也非常的慢.于是想到用百度翻译的API对数据库的数据逐条进行翻译.正好也在学习Python语言,正好可以 ...

  3. 基于百度地图API在AI Studio上的卫星地图块图像处理与分类

    基于百度地图API在AI Stduio上的瓦片地图块图像处理与分类 项目介绍 本项目基于百度地图API获取了不同的瓦片地图并进行合并等处理,可用于遥感和抽象地图的地图块的图像分类.分割.检测等数据的制 ...

  4. 基于百度图像识别api的游戏(coc)辅助工具分析

    基于百度图像识别api的游戏(coc)辅助工具分析 (本代码仅供参考学习使用) 去年国庆放假,没事干,刚学了python 于是就找了这个小项目来练练手 总体来说 难度不大 内容也不多 几百行搞定 (删 ...

  5. 基于百度翻译API的node插件

    基于百度翻译API的node插件 背景 做过国际化的项目就明白要把每处的文案翻译成不同的语言版本,如果只是一点点,自己去百度上翻译成对应语言版本,copy过来就ok了,但是如果这个项目文案特别多的话, ...

  6. (亲测很实用)地理位置批量转经纬度,基于百度地图api

    遇到很多地理位置需要得到其经纬度的时候,又不想或者不会写代码就很恼火, 只能一个一个去搜索去一个个复制 不管你会不会写前后端代码, 使用下面的方法就可以轻松的实现经纬度的批量查询(提示:基于百度地图a ...

  7. 气象地图gis php代码,基于百度地图API实现自动气象站点信息显示

    本栏目责任编辑:代 影数据库与信息管理 ComputerKnowledgeand Technology 电脑知识与技术 第9卷第27期 (2013年09月) 基于百度地图API实现自动气象站点信息显示 ...

  8. 微信小程序编程(1)——使用百度API编写文字识别小程序

    编写思路 要使用百度等第三方API,我们得使用微信小程序提供的wx.request来向第三方平台发起请求,我们看到wx.request的参数属性里面url是必填项,接着我们打开和百度AI平台里面的通用 ...

  9. 基于百度音乐Api的Android高仿音乐播放App可在线试听下载歌词浏览

    基于百度音乐Api的Android高仿音乐播放App可在线试听下载歌词浏览 首先这也是学习过程中开发的一个练手项目,基于百度音乐Api,api在网上搜的,如果想看他的实现,可以下载我的项目来参考.风格 ...

最新文章

  1. 陆奇演讲:人工智能精要
  2. python3实现下载ftp上的文件
  3. optee中的arm64的virt_to_phys的实现
  4. opencv学习笔记2:图像处理基础
  5. 一个免费调用的OData服务,无需用户名密码,适用于SAP UI5的学习
  6. C语言申请内存时堆栈大小限制
  7. CENTOS 7 踢用户_从零学ELK系列(三):Centos安装Docker(超详细图文教程)
  8. 容器宿主机数据库_解决Docker容器内访问宿主机MySQL数据库服务器的问题
  9. 利用Caffe实现mnist的数据训练
  10. 共用数据库和上传的文件的laravel-admin 和 laravel 项目中文件保存路径的配置
  11. 划重点丨详解Java流程控制语句知识点
  12. linux用户管理和群界面怎么打开,Linux的用户和组群管理
  13. [转载] 民兵葛二蛋——第9集
  14. 旷视天元开源图片对比工具 MegSpot,助力图像算法研发
  15. 智能电视linux刷安卓,智能电视安卓盒子刷机ROOT成砖的解决办法
  16. 阿里副总裁玄难:藏经阁计划首次在阿里应用落地
  17. AvgPool2d函数
  18. 一文说清MySQL索引数据结构
  19. C/C++ 函数(最大公约数)
  20. loc入门案例和解读,带你快速了解spring的loc

热门文章

  1. 初识C++之指针与引用
  2. java 对象工厂_Java设计模式之--工厂方式
  3. 【interview17.10】 主要元素:详解
  4. j2me安装_Java第一步 JDK安装
  5. wordcount.java_mapreduce中wordcount的java实现
  6. 一阶系统单位阶跃响应的特点_一阶系统的阶跃响应有什么特点
  7. w7计算机的收藏夹里弄出桌面,Win7电脑桌面的便签怎么弄出来?
  8. java fx border_JavaFx UI控件与代码间的绑定方法
  9. java其他进程,Java进程优先于其他Windows进程
  10. php mail centos_centos怎么发送邮件