簡介 python 文字轉語音

簡介

pyttsx3 是一個用來做「文字轉語音(Text-to-Speech, TTS)」的 Python 套件,可以讓程式把文字直接唸出來,讓電腦「開口說話」的工具。

特徵 :

.完全離線文字轉語音轉換

.從系統安裝的不同語音中進行選擇

.控制語速/語速

.調整音量

.將語音音訊儲存為文件

.簡單、強大且直覺的 API

參照: https://pypi.org/project/pyttsx3/

https://pyttsx3.readthedocs.io/en/latest/

它不會自己生成語音,而是透過呼叫系統內建語音引擎

  • macOS:NSSpeechSynthesizer
  • Windows:SAPI5
  • Linux:eSpeak

因此,聲音的品質取決於作業系統

安裝所需套件

如果需要使用麥克風,建議安裝此套件

pip3 install pyaudio

註:

macOS pyaudio 如出現問題 ->

note: This error originates from a subprocess, and is likely not a problem with pip. ERROR: Failed building wheel for pyaudio

原因 ->

pyaudio 需要編譯 C 擴展,但你的系統缺少底層音訊函式庫

macOS 處理->

步驟 1:安裝 PortAudio

brew install portaudio

步驟 2:重新安裝 PyAudio

pip3 install pyaudio

「文字轉語音(Text-to-Speech, TTS)」套件

pip3 install pyttsx3

範例說明(英文, 簡中, 繁中)
python 复制代码
import pyttsx3

# 本身不做語音合成,它是呼叫系統內建語音引擎
engine = pyttsx3.init() # Initialize the pyttsx3 engine


# 發音調整
# 語速 以每分鐘字數 為單位
engine.setProperty('rate', 150)
# 音量 取值範圍為0.0 到 1.0
engine.setProperty('volume', 1.0)

### 語音合成
engine.say("Hello, this is a test of the pyttsx3 library.")


# 切換中文聲音
# 簡體中文範例
# 列出所有語音,找到中文的 voice 後設定
voices = engine.getProperty('voices')
for voice in voices:
    print(voice.id, voice.name)
    # 找到中文 voice 後設定, 我的電腦顯示 簡體中文
    if 'zh' in voice.id:  # Look for a Chinese voice
        engine.setProperty('voice', voice.id)
        break
# 因為是 簡體中文 voice, 所以我講文字改為簡體中文
engine.say("你好,这是中文语音测试")


"""
繁體中文範例
我直接指定 mac 繁體中文 voice:
Ting-Ting
Mei-Jia
"""
engine.setProperty('voice', "com.apple.speech.synthesis.voice.Mei-Jia")
engine.say("你好,這是中文語音測試")

engine.runAndWait() # 呼叫函數讓引擎處理語音

終端機

pyttsx3 Library 讓我們能夠靈活地在 Python 中將文字轉換為語音,並完全控制語音的速度、音量和音色。無論是在開發需要音訊回饋的項目,還是想添加一個互動功能,這些屬性都能讓我們使語音聽起來完全符合我們的預期。

相关推荐
han_hanker8 分钟前
重新认识枚举enum
开发语言
鹏易灵1 小时前
C++——8.移动语义初探(移动构造、移动赋值)
开发语言·c++·php
2601_962341301 小时前
计算机毕业设计之jsp考研在线复习平台
java·大数据·开发语言·hadoop·python·考研·课程设计
凯瑟琳.奥古斯特1 小时前
力扣1008:前序重建BST
开发语言·c++·算法·leetcode·职场和发展
2zcode1 小时前
项目文档:基于MATLAB图像处理的饮料瓶灌装液位检测系统设计与实现
开发语言·图像处理·matlab
云烟成雨TD2 小时前
LangFlow 1.x 系列【7】工作流创建与部署指南
人工智能·python·agent
月疯2 小时前
np.where()[0]的用法
开发语言·python·numpy
z落落2 小时前
C#五大加密算法(AES、DES、MD5、RSA、SHA)
开发语言·c#
namexingyun2 小时前
Scaling Law bug实战启示:从“虚胖“到“精瘦“的算力效率革命
开发语言·网络·人工智能·bug·ai编程
KaMeidebaby2 小时前
卡梅德生物技术快报|纳米抗体技术全套实操流程:AFB1 全合成文库淘选 + 分子对接定点突变参数手册
人工智能·python·tcp/ip·算法·机器学习