日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python 利用pyttsx3文字转语音

發布時間:2025/3/21 python 14 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python 利用pyttsx3文字转语音 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
  • # -*- coding: utf-8 -*-
  • import pyttsx3
  • f = open("all.txt",'r')
  • line = f.readline()
  • engine = pyttsx3.init()
  • while line:
  • line = f.readline()
  • print(line, end = '')
  • engine.say(line)
  • engine.runAndWait()
  • f.close()
  • 安裝

    pip install pyttsx3

    語音引擎工廠

    類似于設計模式中的“工廠模式”,pyttsx3通過初始化來獲取語音引擎。當我們第一次調用init操作的時候,會返回一個pyttsx3的engine對象,再次調用的時候,如果存在engine對象實例,就會使用現有的,否則再重新創建一個。

    pyttsx.init([driverName : string, debug : bool]) → pyttsx.Engine

    從方法聲明上來看,第一個參數指定的是語音驅動的名稱,這個在底層適合操作系統密切相關的。如下:

    ??????1.drivename:由pyttsx3.driver模塊根據操作系統類型來調用,默認使用當前操作系統可以使用的最好的驅動

    ??????????? sapi5 - SAPI5 on Windows

    ??????????? nsss - NSSpeechSynthesizer on Mac OS X

    ??????????? espeak - eSpeak on every other platform

    ???????2.debug:?這第二個參數是指定要不要以調試狀態輸出,建議開發階段設置為True

    引擎接口

    要想很好的運用一個庫,不了解其API是不行的。下面來看看pyttsx3。engine.Engine的引擎API。

    方法簽名參數列表返回值簡單釋義
    connect(topic : string, cb : callable)?topic:要描述的事件名稱;cb:回調函數?→?? dict?在給定的topic上添加回調通知
    disconnect(token : dict)?token:回調失聯的返回標記?Void結束連接
    endLoop()None→ None?簡單來說就是結束事件循環
    getProperty(name : string)?name有這些枚舉值“rate, vioce,vioces,volumn?→ object?獲取當前引擎實例的屬性值
    setProperty(name : string)?name有這些枚舉值“rate, vioce,vioces,volumn→ object?設置當前引擎實例的屬性值
    say(text : unicode, name : string)?text:要進行朗讀的文本數據; name: 關聯發音人,一般用不到→ None預設要朗讀的文本數據,這也是“萬事俱備,只欠東風”中的“萬事俱備”
    runAndWait()None→ None?這個方法就是“東風”了。當事件隊列中事件全部清空的時候返回
    startLoop([useDriverLoop : bool])?useDriverLoop:是否啟用驅動循環→ None?開啟事件隊列

    元數據音調

    在pyttsx3.voice.Voice中,處理合成器的發音。

    age?

    發音人的年齡,默認為None

    gender?

    以字符串為類型的發音人性別: male, female, or neutral.默認為None

    id?

    關于Voice的字符串確認信息. 通過 pyttsx3.engine.Engine.setPropertyValue()來設置活動發音簽名. 這個屬性總是被定義。

    languages?

    發音支持的語言列表,如果沒有,則為一個空的列表。

    name?

    發音人名稱,默認為None.

    更多測試

    朗讀文本

    ?
  • import pyttsx3
  • engine = pyttsx3.init()
  • engine.say('Sally sells seashells by the seashore.')
  • engine.say('The quick brown fox jumped over the lazy dog.')
  • engine.runAndWait()
  • 事件監聽

    ?
  • import pyttsx3
  • def onStart(name):
  • print 'starting', name
  • def onWord(name, location, length):
  • print 'word', name, location, length
  • def onEnd(name, completed):
  • print 'finishing', name, completed
  • engine = pyttsx3.init()
  • engine.say('The quick brown fox jumped over the lazy dog.')
  • engine.runAndWait()
  • 打斷發音

    ?
  • import pyttsx3
  • def onWord(name, location, length):
  • print('word', name, location, length)
  • if location > 10:
  • engine.stop()
  • engine = pyttsx3.init()
  • engine.say('The quick brown fox jumped over the lazy dog.')
  • engine.runAndWait()
  • 更換發音人聲音

    ?
  • engine = pyttsx3.init()
  • voices = engine.getProperty('voices')
  • for voice in voices:
  • engine.setProperty('voice', voice.id)
  • engine.say('The quick brown fox jumped over the lazy dog.')
  • engine.runAndWait()
  • 語速控制

    ?
  • engine = pyttsx3.init()
  • rate = engine.getProperty('rate')
  • engine.setProperty('rate', rate+50)
  • engine.say('The quick brown fox jumped over the lazy dog.')
  • engine.runAndWait()
  • 音量控制

    ?
  • engine = pyttsx3.init()
  • volume = engine.getProperty('volume')
  • engine.setProperty('volume', volume-0.25)
  • engine.say('The quick brown fox jumped over the lazy dog.')
  • engine.runAndWait()
  • 執行一個事件驅動循環

    ?
  • engine = pyttsx3.init()
  • def onStart(name):
  • print('starting', name)
  • def onWord(name, location, length):
  • print('word', name, location, length)
  • def onEnd(name, completed):
  • print('finishing', name, completed)
  • if name == 'fox':
  • engine.say('What a lazy dog!', 'dog')
  • elif name == 'dog':
  • engine.endLoop()
  • engine = pyttsx3.init()
  • engine.say('The quick brown fox jumped over the lazy dog.', 'fox')
  • engine.startLoop()
  • 使用一個外部的驅動循環

    ?
  • engine = pyttsx3.init()
  • engine.say('The quick brown fox jumped over the lazy dog.', 'fox')
  • engine.startLoop(False)
  • # engine.iterate() must be called inside externalLoop()
  • externalLoop()
  • engine.endLoop()
  • ?


    ---------------------
    作者:gmHappy
    來源:CSDN
    原文:https://blog.csdn.net/ctwy291314/article/details/81098998
    版權聲明:本文為博主原創文章,轉載請附上博文鏈接!

    總結

    以上是生活随笔為你收集整理的python 利用pyttsx3文字转语音的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 99视频在线看 | 樱花视频在线免费观看 | 德国老妇性猛交 | 色婷婷一区二区三区四区 | 亚洲人成在线观看 | 白石茉莉奈番号 | 欧美亚洲另类视频 | 日韩黄色免费观看 | 中文在线一区 | 日韩大尺度在线观看 | 无码少妇一区二区三区芒果 | 最新av导航| 少妇性bbb搡bbb爽爽爽欧美 | 欧洲一级视频 | 欧美a v在线播放 | 97国产精品人人爽人人做 | 男人的天堂在线播放 | julia一区 | 欧美一区高清 | 婷婷激情图片 | 四虎影视成人 | 欧美自拍偷拍一区二区 | 深喉口爆一区二区三区 | 国产乱子伦农村叉叉叉 | 久久成人a毛片免费观看网站 | 操处女逼视频 | 精品人体无码一区二区三区 | 黄色大片网站在线观看 | 国产精品毛片va一区二区三区 | 免费看污片网站 | 国产黄色精品视频 | 精品国产av色一区二区深夜久久 | 99er这里只有精品 | www.久久久精品 | 伊人55| 99蜜桃臀久久久欧美精品网站 | 亚洲欧美日本一区二区三区 | 久久亚洲综合国产精品99麻豆精品福利 | 91免费视频国产 | 美女三区 | 国产亚洲精品熟女国产成人 | 日本福利在线 | 在线中文字幕第一页 | 一级黄色裸体片 | 精品少妇人妻av一区二区 | 少妇性高潮视频 | 日韩午夜激情 | 50部乳奶水在线播放 | 911毛片| 少妇4p| 五月天青青草 | 少妇人妻偷人精品无码视频 | 中文字幕被公侵犯的漂亮人妻 | 一边摸上面一边摸下面 | 日韩在线视频播放 | 久久久久久久久久久久久久av | 日韩精品高清在线 | 亚洲精品在线观 | 草莓视频18免费观看 | 美女诱惑一区 | jizz视频| 日本久久视频 | 国产精品久久91 | 亚洲成人av免费在线观看 | 久久高清毛片 | 欧洲美女与动交zozzo | 亚洲美免无码中文字幕在线 | 久久精品日韩 | 欧美区一区二区三 | 超碰一区| 九九热精品免费视频 | 日日操日日碰 | 3d动漫精品啪啪一区二区下载 | 国产精品爱啪在线线免费观看 | 日韩大片在线观看 | www国产com| 97在线精品 | 色哟哟国产精品 | 黄色男人的天堂 | 亚洲乱码一区二区三区 | 9cao| 国产三区四区视频 | 国产微拍一区 | 日日夜夜天天干 | 超碰1997| 欧美 亚洲 激情 一区 | 欧美极品一区二区 | 欧美黑人又粗又大的性格特点 | 懂色中文一区二区在线播放 | 国产嫩草av | 一本色道久久亚洲综合精品蜜桃 | 精品国产乱码久久久久久蜜臀 | 涩色视频| 美女黄视频网站 | 91素人约啪 | 久久成人人人人精品欧 | 日韩成人高清在线 | 日本在线一本 | 国产一区精品在线 |