当前位置:   article > 正文

python 实现文本语音识别_python 语音识别库

python 语音识别库

Python语音识别 文本转换为语音
使用pyttsx3
pyttsx3 是一个流行的 Python 第三方库,用于实现文本到语音(TTS)的转换。这个库支持多种操作系统,包括 Windows、Linux 和 macOS,并且可以在没有互联网连接的情况下工作,因为它使用的是计算机上安装的本地语音引擎。

跨平台:可以在不同的操作系统上运行。
离线工作:不依赖于互联网连接。
多种语音和语言:支持多种语音和语言选项。
自定义设置:允许用户调整语速、音量和语调等参数。
简单易用:具有直观的 API,易于集成和使用。
  • 1
  • 2
  • 3
  • 4
  • 5

安装:

pip3 install pyttsx3 -i https://pypi.tuna.tsinghua.edu.cn/simple some-package
  • 1

代码:

import pyttsx3 as pyttsx

engine = pyttsx.init()  # 初始化引擎
engine.say('独断万古荒天帝, 唯负罪州火桑女')  # 添加文本到语音队列
engine.runAndWait()  # 开始语音输出
  • 1
  • 2
  • 3
  • 4
  • 5

使用SAPI实现文本转换语音
在 python 中,你也可以使用 SAPI 来做文本到语音的转换。
在Python中,win32com库是一个用于与Windows操作系统中的COM(Component Object Model)组件进行交互的模块。win32com.client模块提供了一种使用COM自动化的Python接口。通过win32com.client.Dispatch方法,可以访问和控制支持COM自动化的任何Windows应用程序或服务。
对于SAPI(Speech Application Programming Interface),可以通过win32com库来访问其功能,从而实现文本到语音(TTS)和语音识别。
代码:

from win32com.client import Dispatch

msg = "独断万古荒天帝, 唯负罪州火桑女"
speaker = Dispatch('SAPI.SpVoice')  # 创建SAPI的语音引擎实例
speaker.Speak(msg)  # 将文本转换为语音并朗读
del speaker  # 删除 speaker 对象,释放与之关联的资源。
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

使用 SpeechLib实现文本转换语音
SpeechLib 是微软提供的一个用于语音功能的 COM 库,它允许开发者在 Windows 平台上进行文本到语音(TTS)和语音识别的开发。通过 SpeechLib,您可以控制语音引擎的多种属性,比如语速、音量、语调以及使用的语音库。
使用 SpeechLib,可以从文本文件中获取输入,再将其转换为语音。

使用使用 SpeechLib需要安装第三方库:comtypes

安装命令:

pip3 install comtypes -i https://pypi.tuna.tsinghua.edu.cn/simple some-package
  • 1

代码:

from comtypes.client import CreateObject
from comtypes.gen import SpeechLib  # 导入 SpeechLib
engine = CreateObject("SAPI.SpVoice")  # 创建 SAPI.SpVoice 对象的实例
stream = CreateObject("SAPI.SpFileStream")  # 创建 SAPI.SpFileStream 对象的实例
infile = 'demo.txt'
outfile = 'demo_audio.wav'
stream.Open(outfile, SpeechLib.SSFMCreateForWrite)  # 输出文件,准备写入音频数据
engine.AudioOutputStream = stream  # 音频输出流设置为 stream 对象
f = open('demo', 'r', encoding='utf-8')  # 打开输入文本文件
TheText = f.read()  # 读取文件
f.close()  # 关闭文件
engine.speak(TheText)  # 使用语音引擎将文本转换为语音并输出。
stream.close()  # 关闭音频流,完成音频文件的写入
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

语音转换为文本
使用 PocketSphinx实现语音转换文本
PocketSphinx 是一个轻量级的语音识别库,它是 CMU Sphinx 开源语音识别系统的一个子集。CMU Sphinx 由卡内基梅隆大学开发,是一个功能强大且灵活的语音识别系统。PocketSphinx 特别适用于嵌入式系统和移动设备,因为它的体积小、速度快,同时提供了相对较高的识别准确率。
所需的第三方模块:PocketSphinx和SpeechRecognition
安装命令:

pip3 install PocketSphinx -i https://pypi.tuna.tsinghua.edu.cn/simple some-package
pip3 install SpeechRecognition -i https://pypi.tuna.tsinghua.edu.cn/simple some-package
  • 1
  • 2

代码:

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)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/994598
推荐阅读
相关标签
  

闽ICP备14008679号