Files
TTS/README.md
beabigegg 33ea22f259 feat: 新增智慧簡報旁白生成系統 (Smart Slide Voiceover System)
- 新增 Excel 輸入模組:解析 .xlsx 格式講稿檔案
- 新增 TTS 引擎模組:整合 edge-tts 調用 Azure Neural Voice
- 新增 PyQt6 圖形介面:檔案選擇、語音選擇、進度監控
- 新增執行緒模型:QThread + Asyncio 確保 UI 響應性
- 支援 10 種 Neural Voice (中文/越南/英文)
- 支援中英混雜、越英混雜發音

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-27 15:42:11 +08:00

131 lines
3.0 KiB
Markdown

# 智慧簡報旁白生成系統
Smart Slide Voiceover System - 將 Excel 講稿批次轉換為專業語音檔案
## 功能特色
- 批次處理 Excel 講稿,自動生成 MP3 音檔
- 支援中文、越南文、英文語音
- 支援中英混雜、越英混雜發音
- 10 種 Neural Voice 可選
- 圖形化介面,操作簡單
- 進度追蹤與日誌顯示
## 系統需求
- Windows 10/11
- 網路連線 (10Mbps+)
- Conda 環境
## 安裝步驟
1. 建立 Conda 環境:
```bash
conda env create -f environment.yml
```
2. 啟動環境:
```bash
conda activate tts_project
```
3. 執行程式:
```bash
python main.py
```
## 使用說明
### 1. 準備 Excel 講稿
建立 `.xlsx` 檔案,包含以下欄位:
| 欄位 | 必要 | 說明 |
|------|------|------|
| Filename | 是 | 輸出音檔名稱 (不含副檔名) |
| Text | 是 | 旁白內容 |
| Lang | 否 | 語言代碼 (預設: zh) |
**Lang 欄位可用值:**
- `zh` / `zh-tw` - 中文 (台灣)
- `zh-cn` - 中文 (大陸)
- `vi` - 越南文
- `en` - 英文
### 2. 選擇語音
程式提供兩種語音選擇方式:
**自動模式 (預設)**
- 根據 Excel 中的 Lang 欄位自動選擇對應語音
- 適合混合多種語言的簡報
**手動選擇**
- 從下拉選單選擇特定語音
- 所有講稿使用同一語音
### 3. 可用語音清單
#### 中文語音 (支援中英混雜)
| Voice ID | 性別 | 特徵 |
|----------|------|------|
| zh-TW-HsiaoChenNeural | 女 | 知性專業 (預設) |
| zh-TW-HsiaoYuNeural | 女 | 活潑年輕 |
| zh-TW-YunJheNeural | 男 | 成熟穩重 |
| zh-CN-XiaoxiaoNeural | 女 | 甜美親切 |
| zh-CN-YunyangNeural | 男 | 新聞播報風格 |
#### 越南語音 (支援越英混雜)
| Voice ID | 性別 | 特徵 |
|----------|------|------|
| vi-VN-HoaiMyNeural | 女 | 溫柔清晰 (預設) |
| vi-VN-NamMinhNeural | 男 | 專業沉穩 |
#### 英文語音
| Voice ID | 性別 | 特徵 |
|----------|------|------|
| en-US-JennyNeural | 女 | 標準美式 (預設) |
| en-US-AriaNeural | 女 | 自然對話 |
| en-US-GuyNeural | 男 | 專業旁白 |
### 4. 執行生成
1. 點擊「瀏覽」選擇 Excel 檔案
2. 確認輸出資料夾 (預設自動建立)
3. 選擇語音 (或使用自動模式)
4. 點擊「開始」
5. 等待處理完成
### 5. 操作提示
- **中途停止**: 點擊「停止」按鈕,系統會完成當前檔案後停止
- **錯誤處理**: 單一檔案失敗不會中斷整個批次
- **查看結果**: 完成後至輸出資料夾查收 MP3 檔案
## 範例資料
參考 `template.xlsx` 了解正確的檔案格式。
## 常見問題
**Q: 為什麼有些檔案生成失敗?**
A: 可能原因:
- 網路連線不穩定
- 文字包含特殊字元
- 單筆文字過長
**Q: 可以調整語速嗎?**
A: 目前版本使用預設語速,未來版本可能加入調整功能。
**Q: 離線可以使用嗎?**
A: 不行,本系統使用雲端 TTS 服務,需要網路連線。
## 技術資訊
- 框架: PyQt6
- TTS 引擎: edge-tts (Azure Neural Voice)
- 支援格式: Excel (.xlsx) -> MP3