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 相关文章推荐
有关wxpython pyqt内存占用问题分析
Jun 09 Python
Python类的定义、继承及类对象使用方法简明教程
May 08 Python
Python多线程和队列操作实例
Jun 21 Python
Python使用BeautifulSoup库解析HTML基本使用教程
Mar 31 Python
Window10+Python3.5安装opencv的教程推荐
Apr 02 Python
解决python中 f.write写入中文出错的问题
Oct 31 Python
python实现狄克斯特拉算法
Jan 17 Python
用Python徒手撸一个股票回测框架搭建【推荐】
Aug 05 Python
python批量解压zip文件的方法
Aug 20 Python
python集合常见运算案例解析
Oct 17 Python
python 如何用urllib与服务端交互(发送和接收数据)
Mar 04 Python
python如何读取.mtx文件
Apr 22 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文件上传类实例讲解
2015/10/27 PHP
JavaScript 异步调用框架 (Part 5 - 链式实现)
2009/08/04 Javascript
js setattribute批量设置css样式
2009/11/26 Javascript
javascript不可用的问题探究
2013/10/01 Javascript
js的参数有长度限制吗?发现不能超过2083个字符
2014/04/20 Javascript
js实现浏览本地文件并显示扩展名的方法
2015/08/17 Javascript
利用jQuery插件imgAreaSelect实现获得选择域的图像信息
2016/12/02 Javascript
JavaScript函数基础详解
2017/02/03 Javascript
js实现适配不同的屏幕大小
2017/04/10 Javascript
Bootstrap响应式导航由768px变成992px的实现代码
2017/06/15 Javascript
JavaScript的Object.defineProperty详解
2018/07/09 Javascript
vue-cli3环境变量与分环境打包的方法示例
2019/02/18 Javascript
Javascript如何实现扩充基本类型
2020/08/26 Javascript
[02:43]DOTA2英雄基础教程 圣堂刺客
2013/12/09 DOTA
python的常见命令注入威胁
2013/02/18 Python
使用Python的Twisted框架实现一个简单的服务器
2015/04/16 Python
浅析Python中将单词首字母大写的capitalize()方法
2015/05/18 Python
回调函数的意义以及python实现实例
2017/06/20 Python
Python及Django框架生成二维码的方法分析
2018/01/31 Python
python TCP Socket的粘包和分包的处理详解
2018/02/09 Python
Python之list对应元素求和的方法
2018/06/28 Python
Python解决走迷宫问题算法示例
2018/07/27 Python
详解pandas如何去掉、过滤数据集中的某些值或者某些行?
2019/05/15 Python
python 通过可变参数计算n个数的乘积方法
2019/06/13 Python
python 实现创建文件夹和创建日志文件的方法
2019/07/07 Python
python单例模式的多种实现方法
2019/07/26 Python
Python获取一个用户名的组ID过程解析
2019/09/03 Python
python中使用input()函数获取用户输入值方式
2020/05/03 Python
亚马逊印度站:Amazon.in
2017/10/15 全球购物
xml有哪些解析技术?区别是什么
2016/04/26 面试题
幼儿园教师节活动方案
2014/02/02 职场文书
初中毕业生的自我评价
2014/03/03 职场文书
培训讲师岗位职责
2014/04/13 职场文书
民主生活会汇报材料
2014/12/15 职场文书
在职证明书模板
2015/06/15 职场文书
对PyTorch中inplace字段的全面理解
2021/05/22 Python