python简单实现文字转语音,语音识别

直接语音合成

需要安装
pip3 install pyttsx3
pip3 install pypiwin32

安装pyttsx3的时候出错,结果重装了一次python才行。。。

tips:最后本人安装的版本是3.6

import pyttsx3
# 初始化
engine = pyttsx3.init()

engine.say('我要开始语音合成')
engine.say('好好学习,天天向上')
engine.say('hello world')

engine.runAndWait()

文本文件语音合成wav

pip3 install comtypes

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') #中文得用utf-8格式
theText = f.read()
f.close()
engine.speak(theText)
stream.close()
print("合成成功")

语音转文本

pip3 install PocketSphinx
pip3 install SpeechRecognition

安装PocketSphinx可能出现错误
在这里插入图片描述

后来查了半天,,也下载了swig但是不会弄。看到pocketsphinx的文档
在这里插入图片描述
我猜可能是python3.8装不了?然后我装了python3.6版本,一下就安装好了。。。

import speech_recognition as sr
audio_file = 'demo_audio.wav'
r = sr.Recognizer()

with sr.AudioFile(audio_file) as source:
    audio = r.record(source)

print('文本内容:',r.recognize_sphinx(audio))

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
因为pocketsphinx只装有英文语音包,只能识别英文,识别率还算可以

安装中文语言包

下载地址:
https://sourceforge.net/projects/cmusphinx/files/Acoustic%20and%20Language%20Models/
(不得不说迅雷下载比浏览器下载快多了~)

在这里插入图片描述
下载之后解压到安装python的路径里,如下

E:\Python3.6\Lib\site-packages\speech_recognition\pocketsphinx-data

更改文件夹名 zh-CN
在这里插入图片描述
并把文件里面的名字改成和en-US的相同
更改前
更改后
然后在代码中修改

print('文本内容:',r.recognize_sphinx(audio,language='zh-CN'))

在这里插入图片描述
转换过程没英文那么快(毕竟中文博大精深),自己录音的识别率不高,我是用前面的文本转语音wav文件识别的。

  • 2
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值