先問任務需要什麼,而不是先選技術
即時音高回饋需要在數十到數百毫秒內更新畫面,而原始聲音本身沒有長期保存價值;完整聲音報告則需要統一解碼與更複雜的特徵彙整,裝置差異可能讓純瀏覽器計算難以維持一致。選擇處理位置時,應同時回答延遲、運算量、一致性、故障恢復與資料最小化這五個問題。
CVoice 系列的四種實際路徑
| 應用程式 | 處理位置 | 為什麼這樣選 |
|---|---|---|
| FrostNote | 瀏覽器本機偵測音高 | 需要即時軌跡;伺服器端不需要原始錄音與逐幀資料 |
| MelodyCanvas | 瀏覽器本機合成與排程 | 輸入是畫線而不是麥克風,播放應立即回應編輯 |
| CVoice | 上傳後由伺服器端分析 | 統一處理多種檔案格式,並產生完整的聲音印象報告 |
| CVoice Insight | 伺服器端排隊分析 | 處理鏈路較長,需要任務恢復與一致的報告產生 |
「本機」不會自動等於安全,「伺服器端」也不會自動等於濫用。真正的差異在於,是否只收集完成任務所必需的資料,以及頁面有沒有誠實說明資料生命週期。
上傳之後,責任才剛開始
伺服器端路徑至少需要處理傳輸加密、暫存檔命名、存取隔離、成功與失敗後清理、異常中斷恢復,以及最長保留時間。CVoice 的原始錄音只用於當次分析,並在完成或失敗後刪除;Insight 為了排隊與異常恢復會保留任務狀態,意外遺留的原始檔案則設有最長清理邊界。產生的結構化結果與原始聲音也必須分開說明,不能只用一句「保護隱私」含糊帶過。
本機路徑同樣需要在不用時停止麥克風軌、釋放記憶體中的錄音,並避免把裝置特徵用於無關的識別。FrostNote 的匿名統計只包含卡片、時長、精度區段與去重資訊,不包含原始錄音、聲紋或逐幀音高。
使用者如何判斷一個聲音網站是否透明
- 麥克風是在進入頁面時自動要求權限,還是在明確操作後才要求?
- 聲音只在瀏覽器處理,還是會傳送到伺服器?
- 原始錄音、分析結果與匿名統計各自會保留多久?
- 失敗、關閉頁面或伺服器重新啟動時,資料會如何清理?
- 結果是否會公開播放、進入排行榜,或提供給第三方?
我們的原則功能可以複雜,但資料說明必須簡單。若無法用一般人能理解的語言說明一項資料為什麼需要、會保存多久,就應重新考慮是否真的需要收集。