【python语音识别】借助百度智能云实现任意时间长度语音识别,输入语音转为文字的python程序,按回车开始录制按回车结束录制,录音时间任意,无需指定录音时间

阅读: 评论:0

【python语音识别】借助百度智能云实现任意时间长度语音识别,输入语音转为文字的python程序,按回车开始录制按回车结束录制,录音时间任意,无需指定录音时间

【python语音识别】借助百度智能云实现任意时间长度语音识别,输入语音转为文字的python程序,按回车开始录制按回车结束录制,录音时间任意,无需指定录音时间

程序内容简述:

使用Python程序实现简单的语音识别程序,程序可以识别任意时间长度的语音,在语音输入完成后,点击回车就可以结束录音,可进行任意时间段的语音识别。

该语音识别程序借助百度智能云提供的云应用进行语音识别,使用百度智能云的语音识别模块识别语音之后返回文本,将文本以文本文件保存在磁盘中。

 在进行语音识别程序之前需要在百度智能云上创建自己的语音识别应用,在程序中调用该应用进行语音识别。注册百度智能云之后可以免费领取各种模块的使用次数,然后创建相应的应用即可。

创建的应用结果如下:

 博主创建的应用的重要信息已擦出,在创建应用时如遇到不明白的地方欢迎提问,博主将尽快回复。

程序代码如下: 

import pyaudio
import time
import wave
import _thread
from aip import AipSpeech
class Recorder():def __init__(self, chunk=1024, channels=1, rate=16000):self.CHUNK = chunkself.FORMAT = pyaudio.paInt16self.CHANNELS = channelsself.RATE = rateself._running = Trueself._frames = []def start(self):_thread.start_new_thread(self.__recording, ())def __recording(self):self._running = Trueself._frames = []p = pyaudio.PyAudio()stream = p.open(format=self.FORMAT,channels=self.CHANNELS,rate=self.RATE,input=True,frames_per_buffer=self.CHUNK)while (self._running):data = ad(self.CHUNK)self._frames.append(data)stream.stop_stream()stream.close()p.terminate()def stop(self):self._running = Falsedef save1(self, filename):p = pyaudio.PyAudio()if dswith(".wav"):filename = filename + ".wav"wf = wave.open(filename, 'wb')wf.setnchannels(self.CHANNELS)wf._sample_size(self.FORMAT))wf.setframerate(self.RATE)wf.writeframes(b''.join(self._frames))wf.close()def record(self):print('请按下回车键开始录音:')a = input()if str.__len__(a)==0:begin = time.time()print("Start recording")self.start()print("请按下回车键结束录音:")b=input()if str.__len__(b)==0:print("Stop recording")self.stop()fina = time.time()t = fina - beginprint('录音时间为%ds' % t)def positive(self):print('开始样本的录制')d()self.save1("test2.wav")
def save2(result,filename):if dswith(".txt"):filename = filename + ".txt"wf = open(filename, encoding='utf-8',mode='a+')wf.writelines(result)wf.writelines(['n'])wf.close()def ASR():rec = Recorder()rec.positive()print('识别中......')APP_ID = &#'#自己创建的百度智能云语音识别应用的APPIDAPI_KEY = &#.'#自己创建的百度智能云语音识别应用的API-keySECRET_KEY = &#'#自己创建的百度智能云语音识别应用的secret_keyclient = AipSpeech(APP_ID, API_KEY, SECRET_KEY)# 读取文件def get_file_content(filePath):with open(filePath, 'rb') as fp:ad()# 识别本地文件res=client.asr(get_file_content('test2.wav'), 'wav', 16000, {'dev_pid': 1536,})if res and res['err_no'] == 0:result = res['result'][0]print("识别结果为:")print(result)result2=res['result'][0]save2(result2,&#')if __name__ == '__main__':ASR()

程序运行结果如下: 

 

 由于免费试用的语音识别模块识别精度比较差,所以对于比较复杂的语音识别可能会出现比较多的错误,但是对于标准的发音的语音识别还是比较准确地。

内容仅做交流学习使用,如存在错误请大家指正,欢迎大家一起交流学习,学习更多有用有趣的知识,喜欢博主的别忘了点赞哦!

关注博主,学习更多Python程序设计知识! 

本文发布于:2024-01-30 19:59:40,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170661598122465.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:时间   按回车   语音识别   长度   语音
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23