http://blog.csdn.net/marksinoberg/article/details/52137547 Python 文本轉語音
文本轉為語音(使用Speech API)
需要安裝 pywin32 庫
import win32com.client speaker = win32com.client.Dispatch("SAPI.SpVoice") str1 = """ 日照香爐生紫煙, 遙看瀑布掛前川。 飛流直下三千尺, 疑是銀河落九天。 """ speaker.Speak(str1) for i in range(1, 6): speaker.Speak("呵呵第" + str(i) + "次")
蜂鳴器:
import win32com.client import winsound speak = win32com.client.Dispatch('SAPI.SPVOICE') winsound.Beep(2015, 500) #第二個參數是500毫秒
pyttsx方式
pyttsx 是Python的一個關於文字轉語音方面的很不錯的庫。我們還可以借助pyttsx來實現在線朗讀rfc文件或者本地文件等等,最為關鍵的是,它對中文支持的還是不錯的。
這個試了一下,python3要用 pyttsx3 這個庫(不要用pyttsx),但是中文支持有問題,還沒研究。可以看看這頁: http://www.cnblogs.com/leenid/p/6875031.html
import pyttsx3 engine = pyttsx3.init() engine.say('Hello, good morning') engine.runAndWait()
2017-12-4 補充:
用百度ai,把文字轉換為mp3:
from aip import AipSpeech """ 你的百度 APPID AK SK https://console.bce.baidu.com/ai/#/ai/speech/app/list 應用列表 http://ai.baidu.com/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 not isinstance(result, dict): with open('auido.mp3', 'wb') as f: f.write(result)
用pygame播放mp3文件: (不過聲音有點失真,有點娃娃氣)
import time import pygame 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上的極簡野蠻操作:
import time import os os.system("zz.mp3") time.sleep(10) os.system("taskkill /F /IM wmplayer.exe")
...