白噪音產生器的輸出在它所代表的頻率範圍內具有平坦的功率頻譜密度,而且其樣本在統計上互相獨立,這樣的白噪音產生器就算是「精確的」——這正是 NI 對寬頻雜訊所描述的兩項特性,也是 MathWorks 在頻寬受限白噪音文件中記載的兩項特性。Lizely 白噪音產生器被設計成一種實用的數位近似值,而不是一個數學上理想的無限頻寬訊號源。它的樣本互不相關,其預期 PSD 在瀏覽器能夠呈現的頻帶上是平坦的,而且其有界均勻振幅分布落在 [-1, 1) 之間,並非遵循高斯曲線。驗證機制內建於建構流程中:一個 8 樣本的決定性測試樣本可捕捉遞迴或對映偏移,另一個 200,000 樣本的不變性測試樣本則檢查範圍、近乎為零的平均值、預期的均勻均方功率、RMS、極值,以及延遲一階相關性。對大多數聆聽與訊號路由任務而言,這種程度的精確度已綽綽有餘,儘管它不等同於實驗室等級的雜訊源,而且音量滑桿只控制此頁面的線性 GainNode。

精確度對白噪音的意義
「白噪音」一詞在行銷文案中常被寬鬆地使用,但要判斷精確度,你需要一個固定的定義。MathWorks 以兩個條件定義頻寬受限白噪音:樣本互相獨立,且功率頻譜密度在來源實際涵蓋的頻帶上保持恆定。NI 則獨立將寬頻雜訊描述為在頻域中呈現平坦——亦即相同的 PSD 條件,只是未陳述統計獨立性條款。當兩個條件皆成立時,該訊號源即符合白噪音資格。當任一條件不成立時——例如相關性的偽隨機串流,或頻譜在高頻端向下衰減的串流——訊號便會偏向粉紅色或棕色等「有色」噪音。
就 Lizely 工具而言,實際頻帶由瀏覽器的原生取樣率決定。播放器驗證從 8,000 Hz 到 192,000 Hz 的取樣率,並在該取樣率下配置正好兩秒的單聲道 Float32 樣本。超過該頻帶的頻譜根本不存在;在頻帶以內,預期 PSD 則為平坦。這正是產品合約將該產生器描述為「實用的數位近似值,而非數學上理想的無限頻寬雜訊」的原因。精確度目標在於可聽頻帶內的平坦度與獨立性,而非在所有頻率上都完美無瑕。
一個更細微的精確度問題在於振幅分布。兩組雜訊串流都可以是「白」的,但在示波器上看起來卻截然不同。高斯白噪音的樣本集中於零附近,極端樣本罕見;而有界均勻白噪音則在其最小值與最大值之間均勻分布。Lizely 產生器以獨立外觀的樣本填滿其緩衝區,樣本在 [-1, 1) 上均勻分布(包含 -1,排除 1),這屬於白噪音的均勻型態,並非高斯型態。兩者都可以是白噪音,但若你的下游程式碼假設了特定的分布,兩者的測量結果將不會相同。
Lizely 產生器如何維持精確度
任何偽隨機產生器的精確度奠基於兩件事:產生下一個狀態的遞迴,以及將狀態轉為樣本的對映。Lizely 工具採用 George Marsaglia 所描述的三位移 xorshift32 遞迴,透過一連串 xor 與位移運算推進一個 32 位元狀態。每個無符號 32 位元輸出隨後線性對映至半開區間 [-1, 1)。每次點擊 Start 時都會請求一個新的種子,因此兩個連續的工作階段不會共用同一個串流。
由於 xorshift32 執行快速且從頁面的角度來看是無狀態的,實作得以將其穩穩地控制在 Web Audio API 的每幀預算之內,無需依賴網路呼叫或 worker 執行緒。它也明確地不具密碼學安全性,而產品合約清楚表明它並非以這類用途呈現。對音訊用途而言,這已足夠:該遞迴的週期夠長,任何真人聆聽者或音訊路由測試都會將該串流視為獨立,而驗證測試樣本會捕捉遞迴或對映中任何可能讓規律外洩的靜默偏移。
緩衝區本身為兩秒的單聲道 Float32,透過一個循環 AudioBufferSourceNode 和一個 GainNode 進行饋送。對固定緩衝區進行循環會引發一個理論上的疑慮:完全週期的循環終將在自相關中顯現。384,000 個浮點樣本的上限與兩秒的持續時間,是用來讓配置保持在有限範圍內——在最大可接受取樣率 192 kHz 下,儲存量正好是:
- 384,000 樣本 × 每個 Float32 4 位元組 = 1,536,000 位元組
- 1,536,000 位元組 ÷ 1,048,576(每 MiB 位元組) ≈ 1.46 MiB
這個明確的預算可防止異常的 AudioContext 組態請求無限制的緩衝區。
你可以驗證的統計性質
200,000 樣本的不變性測試樣本檢查那些在數學上區分均勻白噪音串流與偏誤、截斷或相關串流的性質。由於下列數值是 [-1, 1) 上均勻分布的固定性質,它們屬於已公開的常數,而非從特定執行樣本手動計算的數字。
| 性質 | 預期值([-1, 1) 上的均勻分布) | 測試樣本檢查內容 |
|---|---|---|
| 樣本範圍 | -1 ≤ x < 1 | 邊界樣本值保持在半開區間內 |
| 平均值 | 0 | 200,000 樣本的經驗平均值接近零 |
| 均方功率 | 1/3 | 經驗 E[X²] 趨近均勻分布的均方值 |
| RMS 振幅 | √(1/3) ≈ 0.577 | 經驗 RMS 量值符合理論值 |
| 極值 | 長時間執行下趨近 ±1 | 記錄到的極值保持在有效範圍內 |
| 延遲一階自相關 | 獨立樣本下 ≈ 0 | 整個測試樣本中的延遲一階乘積偏低 |
這些與 MathWorks 和 NI 定義在描述白噪音於其頻帶內功率平坦且樣本間不相關時所隱含的目標一致。若測試樣本中的數值偏離這些目標,代表遞迴已損壞或對映已被修改;若目標本身在測試樣本中漂移,代表分布已被重新定義。任何一種失敗都會使建構不通過。
如何使用白噪音產生器
此工具經過驗證的操作步驟刻意保持簡短且保守——精確度只有在聆聽者感到舒適時才有意義。
- 先將裝置輸出調低,然後將工具保留在保守的 15% 起始音量,或進一步調低。
- 選擇 Start white noise,並視需要調整 0–100% 滑桿。
- 在離開頁面之前,或聲音讓你感到不適的任何時刻,選擇 Stop。
在支援 Web Audio API 的瀏覽器中開啟白噪音產生器頁面。Start 按鈕會建立一個 AudioContext、一個循環來源節點和一個增益節點。Stop 按鈕、頁面卸載路徑,以及任何啟動失敗情況,皆會停止並中斷那些節點,並關閉上下文,如此反覆的 Start/Stop 循環便不會刻意留下運作中的音訊圖。若 Web Audio 無法使用,或瀏覽器拒絕啟動,該工具會顯示錯誤且不會留下過期的播放狀態——它不會啟動一個僅完成部分設定的串流。
瀏覽器式精確度的實際限制
瀏覽器本機的產生器在其能呈現的頻帶內是精確的,但它並非經過校準的儀器。音量滑桿只控制此頁面的線性 GainNode;你的作業系統、瀏覽器、揚聲器、耳機、擴大機、配戴貼合度與聆聽環境,都會共同決定實際送達耳內的音壓。滑桿上的低百分比並非測量值或安全保證,而 100% 也未被認可為安全。若你想在 DAW 中測試路由或測量房間響應,請將滑桿視為粗略的起點,並使用 DAW 自身的儀表或獨立的 SPL 計來確認音量。
另有兩項限制決定了此處「精確度」的含意。第一,緩衝區為單聲道且有界:沒有立體聲場、沒有逐樣本的高斯加權,也無無限頻寬的主張。第二,該工具不錄製麥克風輸入、不分析房間、不校準音壓、不下載檔案,亦不主張診斷、預防或治療睡眠、聽力、耳鳴、焦慮或任何其他健康狀況。它是一個簡單且可控的訊號源,並非醫療設備、聽力防護產品或經認證的聲學測試儀器。所有產生與播放皆在目前的瀏覽器分頁中進行,沒有任何音訊、設定、種子或聆聽資料會被上傳。
如果你也想知道此工具如何處理隱私,以及其安全限制的真正界線為何,以安全性為重點的逐步說明從該角度介紹了同一個產生器。
瀏覽器精確度足夠的時機
就睡眠遮蔽、專注時段、快速路由檢查,或學習外掛如何對平坦頻譜來源做出反應而言,Lizely 白噪音產生器的精確度已足夠。其 PSD 在瀏覽器支援的可聽頻帶上是平坦的,樣本互不相關,且驗證測試樣本可防止遞迴或對映發生偏移。對於任何需要經校準的 SPL 數值、聽力測試音,或具密碼學安全性的隨機來源之用途,則應選用具備該用途設計的儀器。該產生器的精確度是真實的,其限制同樣真實——而產品合約對兩者都異常明確。
若你正在權衡選項,白噪音產生器替代方案:瀏覽器本機選項對此有詳細說明。