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计算程序运行时间的方法
Dec 13 Python
详解Python中break语句的用法
May 14 Python
详解Python命令行解析工具Argparse
Apr 20 Python
对python3 中方法各种参数和返回值详解
Dec 15 Python
Python二进制文件读取并转换为浮点数详解
Jun 25 Python
python中tkinter的应用:修改字体的实例讲解
Jul 17 Python
python模拟键盘输入 切换键盘布局过程解析
Aug 15 Python
Python自动化完成tb喵币任务的操作方法
Oct 30 Python
python关闭占用端口方式
Dec 17 Python
Python concurrent.futures模块使用实例
Dec 24 Python
PyQt5 文本输入框自动补全QLineEdit的实现示例
May 13 Python
用Python爬取某乎手机APP数据
Jun 15 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
让你的WINDOWS同时支持MYSQL4,MYSQL4.1,MYSQL5X
2006/12/06 PHP
php使用百度天气接口示例
2014/04/22 PHP
解析PHP的Yii框架中cookie和session功能的相关操作
2016/03/17 PHP
阿里云PHP SMS短信服务验证码发送方法
2017/07/11 PHP
JavaScript的parseInt 进制问题
2009/05/07 Javascript
再谈javascript面向对象编程
2012/03/18 Javascript
JavaScript 函数参数是传值(byVal)还是传址(byRef) 分享
2013/07/02 Javascript
使用jQuery解决IE与FireFox下createElement方法的差异
2013/11/14 Javascript
在javascript中执行任意html代码的方法示例解读
2013/12/25 Javascript
javascript与有限状态机详解
2014/05/08 Javascript
js 操作符汇总
2014/11/08 Javascript
详解基于angular路由的requireJs按需加载js
2017/01/20 Javascript
javascript 正则表达式去空行方法
2017/01/24 Javascript
jQuery中on方法使用注意事项详解
2017/02/15 Javascript
JS实现模糊查询带下拉匹配效果
2018/06/21 Javascript
antd组件Upload实现自己上传的实现示例
2018/12/18 Javascript
node.js实现上传文件功能
2019/07/15 Javascript
Javascript Dom元素获取和添加详解
2019/09/24 Javascript
express中static中间件的具体使用方法
2019/10/17 Javascript
vue使用prop可以渲染但是打印台报错的解决方式
2019/11/13 Javascript
javascript实现倒计时效果
2020/02/17 Javascript
详解Vue之计算属性
2020/06/20 Javascript
[08:07]DOTA2每周TOP10 精彩击杀集锦vol.8
2014/06/25 DOTA
Python实现简单的获取图片爬虫功能示例
2017/07/12 Python
python里运用私有属性和方法总结
2019/07/08 Python
Python3.7下安装pyqt5的方法步骤(图文)
2020/05/12 Python
HTML5 progress和meter控件_动力节点Java学院整理
2017/07/06 HTML / CSS
介绍一下ICMP(Internet Control Message Protocol)Internet控制信息协议
2016/11/26 面试题
计算机应用专业应届毕业生中文求职信范文
2013/11/29 职场文书
《圆明园的毁灭》教学反思
2014/02/28 职场文书
同居协议书范本
2014/04/23 职场文书
学校工作推荐信范文
2014/07/11 职场文书
2014班子成员自我剖析材料思想汇报
2014/10/01 职场文书
2014年检验科工作总结
2014/11/22 职场文书
社会治安综合治理责任书
2015/01/29 职场文书
Nginx访问日志及错误日志参数说明
2021/03/31 Servers