本專案為 113 年度 AIGO 潛力新星盃 競賽作品,主題為 教學品質監控:AI 聲紋分析與情緒辨識,透過 AI 技術分析一對一線上教學錄音,完成 Speech-to-Text、Speaker Diarization、Emotion Recognition 與教學分析等功能。
本專案以線上一對一教學錄音為分析對象,透過多種 AI 模型完成下列功能:
- Speech-to-Text(語音轉文字)
- Speaker Diarization(聲紋辨識)
- Emotion Recognition(情緒辨識)
- 對話紀錄生成
- 教學分析報告
競賽要求 Speech-to-Text 準確率須達 95% 以上,並透過 AI 協助提升教學品質分析能力。
本專案使用主辦單位提供之教學錄音資料。
資料內容包含:
- 超過 100 筆 MP3 錄音
- 約 10 位教師
- 每筆錄音長度約 30~40 分鐘
- 菲律賓老師與台灣學生之一對一英文教學內容
教學錄音
│
▼
Speech-to-Text
(Whisper / AssemblyAI)
│
▼
Speaker Diarization
(Pyannote / AssemblyAI)
│
▼
對話紀錄生成
│
▼
Gemini 判斷老師與學生身份
│
├──────────────┐
▼ ▼
Emotion 教學分析
Recognition
本專案共實作兩種處理流程。
- 嘗試不同降噪參數改善音訊品質。
- 使用 Whisper Base 模型進行語音轉文字。
- 使用 Hugging Face 的 Pyannote 進行聲紋辨識。
- 因資料僅包含老師與學生,因此固定設定:
num_speakers = 2整合 Whisper 與 Pyannote 的辨識結果,依照時間軸配對說話內容,產生完整對話紀錄,再透過 Gemini 判斷各說話者分別為老師或學生。
使用 AssemblyAI API 直接完成:
- Speech-to-Text
- Speaker Diarization
由於兩項功能已整合於同一流程,因此可避免時間軸不同步問題,再透過 Gemini 判斷老師與學生身份。
| 方法 | Speech-to-Text | Speaker Diarization | 優點 | 缺點 |
|---|---|---|---|---|
| Whisper + Pyannote | 支援 | 支援 | 可完全本地執行 | 時間軸可能不同步 |
| AssemblyAI | 支援 | 支援 | 已整合完整流程,辨識率較高 | 需使用雲端 API |
Speech-to-Text 準確率:
94%~96%
主要問題:
- Whisper Base 對部分發音辨識較不穩定。
- Whisper 與 Pyannote 的時間軸偶爾無法完全對應。
Speech-to-Text 準確率:
95%~98%
優點:
- Speech-to-Text 與 Speaker Diarization 已整合。
- 不會產生時間軸不匹配問題。
- 辨識率較高。
將音檔前十分鐘內容與官方逐字稿進行比對,並使用 Confusion Matrix 評估辨識結果。
隨機抽樣測試之音檔皆達:
- Speech-to-Text 準確率 95% 以上
比對音檔與官方身分標註。
本專案已完成 Speaker Diarization 功能,但因競賽時間限制,未完整統計量化成果。
使用 SpeechBrain 對每句語句進行情緒分類,輸出:
- Positive
- Neutral
- Negative
除模型驗證外,本團隊亦完成整合式 Web 使用者介面,提供:
- 音檔上傳
- Speech-to-Text
- Speaker Diarization
- Emotion Recognition
- AI 教學分析報告
使用者可透過單一介面完成整體分析流程。
- Python
- Whisper
- Pyannote Audio
- SpeechBrain
- AssemblyAI API
- Gemini
- Hugging Face
- Transformers
- Librosa
- Pydub
本 Repository 主要包含:
- Speech-to-Text 實作
- Speaker Diarization 實作
- 涉及企業授權與隱私,不便於此處提供音檔內容、語音轉文字和情緒辨識結果
- 113 年度 AIGO 潛力新星盃-實證結果優等獎
- 113 年度 AIGO 潛力新星盃-潛力獎