py庫:文本轉為語音(pywin32、pyttsx)


 

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")

 

 

 

...


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM