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>
This commit is contained in:
46
openspec/specs/excel-input/spec.md
Normal file
46
openspec/specs/excel-input/spec.md
Normal file
@@ -0,0 +1,46 @@
|
||||
# excel-input Specification
|
||||
|
||||
## Purpose
|
||||
TBD - created by archiving change add-tts-voiceover-system. Update Purpose after archive.
|
||||
## Requirements
|
||||
### Requirement: Excel File Loading
|
||||
系統 SHALL 支援載入 .xlsx 格式的 Excel 檔案作為講稿輸入來源。
|
||||
|
||||
#### Scenario: Valid Excel file selected
|
||||
- **WHEN** 使用者選擇有效的 .xlsx 檔案
|
||||
- **THEN** 系統解析檔案內容並準備處理
|
||||
|
||||
#### Scenario: Invalid file format rejected
|
||||
- **WHEN** 使用者選擇非 .xlsx 格式檔案
|
||||
- **THEN** 系統顯示格式錯誤警告,不進行處理
|
||||
|
||||
### Requirement: Column Parsing
|
||||
系統 SHALL 解析 Excel 檔案的標準欄位結構,包含 Filename、Text、Lang 三個欄位。
|
||||
|
||||
#### Scenario: Required columns present
|
||||
- **WHEN** Excel 檔案包含 Filename 與 Text 欄位
|
||||
- **THEN** 系統成功解析所有資料列
|
||||
|
||||
#### Scenario: Missing required column
|
||||
- **WHEN** Excel 檔案缺少 Filename 或 Text 欄位
|
||||
- **THEN** 系統顯示欄位缺失錯誤,停止處理
|
||||
|
||||
#### Scenario: Optional Lang column handling
|
||||
- **WHEN** Lang 欄位為空或不存在
|
||||
- **THEN** 系統預設使用 "zh" 作為語言設定
|
||||
|
||||
### Requirement: Data Validation
|
||||
系統 SHALL 驗證每一列資料的有效性,確保必要欄位非空。
|
||||
|
||||
#### Scenario: Empty text field
|
||||
- **WHEN** 某列的 Text 欄位為空
|
||||
- **THEN** 系統記錄警告並跳過該列
|
||||
|
||||
#### Scenario: Empty filename field
|
||||
- **WHEN** 某列的 Filename 欄位為空
|
||||
- **THEN** 系統記錄警告並跳過該列
|
||||
|
||||
#### Scenario: Valid row processing
|
||||
- **WHEN** Filename 與 Text 欄位皆有值
|
||||
- **THEN** 系統將該列加入處理佇列
|
||||
|
||||
Reference in New Issue
Block a user