中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python第三方庫gTTs/pyttsx3/speech怎么使用

發布時間:2023-05-04 15:12:26 來源:億速云 閱讀:137 作者:iii 欄目:開發技術

本篇內容介紹了“Python第三方庫gTTs/pyttsx3/speech怎么使用”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

Python文字轉語音(調研&成品函數)

由于項目需要, 我需要將文字轉換為語音, 那么第一步就要進行調研

什么是語音合成技術?

語音合成(text to speech),簡稱TTS。是將文字轉化為語音的一種技術,是讓計算機模擬人類的嘴巴,通過不同的音色說出想表達的內容, 是人機對話的一部分。
TTS可以通過神經網絡的設計,把文字智能地轉化為自然語音流。極大的方便了視障患者的使用, 也提升了文本的可讀性。TTS應用包括語音驅動的硬件以及聲音敏感系統,并常與聲音識別程序一起使用。

現在許多廠家都推出了自己的語音合成服務或API, 大家也可以去自行查看, 本文僅做了python環境下語音合成第三方庫的調研

如何用代碼實現?

如前文所述, 雖然市面上產品繁多, 但是作為一個開發者, 我想要一款免費的, 可代碼調試的工具, 經過查找材料, 我找到了gTTs庫、pyttsx3庫、speech庫都能滿足我的需求, 來做個橫向對比, 可以讓大家少走彎路。

第三方庫名稱需要聯網支持中英文支持日語可調節語速像人聲程度
ggts√√√X很像導航
pyttsx3X√X√適合讀小說
speechX√XX很像快一點的導航

gTTS庫

gTTS庫 (Google Text-to-Speech) : 用于與 Google Translate 的文本轉語音 API 進行交互。將語音mp3數據寫入文件
優點 : 支持包括中英日文在內的多種語言, 有谷歌翻譯API的加持, 人聲蠻好聽
缺點 : 不支持語速調節, 每次使用必須科學上網, 不能單機使用

在語音播放功能, 我們選用了兩種方法

  • 第一種是playsound庫自動播放音頻(不可調播放進度)

  • 第二種是os庫調用系統自帶播放器(可調節進度)

請看playsound庫播放 & GTTS庫轉文字函數

# 函數功能: 用gtts庫閱讀文本,保存為.mp3文件后, 用系統內置的瀏覽器閱讀出來, 打開mp3文件, 函數執行結束(播放方式為os庫)
def gtts_os_debug(text,mp3_filepath,language):#參數說明:參數1是朗讀的文字,參數2是保存路徑,參數3是數字{0英文,1中文,2日語}
    #大成功,可惜的是os調用自帶播放器, 實際上只執行了"打開mp3"的操作, 它并不會在音頻播報完后再進行下一條語句
    from gtts import gTTS
    import os
    # 已知zh-tw版本違和感較高,所以我們用zh-CN來進行后續工作
    if int(language) ==0 :
        s = gTTS(text=text, lang='en', tld='com')
        # s = gTTS(text=text, lang='en', tld='co.uk')#我比較喜歡美音,但是如果你喜歡英國口音可以嘗試這個
    elif int(language) ==1 :
        s = gTTS(text=text, lang='zh-CN')
    elif int(language) ==2 :
        s = gTTS(text=text, lang='ja')
    try:
        s.save(mp3_filepath)
    except:
        os.remove(mp3_filepath)
        print(mp3_filepath,"文件已經存在,但是沒有關系!已經刪掉了")
        s.save(mp3_filepath)
    print(mp3_filepath,"保存成功")
    os.system(mp3_filepath)#調用系統自帶的播放器播放MP3
gtts_os_debug(text="I'm gtts library,from google Artificial Intelligence & Google Translate.",mp3_filepath="gtts英文測試.mp3",language=0)
gtts_os_debug(text="我是gtts庫, 你想聽聽我的聲音嗎",mp3_filepath="gtts中文測試.mp3",language=1)
gtts_os_debug(text="真実はいつもひとつ" ,mp3_filepath="gtts日語測試.mp3",language=2)

請看os庫播放 & GTTS庫轉文字函數

