Day01 文字轉語音 Text to Speech


🟡 先看看程式的效果

這個文字轉語音的範例使用了 Python 的 pyttsx3 模組來實現文字轉語音(Text-to-Speech, TTS)的功能。這個模組是一個跨平台的 TTS 工具, 支持多種語音合成器。有了 TTS 大家的程式便可以透過語音跟使用者互動了!

This text-to-speech example uses the Python library pyttsx3 to implement text-to-speech (TTS) functionality. This module is a cross-platform TTS tool that supports multiple speech synthesizers. With TTS, programs can interact with users through voice!


🟡 開始前的預備工作

請先看看 Day00 建置 Python 開發環境 (Windows 10 或以上) 並安裝好 Python (已內置簡約版編程界面 IDLE)。


🟡 學習目標

學習編寫 Python 程式透過 OS 內置的語音將文字朗讀出來。


🟡 程式碼

請先下載 “Text to Speech 文字轉語音.py”
請按此下載

'''

Python + AI in 21 days
https://jasonworkshop.com/python

Designed by Jason Workshop

[請勿修改以上內容]

---

預備工作:

首先,請確保已安裝 pyttsx3 模組
如不確定可直接在 Windows 的 cmd prompt 執行以下指定
pip install pyttsx3

'''

import pyttsx3

# 要朗讀的文字
text = "請注意, 請伍浩昌到六號窗"

# 初始化 TTS 引擎
tts = pyttsx3.init()

# 設定語音的語速 (數字越大朗讀速度越快)
tts.setProperty('rate', 120)

# 獲取可用的語音列表
voices = tts.getProperty('voices')

# 顯示可用的語音套件
print("可用的語音選項:")
for i, voice in enumerate(voices):
    print(f"Voice[{i}]: {voice.name}")

# 設定語音,這裡選擇第二個語音
# 注意:在某些系統上,語音的索引可能會有所不同
tts.setProperty('voice', voices[1].id)

# 發音指定的文字
tts.say(text)

# 等待語音播放完成
tts.runAndWait()

🟡 如何打開並執行這個範例程式

🔻 在下載回來的 Python 程式上 Right Click, 然後選 Edit with IDLE, 再按 Edit with IDLE 3.8 (64-bit)


🔻 在 IDLE 裏就像普通的文字編輯器一樣, 大家可以自動編輯程式。


🔻 當需要執行程式時可以在 Menu Bar 按 Run 然後再按 Run Module, 或者簡單一點直接按鍵盤上的 F5 便可以。


🔻 程式運行時會出現 IDLE Shell 畫面, 在這裏可以看到程式運行的情況以及你想輸出的資訊, 在今天的例子中你可以看到程式列出了電腦內可用的語音, 語言的數量及用的語言主要是取決於你的操作系統安裝了哪些語音包, 請大家好好利用程式內的 Remark, 那可以幫助大家更快的了解程式的原理及如何修改。更詳細的講解當然要留意 Jason Workshop 的線上課程啦! (詳情請留意網頁或 FB 的資訊)


🟡 小小挑戰一下

大家可以嘗試進行一些修改或改良喔! 例如:
✌️修改一下語速
✌️嘗試其他的語言
✌️嘗試在 IDLE Shell 列出語音包及其編號後, 待使用者輸入編號後才以相應的語音讀出文字
✌️嘗試安裝其他的語音包

😁 明天見!

按這裏回到 Python + AI 的 21 天挑戰