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笔记(叁)继续学习
Oct 24 Python
在Django的URLconf中使用多个视图前缀的方法
Jul 18 Python
使用python调用zxing库生成二维码图片详解
Jan 10 Python
python安装numpy&安装matplotlib& scipy的教程
Nov 02 Python
python最长回文串算法
Jun 04 Python
python实现事件驱动
Nov 21 Python
python PrettyTable模块的安装与简单应用
Jan 11 Python
pytz格式化北京时间多出6分钟问题的解决方法
Jun 21 Python
在Python中获取操作系统的进程信息
Aug 27 Python
python安装virtualenv虚拟环境步骤图文详解
Sep 18 Python
python mongo 向数据中的数组类型新增数据操作
Dec 05 Python
Python办公自动化之教你如何用Python将任意文件转为PDF格式
Jun 28 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实现的在线人员函数库
2008/04/09 PHP
PHP中绘制图像的一些函数总结
2014/11/19 PHP
CI框架扩展系统核心类的方法分析
2016/05/23 PHP
PHP获取中国时间(上海时区时间)及美国时间的方法
2017/02/23 PHP
laravel 使用事件系统统计浏览量的实现
2019/10/16 PHP
php+js实现点赞功能的示例详解
2020/08/07 PHP
javascript instanceof,typeof的区别
2010/03/24 Javascript
在UpdatePanel内jquery easyui效果失效的解决方法
2010/04/11 Javascript
用js实现的模拟jquery的animate自定义动画(2.5K)
2010/07/20 Javascript
JavaScript高级程序设计 阅读笔记(二十一) JavaScript中的XML
2012/09/14 Javascript
Js日期选择自动填充到输入框(界面漂亮兼容火狐)
2013/08/02 Javascript
jQuery中校验时间格式的正则表达式小结
2013/09/22 Javascript
JS中FRAME的操作问题实例分析
2014/10/21 Javascript
Nodejs极简入门教程(二):定时器
2014/10/25 NodeJs
JavaScript使用正则表达式获取全部分组内容的方法示例
2017/01/17 Javascript
详解Angular2中Input和Output用法及示例
2017/05/21 Javascript
vue组件横向树实现代码
2018/08/02 Javascript
小程序实现搜索框功能
2020/03/26 Javascript
vue 组件简介
2020/07/31 Javascript
[01:28:43]2014 DOTA2华西杯精英邀请赛5 24 DK VS CIS
2014/05/25 DOTA
[06:16]第十四期-国士无双绝地翻盘之撼地神牛
2014/06/24 DOTA
Python中使用ConfigParser解析ini配置文件实例
2014/08/30 Python
微信跳一跳辅助python代码实现
2018/01/05 Python
Python实现删除排序数组中重复项的两种方法示例
2019/01/31 Python
Python变量类型知识点总结
2019/02/18 Python
Python 异常的捕获、异常的传递与主动抛出异常操作示例
2019/09/23 Python
django 文件上传功能的相关实例代码(简单易懂)
2020/01/22 Python
使用Jupyter notebooks上传文件夹或大量数据到服务器
2020/04/14 Python
大数据分析用java还是Python
2020/07/06 Python
使用CSS3滤镜的filter:blur属性制作毛玻璃模糊效果的方法
2016/07/08 HTML / CSS
用React加CSS3实现微信拆红包动画效果
2017/03/13 HTML / CSS
Brora官网:英国领先的羊绒服装品牌
2019/08/28 全球购物
手机被没收的检讨书
2014/10/04 职场文书
实习单位鉴定意见
2015/06/04 职场文书
AJAX实现省市县三级联动效果
2021/10/16 Javascript
python分分钟绘制精美地图海报
2022/02/15 Python