Python结合百度语音识别实现实时翻译软件的实现


Posted in Python onJanuary 18, 2021

一、所需库安装

Python结合百度语音识别实现实时翻译软件的实现

pip install PyAudio
pip install SpeechRecognition
pip install baidu-aip
pip install Wave
pip install Wheel
pip install Pyinstaller

二、百度官网申请服务

Python结合百度语音识别实现实时翻译软件的实现

三、源代码分享

import pyaudio
import wave
from aip import AipSpeech
import time




# 用Pyaudio库录制音频
#  out_file:输出音频文件名
#  rec_time:音频录制时间(秒)
def audio_record(out_file, rec_time):
  CHUNK = 1024
  FORMAT = pyaudio.paInt16 # 16bit编码格式
  CHANNELS = 1 # 单声道
  RATE = 16000 # 16000采样频率

  p = pyaudio.PyAudio()
  # 创建音频流
  stream = p.open(format=FORMAT, # 音频流wav格式
          channels=CHANNELS, # 单声道
          rate=RATE, # 采样率16000
          input=True,
          frames_per_buffer=CHUNK)

  print("开始记录语音{0}秒后开始识别...".format(rec_time))

  frames = [] # 录制的音频流
  # 录制音频数据
  for i in range(0, int(RATE / CHUNK * rec_time)):
    data = stream.read(CHUNK)
    frames.append(data)

  # 录制完成
  stream.stop_stream()
  stream.close()
  p.terminate()

  print("结束识别")

  # 保存音频文件
  wf = wave.open(out_file, 'wb')
  wf.setnchannels(CHANNELS)
  wf.setsampwidth(p.get_sample_size(FORMAT))
  wf.setframerate(RATE)
  wf.writeframes(b''.join(frames))
  wf.close()


def audio_recog(recogFile):
  # 读取文件
  def get_file_content(filePath):
    with open(filePath, 'rb') as fp:
      return fp.read()


  # 识别本地文件
  result = client.asr(get_file_content(recogFile), 'wav', 16000, {'dev_pid': 1537,})
  return result

def write_file(file,text):
  import time
  time = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
  f = open(file, 'a')
  f.write(time+':'+text+'\n')
  f.close()

audioFile="audio.wav"
textFile="识别结果.txt"

""" 你的 APPID AK SK """
APP_ID = '你的APP_ID'
API_KEY = '你的API_KEY'
SECRET_KEY = '你的SECRET_KEY'

client = AipSpeech(APP_ID, API_KEY, SECRET_KEY)


if __name__ == '__main__':
  while True:
    audio_record(audioFile, 5)
    textResult = audio_recog("audio.wav")
    if textResult['err_msg'] =="success.":
      print(textResult['result'])
      write_file(textFile,str(textResult['result']))

四、打包成软件

进入到目录执行下面命令:

pyinstaller -F main.py

到此这篇关于Python结合百度语音识别实现实时翻译软件的实现的文章就介绍到这了,更多相关Python 实时翻译软件内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python获取网页状态码示例
Mar 30 Python
在Python的Django框架中创建和使用模版
Jul 15 Python
对numpy的array和python中自带的list之间相互转化详解
Apr 13 Python
解决python删除文件的权限错误问题
Apr 24 Python
对python制作自己的数据集实例讲解
Dec 12 Python
浅析python的Lambda表达式
Feb 27 Python
使用pandas实现连续数据的离散化处理方式(分箱操作)
Nov 22 Python
python3 图片 4通道转成3通道 1通道转成3通道 图片压缩实例
Dec 03 Python
python用opencv完成图像分割并进行目标物的提取
May 25 Python
python时间time模块处理大全
Oct 25 Python
python Cartopy的基础使用详解
Nov 01 Python
关于python中remove的一些坑小结
Jan 04 Python
用Python自动清理系统垃圾的实现
Jan 18 #Python
详解Python爬虫爬取博客园问题列表所有的问题
Jan 18 #Python
python爬虫爬取图片的简单代码
Jan 18 #Python
python中用Scrapy实现定时爬虫的实例讲解
Jan 18 #Python
java关于string最常出现的面试题整理
Jan 18 #Python
python爬虫实现爬取同一个网站的多页数据的实例讲解
Jan 18 #Python
python中四舍五入的正确打开方式
Jan 18 #Python
You might like
用php实现的下载css文件中的图片的代码
2010/02/08 PHP
Windows下的PHP安装文件线程安全和非线程安全的区别
2014/04/23 PHP
解决php表单重复提交实现方法
2015/09/29 PHP
Yii CDBCriteria常用方法实例小结
2017/01/19 PHP
详解PHP使用日期时间处理器Carbon人性化显示时间
2017/08/10 PHP
JavaScript 模仿vbs中的 DateAdd() 函数的代码
2007/08/13 Javascript
JavaScript 加号(+)运算符号
2009/12/06 Javascript
利用JQuery和JS实现奇偶行背景颜色自定义效果
2012/11/19 Javascript
JQGrid的用法解析(列编辑,添加行,删除行)
2013/11/08 Javascript
通过url查找a元素应用案例
2014/04/29 Javascript
使用jsonp完美解决跨域问题
2014/11/27 Javascript
对Web开发中前端框架与前端类库的一些思考
2015/03/27 Javascript
Javascript将字符串日期格式化为yyyy-mm-dd的方法
2016/10/27 Javascript
JS中位置与大小的获取方法
2016/11/22 Javascript
canvas实现钟表效果
2017/02/13 Javascript
vue之数据交互实例代码
2017/06/16 Javascript
axios 处理 302 状态码的解决方法
2018/04/10 Javascript
教你如何编写Vue.js的单元测试的方法
2018/10/17 Javascript
Python数据结构与算法之图结构(Graph)实例分析
2017/09/05 Python
python使用xpath中遇到:到底是什么?
2018/01/04 Python
Numpy中stack(),hstack(),vstack()函数用法介绍及实例
2018/01/09 Python
docker-py 用Python调用Docker接口的方法
2019/08/30 Python
python tkinter之 复选、文本、下拉的实现
2020/03/04 Python
plt.figure()参数使用详解及运行演示
2021/01/08 Python
canvas环形倒计时组件的示例代码
2018/06/14 HTML / CSS
美国设计师精美珠宝购物网:Netaya
2016/08/28 全球购物
计算 s=(x*y)1/2,用两个宏定义来实现
2016/08/11 面试题
IBatis持久层技术
2016/07/18 面试题
顺丰快递Java软件工程师面试题
2015/07/31 面试题
会计电算化专业毕业生推荐信
2013/12/24 职场文书
计算机专业毕业生自荐信
2013/12/31 职场文书
德语专业求职信
2014/03/12 职场文书
综合素质自我评价怎么写
2014/09/14 职场文书
2016秋季运动会前导词
2015/11/25 职场文书
幼儿园六一儿童节开幕词
2016/03/04 职场文书
2019商业计划书格式、范文
2019/04/24 职场文书