🎵

音效 QA 串接檢核流程

現況回顧、遇到問題與未來規劃
2026-08-11
🔍 標準檢核流程(4步驟)
1

目錄掃描

確認音效資產目錄結構,列出所有音效檔案(.wav / .ogg / .mp3),建立音檔清單

2

宣告比對

對照程式碼音效清單(SoundSystem init / GameAudioData 欄位),確認宣告與音檔一對一對應

3

呼叫追蹤

追蹤所有播放函式呼叫(play()),確認觸發邏輯正確、觸發時機合理(如 !top.isAI 判斷)

4

響度量測 (有規格時)

使用 ffmpeg loudnorm 量測 Integrated LUFS / True Peak,對照目標值(如 -10 LUFS)

📦 已檢核的三個專案
專案技術架構主要發現
SpinningTop
休閒遊戲
TypeScriptWeb BGM 誤放 SFX 目錄 舊版 .sfk/.bak 殘留 alias 命名 typo
AWP SuperAce JP
老虎機
UnityWAV 4/5 音檔不符 -10 LUFS Trigger 破音 +0.2 dBTP Count 音效 -15.8 LUFS 過小
Fish GhostHunters
捕魚遊戲
Cocos CreatorTypeScript BGM 靜默 bug(欄位名稱錯誤) 31 個舊素材音效無串接 SkyKing 舊欄位未清理
⚠️ 常見問題分類

🗂️ 音檔管理問題

  • BGM 誤放進 SFX 目錄
  • 備份檔殘留(.bak / .sfk)
  • 舊版素材未清除

💻 程式碼問題

  • 欄位名稱 typo(如 Missle → Missile)
  • 宣告欄位與音檔名稱不同步
  • 舊版函式名稱未更新

🔊 響度問題

  • 不符合目標 LUFS(超過 ±1 LU)
  • True Peak 超標(破音風險 > 0 dBTP)
  • 音量落差過大影響聆聽體驗

🔗 串接遺漏

  • 有音檔但無程式碼宣告
  • 有宣告但無呼叫觸發
  • 觸發時機錯誤或條件判斷有誤
🚧 目前遇到的挑戰
01

全手動作業

目前依賴手動 grep + ffmpeg,流程耗時且容易遺漏邊角案例,尤其大型專案音效數量龐大時

02

跨專案知識未結構化

三個專案的問題模式高度重複,但沒有統一的 Checklist,每次都需要重新推導檢核項目

03

驗證範圍有限

程式碼串接可掃描,但 Inspector 綁定(Cocos Creator / Unity)需要人工開啟編輯器確認,無法自動化

04

引擎差異增加複雜度

每個引擎的音效管理機制不同(Unity MasterAudio、Cocos AudioSource、TypeScript SoundSystem),需分別制定檢核方法

🗺️ 未來規劃

短期

1 – 2 週
  • 建立音效 QA Checklist 文件
  • 制定響度規格標準(各引擎)
  • 制定命名規範文件
  • 整理常見錯誤模式清單

中期

1 個月
  • 製作自動化掃描腳本
  • 比對宣告 vs 檔案 vs 呼叫
  • 輸出 CSV 差異報告
  • 批次 ffmpeg 響度量測工具

長期

季度目標
  • 納入 CI/CD 前置檢查
  • commit 前自動跑串接驗證
  • 建立三引擎對應掃描工具
  • 持續累積案例知識庫
🎯
結語
🛡️ 音效 QA 是遊戲品質的最後防線
✅ 現有流程已可發現串接錯誤、響度問題、殘留素材
🚀 系統化與自動化是下一步目標
音效 QA 檢核小組 · 2026
1 / 7