愛伊米

中年大叔學程式設計-Python實現文字轉語音

在前面 有用到pywin32這個庫很強大,上次只是用它來垮程序操作,這次,我們又要用到它來把文字轉語音。其實Python除了用pywin32來實現文字轉語音,還有一個庫叫pyttsx3,它也可以實現文字轉語音的功能,我們來挨個嘗試一下吧。

由於之前安裝過pywin32,所以這裡就直接開始使用吧,新建一個demo。py檔案

from win32com。client import Dispatch

speaker = Dispatch(“SAPI。SpVoice”)speaker。Speak(“成都市今天實況:28度 多雲,溼度:56%,北風:1級。白天:29度,多雲。 夜間:陰,22度,天氣較熱,墨跡天氣建議您選擇短袖上衣加七分褲的搭配,針織衫是進出空調房的必備單品。”)

peaker。Speak(“成都市今天實況:28度 多雲,溼度:56%,北風:1級。白天:29度,多雲。 夜間:陰,22度,天氣較熱,墨跡天氣建議您選擇短袖上衣加七分褲的搭配,針織衫是進出空調房的必備單品。”)

現在執行python demo。py就可以呼叫windows的API來轉換成語音。

接下來,我們再來見識一下pyttsx3這個庫

中年大叔學程式設計-Python實現文字轉語音

我們來看看它的基本操作

中年大叔學程式設計-Python實現文字轉語音

我們來按照教程來呼叫語音API

import pyttsx3

engine = pyttsx3。init()

pyttsx3。speak(“成都市今天實況:28度 多雲,溼度:56%,北風:1級。白天:29度,多雲。 夜間:陰,22度,天氣較熱,墨跡天氣建議您選擇短袖上衣加七分褲的搭配,針織衫是進出空調房的必備單品。”)

其實語音效果和pywin32差不多,只不過它的方法更多,可以控制音速、改變聲音、音量大小等,一般預設為女生,我們接下來把它儲存為mp3格式的語音檔案

import pyttsx3

engine = pyttsx3。init()

engine。save_to_file(‘成都市今天實況:28度 多雲,溼度:56%,北風:1級。白天:29度,多雲。 夜間:陰,22度,天氣較熱,墨跡天氣建議您選擇短袖上衣加七分褲的搭配,針織衫是進出空調房的必備單品。’, ‘ppp。mp3’)

engine。runAndWait()

執行指令碼後,會在相應的目錄生成ppp。mp3的語音檔案。這種也就只是拿來玩玩而已,真實場景需要的語音效果要求更好,所以需要用到比如騰訊、京東、百度、科大訊飛

等這些大廠提供的語音合成API來合成語音,而且供多種聲音選擇,非常強大,當然,這是收費的,相對而言,騰訊的價效比應該是比較高的,有興趣的可以去了解一下。

我只是記錄我的學習過程,由於書讀的少,可能很多地方表述或者是理解得不對,請輕噴並指正。