# 函數功能: 用gtts庫閱讀文本,保存為.mp3文件后, 用playsound庫閱讀出來, 閱讀完畢, 函數執行結束
def gtts_debug(text,mp3_filepath,language):#參數說明:參數1是朗讀的文字,參數2是保存路徑,參數3是數字{0英文,1中文,2日語}
    #大成功,已經實現了定制化文字轉語音,但是播放的playsound需要改進(playsound庫本身可能會出現bug...)
    from gtts import gTTS
    from playsound import playsound
    import os
    if int(language) ==0 :
        s = gTTS(text=text, lang='en', tld='com')
        # s = gTTS(text=text, lang='en', tld='co.uk')#我比較喜歡美音,但是如果你喜歡英國口音可以嘗試這個
    elif int(language) ==1 :
        s = gTTS(text=text, lang='zh-CN')
    elif int(language) ==2 :
        s = gTTS(text=text, lang='ja')
    try:
        s.save(mp3_filepath)
    except:
        os.remove(mp3_filepath)
        print(mp3_filepath,"文件已經存在,但是沒有關系!已經刪掉了")
        s.save(mp3_filepath)
    print(mp3_filepath,"保存成功")
    playsound(mp3_filepath)
gtts_debug(text="I'm gtts library,from google Artificial Intelligence & Google Translate.",mp3_filepath="gtts英文測試.mp3",language=0)
gtts_debug(text="我是gtts庫, 你想聽聽我的聲音嗎",mp3_filepath="gtts中文測試.mp3",language=1)
gtts_debug(text="真実はいつもひとつ" ,mp3_filepath="gtts日語測試.mp3",language=2)

pyttsx3庫

pyttsx3庫 : 是Python中的文本到語音轉換庫, 它可以脫機工作
優點 : 可以脫機工作, 支持將語音直接朗讀, 可調節音量和速度
缺點 : 初始只有英語(女)和中文(女)的語音包, 其他語言的語音包需要另外下載

請看pyttsx3庫轉文字&自朗讀函數

def pyttsx3_debug(text,language,rate,volume,filename,sayit=0):
    #參數說明: 六個重要參數,閱讀的文字,語言(0-英文/1-中文),語速,音量(0-1),保存的文件名(以.mp3收尾),是否發言(0否1是)
    import pyttsx3
    engine = pyttsx3.init()  # 初始化語音引擎
    engine.setProperty('rate', rate)  # 設置語速
    #速度調試結果:50戲劇化的慢,200正常,350用心聽小說,500敷衍了事
    engine.setProperty('volume', volume)  # 設置音量
    voices = engine.getProperty('voices')  # 獲取當前語音的詳細信息
    if int(language)==0:
        engine.setProperty('voice', voices[0].id)  # 設置第一個語音合成器 #改變索引,改變聲音。0中文,1英文(只有這兩個選擇)
    elif int(language)==1:
        engine.setProperty('voice', voices[1].id)
    if int(sayit)==1:
        engine.say(text)  # pyttsx3->將結果念出來
    elif int(sayit)==0:
        print("那我就不念了哈")
    engine.save_to_file(text, filename) # 保存音頻文件
    print(filename,"保存成功")
    engine.runAndWait() # pyttsx3結束語句(必須加)
    engine.stop() # pyttsx3結束語句(必須加)
pyttsx3_debug(text="我是pyttsx3, 初次見面, 給您拜個早年",language=0,rate=200,volume=0.9,filename="ptttsx3中文測試.mp3",sayit=1)
pyttsx3_debug(text="I'm fake Siri, your smart voice Manager",language=1,rate=200,volume=0.9,filename="ptttsx3英文測試.mp3",sayit=1)

speech庫

speech : 基于Windows的語音合成模塊, 一行代碼即可實現朗讀
優點 : 依靠windows系統, 安裝使用究極簡單 , 超級方便。
適合在代碼調試過程中, 讓冰冷的AI語言來罵醒寫bug的我QAQ
缺點 : 只有系統語言(中文&英文), 不支持語速調節和音頻導出

請看speech轉文字函數

import speech
speech.say("甘霖娘,又出bug了")
speech.say("Don't ask me .I have no idea why bug exist again")
# 如你所見, 代碼編譯究極簡單, 而且單機, 但是!每次使用都會呼出微軟語音助手...

“Python第三方庫gTTs/pyttsx3/speech怎么使用”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

五常市| 吕梁市| 张家口市| 石河子市| 陆丰市| 尤溪县| 承德县| 五指山市| 广汉市| 调兵山市| 明星| 江北区| 兰坪| 沂水县| 武平县| 卢氏县| 正蓝旗| 漯河市| 乡城县| 白玉县| 墨竹工卡县| 鄯善县| 张家口市| 南和县| 苏尼特右旗| 芜湖市| 绥滨县| 明水县| 历史| 安顺市| 图们市| 四平市| 紫阳县| 安福县| 奈曼旗| 德江县| 正蓝旗| 凤冈县| 兴和县| 赤水市| 碌曲县|