十九语音识别

Posted dangjingwei

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了十九语音识别相关的知识,希望对你有一定的参考价值。

文本转换为语音
     使用pyttsx、SAPI两种方式可以将文本转化成语音。但是都是通过参数输入文本内容。使用SpeechLib可以从文本文件中获取输入,再将其转化为语言。

使用 pyttsx 实现文本转换语音
  
 import pyttsx3 as pyttsx
 engine=pyttsx.init()
 engine.say(‘你好 pyttsx‘)
 engine.runAndWait()
 
使用 SAPI 实现文本转换语音
from win32com.client import Dispatch
msg="你好 SAPI"
speaker = Dispatch(‘SAPI.SpVoice‘)
speaker.Speak(msg)
del speaker
 
使用 SpeechLib 实现文本转换语音
#导入转化需要的对象和转化模块(个人理解)
from comtypes.client import CreateObject
from comtypes.gen import SpeechLib
#创建转化对象和转化流
engine=CreateObject(‘SAPI.SpVoice‘)
stream=CreateObject(‘SAPI.SpFileStream‘)
infile=‘demo.txt‘
outfile=‘demo_audio.wav‘
stream.Open(outfile,SpeechLib.SSFMCreateForWrite)
engine.AudioOutputStream=stream
f=open(infile,‘r‘,encoding=‘utf-8‘)
theText=f.read()
f.close()
engine.speak(theText)
stream.close()

语音转换为文本
  PocketSphinx 是一个用于语音转换文本的开源 API。它是一个轻量级的语音识别引擎,尽管在桌面端也能很好地工作,它还专门为手机和移动设备做过调优
import speech_recognition as sr
audio_file=‘demo_audio.wav‘
r=sr.Recognizer()#生成转发对象
#打开语音
with sr.AudioFile(audio_file) as source:
#转化
audio =r.record(source)
try:
#转化结果
print(‘文本内容:‘,r.recognize_sphinx(audio,language="zh-CN"))
#print(‘文本内容:‘,r.recognize_sphinx(audio))
except Exception as e:
print(e)



以上是关于十九语音识别的主要内容,如果未能解决你的问题,请参考以下文章

创新记︱语音播报+图像识别

第六十九篇OC_录制语音和播放语音功能的实现

语音识别中的ASR技术通识 2019-12-06

20160209.CCPP体系详解(0019天)

Unity语音识别(百度AI长语句语音识别&Unity原生短语语音识别)

实时音频编解码之十九 基于AI的语音编码(LPCNet)