即時偵測是在短時間窗裡不斷重新估算
持續發出一個母音時,波形也不會完全重複。呼吸、聲帶的細微變化、房間反射與麥克風自動增益都會進入取樣。時間窗太短,反應快但證據不足;時間窗太長,數字更穩卻跟不上滑音與起音。即時產品必須在「及時」與「可信」之間取捨,而不是追求一條永遠不移動的假直線。
軌跡跳動常見於四種情況
- 聲音剛開始:起音包含氣流與暫態,週期結構尚未穩定。
- 音量太低:環境噪音在時間窗中的佔比變大時,演算法可能會追蹤到錯誤的週期。
- 泛音更突出:基頻較弱時,結果可能暫時跳到高一倍或低一倍的位置。
- 聲音正在換音:真實音高本來就在移動,過度平滑反而會把變化藏起來。
因此,「回傳一個數字」還不夠。每一幀都需要進一步做品質判斷,以決定它能不能推動挑戰進度、只拿來顯示,或應該暫時捨棄。
FrostNote 如何使用信賴度
FrostNote 只有在音量達到門檻、週期證據可靠,而且音高落入合格區時,才會增加保持進度。短暫掉音不會立刻清空已累積的進度,明顯離開目標則會停止增加。目標附近的顯示會平滑聚焦,但不會為了好看,把唱高或唱低的資料硬拉回中心。
第一次進行舒適音域引導時,不會直接採用使用者發聲的第一個數字,而是收集一段較穩定的基頻,再以中位數推薦相鄰音域。中位數可以降低少量八度誤判與起音異常對推薦的影響,但它仍只是這次發聲的起點,不是永久聲域認證。
穩定的介面不等於竄改測量
工程上可以把「偵測結果」與「顯示視窗」分開處理:前者保留真實估算,後者則用固定節奏平滑調整範圍。FrostNote 一開始顯示較寬的音域,捕捉到穩定音高後再縮小到目標附近;失聲或長時間不穩定時則重新放寬。這樣既看得到整體位置,也不會讓座標軸跟著每一幀抖動。
練習建議在安靜的環境中固定麥克風距離,先用自然音量發出穩定的母音,再觀察中段的軌跡。不要只用第一個點或最後一個點來評價整次發聲。
為什麼這項偵測留在瀏覽器本機
即時訓練需要低延遲,卻不需要長期保存聲音。FrostNote 會在瀏覽器內完成麥克風收音與基頻估算;伺服器端統計不會接收原始錄音、聲紋或逐幀音高軌跡。挑戰回放只保存在目前頁面的記憶體中,重新整理或離開後不會作為帳戶資料保留。