/marksinoberg/article/details/52137547Python 文本转语音
文本转为语音(使用Speech API)
需要安装 pywin32 库
importwin32com.client
speaker= win32com.client.Dispatch("SAPI.SpVoice")
str1= """日照香炉生紫烟,
遥看瀑布挂前川。
飞流直下三千尺,
疑是银河落九天。"""speaker.Speak(str1)for i in range(1, 6):
speaker.Speak("呵呵第" + str(i) + "次")
蜂鸣器:
importwin32com.clientimportwinsound
speak= win32com.client.Dispatch('SAPI.SPVOICE')
winsound.Beep(, 500) #第二个参数是500毫秒
pyttsx方式
pyttsx 是Python的一个关于文字转语音方面的很不错的库。我们还可以借助pyttsx来实现在线朗读rfc文件或者本地文件等等,最为关键的是,它对中文支持的还是不错的。
这个试了一下,python3要用 pyttsx3 这个库(不要用pyttsx),但是中文支持有问题,还没研究。可以看看这页: /leenid/p/6875031.html
importpyttsx3
engine=pyttsx3.init()
engine.say('Hello, good morning')
engine.runAndWait()
-12-4 补充:
用百度ai,把文字转换为mp3:
from aip importAipSpeech"""你的百度 APPID AK SK
https://console./ai/#/ai/speech/app/list 应用列表
/docs#/TTS-Online-Python-SDK/top API"""APP_ID= '略'API_KEY= '略'SECRET_KEY= '略'client=AipSpeech(APP_ID, API_KEY, SECRET_KEY)
text111= "春江潮水连海平 海上明月若潮升。"result= client.synthesis(text111, 'zh', 1, {'vol': 5,
})#识别正确返回语音二进制 错误则返回dict 参照下面错误码
if notisinstance(result, dict):
with open('auido.mp3', 'wb') as f:
f.write(result)
用pygame播放mp3文件:(不过声音有点失真,有点娃娃气)
importtimeimportpygame
file= r'auido.mp3'pygame.mixer.init()print("播放音乐1")
track=pygame.mixer.music.load(file)
pygame.mixer.music.play()
time.sleep(10)
pygame.mixer.music.stop()
播放mp3文件,还有一个windows上的极简野蛮操作:
importtimeimportos
os.system("zz.mp3")
time.sleep(10)
os.system("taskkill /F /IM wmplayer.exe")
...
如果觉得《python语音转文字库_py库:文本转为语音(pywin32 pyttsx)》对你有帮助,请点赞、收藏,并留下你的观点哦!