最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python利用pyttsx3 API實現(xiàn)文本轉(zhuǎn)語音處理

 更新時間:2023年06月27日 09:33:10   作者:無水先生  
這篇文章主要為大家詳細介紹了Python如何利用pyttsx3 API實現(xiàn)文本轉(zhuǎn)語音處理,文中有詳細的示例代碼,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下

一、說明

介紹一款python調(diào)用庫,離線軟件包pyttsx3 API,它能夠?qū)⑽淖洲D(zhuǎn)化成語音文件。Python 中有多種 API 可用于將文本轉(zhuǎn)換為語音。pyttsx3 是一個非常易于使用的工具,可將輸入的文本轉(zhuǎn)換為音頻。與其它類似的庫不同,它可以離線工作,并且與 Python 2 和 3 兼容。

二、環(huán)境安裝

安裝 pyttsx3 API,請打開終端并寫入:

  pip install pyttsx3

該庫依賴于 win32,因此我們在執(zhí)行程序時可能會出現(xiàn)錯誤。為了避免這種情況,只需在您的環(huán)境中安裝 pypiwin32 即可。

  pip install pypiwin32

三、pyttsx3 中重要函數(shù)

一些重要函數(shù)包括:

  • pyttsx3.init([driverName : string, debug : bool]) – 獲取對將使用給定驅(qū)動程序的引擎實例的引用。如果請求的驅(qū)動程序已被另一個引擎實例使用,則返回該引擎。否則,將創(chuàng)建一個新引擎。
  • getProperty(name : string) – 獲取引擎屬性的當前值。
  • setProperty(name, value) – 將命令排隊以設(shè)置引擎屬性。新的屬性值會影響此命令之后排隊的所有話語。
  • say(text : unicode, name : string) – 將命令排隊以說出話語。語音根據(jù)隊列中該命令之前設(shè)置的屬性輸出。
  • runAndWait() – 處理所有當前排隊的命令時發(fā)生阻塞。適當?shù)卣{(diào)用引擎通知的回調(diào)。當在此調(diào)用之前排隊的所有命令都從隊列中清空時返回。

四、文本轉(zhuǎn)語音程序示范

現(xiàn)在我們已經(jīng)準備好編寫一個將文本轉(zhuǎn)換為語音的示例程序。

# Python program to show
# how to convert text to speech
import pyttsx3  
# Initialize the converter
converter = pyttsx3.init()
# Set properties before adding
# Things to say 
# Sets speed percent 
# Can be more than 100
converter.setProperty('rate', 150)
# Set volume 0-1
converter.setProperty('volume', 0.7)
# Queue the entered text 
# There will be a pause between
# each one like a pause in 
# a sentence
converter.say("Hello GeeksforGeeks")
converter.say("I'm also a geek")  
# Empties the say() queue
# Program will not continue
# until all speech is done talking
converter.runAndWait()

輸出:

上述程序的輸出將是一個聲音,說“Hello GeeksforGeeks”和“I'm also a geek”。

五、變語速處理

我們將設(shè)置發(fā)動機的速率和音量。設(shè)置講話的速率和音量:

rate = engine.getProperty('rate')
engine.setProperty('rate', rate-100)

默認情況下,速率是200,所以我們將其降低到100。速率是說話速率,200對我們來說很高。所以我們降低了它。

速率簡單來說就是說話者說出文本的速度。設(shè)置速率后,我們將通過首先獲取音量屬性然后設(shè)置它來更改或設(shè)置音量。

volume = engine.getProperty('volume')
engine.setProperty('volume', volume+0.50)

默認音量為 1,即 100%,我們通過將 0.50 添加到從讀取音量屬性接收到的值,將其增加到 150%。

現(xiàn)在我們完成了這兩個屬性的設(shè)置,我們將調(diào)用 say(),語音現(xiàn)在將具有我們的參數(shù),即 1x 速度和 1.50 音量。

engine.say("Hello, This is the test for the pyttsx3")
engine.runAndWait()

現(xiàn)在這個 runAndWait 對我們來說很重要。我們想要運行這個引擎,并繼續(xù)運行,直到它完成所傳遞文本的 TTS。

六、改變聲音

假設(shè)您想將生成的聲音從男性更改為女性。你怎樣做呢?讓我們來看看。

您會注意到,當您運行上述代碼來實現(xiàn)文本到語音轉(zhuǎn)換時,響應(yīng)的聲音是男性聲音。要更改語音,您可以通過從引擎獲取語音屬性來獲取可用語音列表,并且您可以根據(jù)系統(tǒng)中可用的語音更改語音。

要獲取聲音列表,請編寫以下代碼。

voices = converter.getProperty('voices')
for voice in voices:
    # to get the info. about various voices in our PC 
    print("Voice:")
    print("ID: %s" %voice.id)
    print("Name: %s" %voice.name)
    print("Age: %s" %voice.age)
    print("Gender: %s" %voice.gender)
    print("Languages Known: %s" %voice.languages)

Output:

要更改語音,請使用 setProperty() 方法設(shè)置語音。上面找到的 Voice Id 用于設(shè)置語音。

下面是變聲的實現(xiàn)。

voice_id = "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech\Voices\Tokens\TTS_MS_EN-US_ZIRA_11.0"
# Use female voice
converter.setProperty('voice', voice_id)
converter.runAndWait()

現(xiàn)在,您可以根據(jù)需要在聲音之間切換。您可以嘗試運行 for 循環(huán)來將不同的語句分配給不同的聲音。運行代碼并享受結(jié)果。

到此這篇關(guān)于python利用pyttsx3 API實現(xiàn)文本轉(zhuǎn)語音處理的文章就介紹到這了,更多相關(guān)python 文本轉(zhuǎn)語音內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 為什么稱python為膠水語言

    為什么稱python為膠水語言

    在本篇文章里小編給大家分享的是關(guān)于python為何稱為膠水語言的相關(guān)知識點,需要的朋友們可以學(xué)習(xí)參考下。
    2020-06-06
  • PyTorch: Softmax多分類實戰(zhàn)操作

    PyTorch: Softmax多分類實戰(zhàn)操作

    這篇文章主要介紹了PyTorch: Softmax多分類實戰(zhàn)操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07
  • python兩個list[]相加的實現(xiàn)方法

    python兩個list[]相加的實現(xiàn)方法

    這篇文章主要介紹了python兩個list[]相加的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • Python基礎(chǔ)學(xué)習(xí)之文件夾常用操作的完整代碼

    Python基礎(chǔ)學(xué)習(xí)之文件夾常用操作的完整代碼

    這篇文章主要為大家詳細介紹了Python中os和sys模塊的常用功能,涵蓋文件/目錄操作,系統(tǒng)信息和命令行交互三大部分,文中的示例代碼講解詳細,有需要的小伙伴可以了解下
    2026-06-06
  • Pytorch根據(jù)layers的name凍結(jié)訓(xùn)練方式

    Pytorch根據(jù)layers的name凍結(jié)訓(xùn)練方式

    今天小編就為大家分享一篇Pytorch根據(jù)layers的name凍結(jié)訓(xùn)練方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-01-01
  • Python中斷多重循環(huán)的幾種方式詳解

    Python中斷多重循環(huán)的幾種方式詳解

    這篇文章主要介紹了Python中斷多重循環(huán)的幾種方式詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-02-02
  • Python+Tkinter繪制一個數(shù)字時鐘

    Python+Tkinter繪制一個數(shù)字時鐘

    這篇文章主要為大家詳細介紹了Python使用Tkinter繪制一個數(shù)字時鐘,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • 零基礎(chǔ)教你使用Python一鍵生成Excel圖表

    零基礎(chǔ)教你使用Python一鍵生成Excel圖表

    在日常辦公和數(shù)據(jù)分析中,Excel圖表是我們展示數(shù)據(jù)最直觀的工具,本文專為零基礎(chǔ)編程新手設(shè)計,將系統(tǒng)地帶你了解如何使用Python在Excel中制作柱狀圖,告別繁瑣的手工操作
    2026-04-04
  • Python+Pygame編寫一個Pong游戲

    Python+Pygame編寫一個Pong游戲

    Pong游戲模擬了兩個打乒乓球的人,就是在兩條線中間有一個點在動,操縱器就是一個搖桿上有一個按鈕的那種。本文就來用Python中的Pygame庫編寫一個Pong小游戲
    2023-01-01
  • 如何使用python?wasmtime調(diào)用rust生成的wasm庫

    如何使用python?wasmtime調(diào)用rust生成的wasm庫

    這篇文章主要介紹了如何使用python?wasmtime調(diào)用rust生成的wasm庫,使用python wasmtime來訪問rust庫的便捷方法,步驟極其簡練,可以在生產(chǎn)環(huán)境中使用,需要的朋友可以參考下
    2023-01-01

最新評論

红原县| 安宁市| 句容市| 塔河县| 龙海市| 叙永县| 油尖旺区| 从化市| 高安市| 伊春市| 临洮县| 泗阳县| 刚察县| 扶绥县| 石柱| 云南省| 镇雄县| 新泰市| 拉萨市| 皮山县| 玛纳斯县| 津市市| 茂名市| 东港市| 焦作市| 和林格尔县| 武宣县| 扶风县| 阿尔山市| 遂宁市| 铜川市| 贵阳市| 万全县| 宜州市| 昭平县| 贺州市| 余姚市| 青田县| 广安市| 昂仁县| 曲松县|