Python 文字转语音(TTS) 您所在的位置:网站首页 pyttsx3如何发出中文 Python 文字转语音(TTS)

Python 文字转语音(TTS)

2024-02-28 02:33| 来源: 网络整理| 查看: 265

Python 文字转语音(TTS)

文章目录 Python 文字转语音(TTS)0.简介1.pyttsx30.简介1.安装2.实例代码3.参考链接 2.tts0.简介1.安装2.实例代码 3.win32com0.简介1.安装2.实例代码3.参考链接 4.ttskit (未使用)0.简介1.安装2.实例代码 5.zhtts0.简介1.安装2.实例代码 6. souddevice播放音频0.简介1.安装2.示例代码3.参考链接 7.其他链接

0.简介

下面所有的实例代码只是我在我项目中使用的代码,有其他需求可以参考官方文档。【主要是在Windows环境下】

1.pyttsx3 0.简介

可以离线使用,但在Ubuntu系统下调用espeak包——中文发声很奇怪。

目前支持的设备以及语音识别引擎:

nsss - Mac OS X 10.5及更高版本上的NSSpeechSynthesizersapi5 - Windows XP,Windows Vista和(未经测试)Windows 7上的SAPI5espeak - 可以托管共享库的任何发行版/平台上的eSpeak(例如,Ubuntu/Fedora Linux(树莓派))

【pyttsx3官方参考文档】

1.安装

可能要安装其他依赖,如果下面这条命令安装不了,可以去查查安装方法。

python -m pip install pyttsx3 2.实例代码 import pyttsx3 def use_pyttsx3(): # 创建对象 engine = pyttsx3.init() # 获取当前语音速率 rate = engine.getProperty('rate') print(f'语音速率:{rate}') # 设置新的语音速率 engine.setProperty('rate', 150) # 获取当前语音音量 volume = engine.getProperty('volume') print(f'语音音量:{volume}') # 设置新的语音音量,音量最小为 0,最大为 1 engine.setProperty('volume', 1.0) # 获取当前语音声音的详细信息 # 这里我也是找到的实例代码感觉写的很矛盾,最后发出的还是女声 voices = engine.getProperty('voices') print(f'语音声音详细信息:{voices}') # 设置当前语音声音为女性,当前声音不能读中文 engine.setProperty('voice', voices[1].id) # 设置当前语音声音为男性,当前声音可以读中文 engine.setProperty('voice', voices[0].id) # 获取当前语音声音 voice = engine.getProperty('voice') print(f'语音声音:{voice}') # 语音文本 words = input('请输入要说的话:') # 将语音文本说出来 a = engine.say(words) engine.runAndWait() engine.stop() # 保存音频 engine.save_to_file('张三,王五,你们好,请离开!', filename='./wavfiles/go_out.wav', name='test') engine.runAndWait() if __name__ == '__main__': use_pyttsx3() 3.参考链接

【pytorch中文网-python使用pyttsx调用设备的TTS实现语音合成】

2.tts 0.简介

没啥简介。自己查查吧😆

1.安装 pip install tts 2.实例代码 from gtts import gTTS import os language = 'zh' # 或 zh-tw # slow=False时,语速为Normal output = gTTS(text="这是中文", lang=language, slow=False) output.save(filename) # Play the converted file os.system(f"start {filename}") 3.win32com 0.简介

只能在Windows下使用,这里面包含了很多东西,不止TTS。

【官方API文档】

1.安装

【Python 基础篇-python3安装pyHook和pywin32库】

python -m pip install pyHook python -m pip install pywin32 2.实例代码 import win32com.client speaker = win32com.client.Dispatch("SAPI.SpVoice") speaker.Speak("你好,这是中文!") 3.参考链接

【CSDN-python在Windows系统下实现TTS(文字转语音)】

4.ttskit (未使用) 0.简介

【Github-ttskit项目链接】

1.安装 python -m pip install -U ttskit pyworld python -m pip install ffmpeg 2.实例代码

略。

5.zhtts 0.简介

借助Tensorflow框架开发的TTS,可以存储为numpy数组(不需要存储为.wav或.mp3文件,减少了文件读取操作)。

【Github-zhtts项目链接】

1.安装 python3 -m pip install -U ffmpeg pyworld ttskit # 会安装tensorflow-cpu版本,但使用时会报CUDA的错 python3 -m pip install tensorflow-gpu 2.实例代码

更多实例代码参考Github项目链接。

import zhtts import sounddevice as sd tts = zhtts.TTS() # use fastspeech2 by default text1 = "2020年,这是一个开源的端到端中文语音合成系统" # 下面是自带的函数,借助Pycharm查看出来的。audio为numpy数组可直接传入播放器。 mel = tts.text2mel(text1) print(mel.shape, type(mel)) audio = tts.mel2audio(mel) print(audio, type(audio)) # 下面这里可以先看【6.sounddevice播放音频】 sd.play(audio, samplerate=24000) # samplerate=24000为通过其他包转换为.wav文件,再读取该文件获取的 sd.wait() 6. souddevice播放音频 0.简介

这个也没简介💭自己查查吧。

1.安装 python -m pip install soundfile sounddevice 2.示例代码 import soundfile import sounddevice devs=sd.query_devices() #返回系统所有的声音设备 print(devs) # 带>


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有