Python 文字转语音(TTS) | 您所在的位置:网站首页 › pyttsx3如何发出中文 › Python 文字转语音(TTS) |
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 实验室设备网 版权所有 |