日韩性视频-久久久蜜桃-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文字转语音的全部內容,希望文章能夠幫你解決所遇到的問題。

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

    主站蜘蛛池模板: 欧美人妻精品一区二区三区 | 老熟妇一区二区三区 | 免费超碰在线 | 激情自拍偷拍 | wwwwww在线观看 | 精品人妻码一区二区三区红楼视频 | 67194在线免费观看 | 青草视频免费在线观看 | 人妻无码一区二区三区久久99 | 日韩人体视频 | 丁香免费视频 | 91精品人妻一区二区 | 中国zzji女人高潮免费 | 成人免费看类便视频 | 精产国品一区二区三区 | 亚洲香蕉在线观看 | 亚洲中文字幕一区二区在线观看 | 日韩福利在线播放 | 久久中文在线 | 久久大尺度 | 男女男网站| 爆乳熟妇一区二区三区 | 亚洲 激情 小说 另类 欧美 | 超碰在线网 | 漂亮少妇高潮午夜精品 | 亚洲精品在线播放视频 | 九色porny视频| 香蕉在线播放 | 国产综合在线视频 | 四虎视频在线观看 | 久久橹 | 国产精品国产三级国产三级人妇 | 欧美极品videos精品 | 超碰免费在 | 亚洲区自拍 | 少妇一级淫片免费放2 | 森泽佳奈中文字幕 | 男人懂得网站 | 91偷拍一区二区三区精品 | 亚洲午夜18毛片在线看 | 日韩一级黄色录像 | 欧美aaaaaaaaaa | 91免费污视频 | 18禁免费观看网站 | 一级片视频免费观看 | 黄色片在线看 | 精品久久久久久 | 日韩中文字幕在线观看视频 | 欧美黑人狂野猛交老妇 | 日韩精品第二页 | 色婷婷av一区二区 | 久久人妻免费视频 | 女人的av| 亚洲美女啪啪 | 亚洲中字在线 | 国产欧美日韩三区 | 无码人妻丰满熟妇精品区 | 俄罗斯女人裸体性做爰 | 亚洲永久精品一区二区 | 中文字幕一区二区三区在线观看 | 亚洲精品天堂在线观看 | 亚洲精品在线中文字幕 | 涩涩涩av| 国产一区二区三区三州 | 日韩av在线一区二区三区 | 久久aⅴ国产欧美74aaa | 特黄一区二区三区 | 嫩草国产在线 | 精品久久久久久久久久久久久久 | 中文字幕在线播放av | 午夜做爰xxxⅹ性高湖视频美国 | www.av.cn| 国自产拍偷拍精品啪啪一区二区 | 风间由美一区二区 | 欧美色综合天天久久综合精品 | 国产精品二区三区 | 亚洲精品在线观看免费 | 美日韩成人av | 免费极品av一视觉盛宴 | 偷看洗澡一二三区美女 | 久久综合亚洲色hezyo国产 | 色吧av| 五月天精品在线 | 视频一区二区视频 | 在线视频污 | 秋霞中文字幕 | 玖玖精品视频 | 91传媒视频在线观看 | 亚洲永久在线观看 | 欧美午夜激情影院 | 婷婷九月丁香 | a级黄片毛片 | 日韩有码一区二区三区 | 美女视频黄色 | 天天操天天操天天 | 五月丁香综合激情六月久久 | 色女人天堂 | 色网站观看| 亚洲av成人无码一区二区三区在线观看 |