# Speaker Test

> 剛接好的喇叭或 soundbar 先來這裡驗收：左右聲道聽辨加最終判定、20 Hz 到 20 kHz 掃頻即時顯示頻率、立體聲定位、低音下潛，全部在瀏覽器裡產生，不下載任何音檔。

- URL: https://bytescope.dev/zh-Hant/speaker-test/
- Locale: zh-Hant · Also: [en](https://bytescope.dev/en/speaker-test.md) · [ja](https://bytescope.dev/ja/speaker-test.md)
- Runs: 檔案不會離開你的瀏覽器 — 全部在本機處理。
- Requires: Any modern browser (Chrome, Edge, Firefox, Safari), desktop and mobile.
- Updated: 2026-09-08

## What it does

這一頁的每個聲音，都是你按下播放的那一刻由 Web Audio 在瀏覽器裡產生的——不下載音檔、也不上傳任何東西。五項測試對準「剛裝好一組喇叭」會冒出來的每個疑問：左／右／雙聲道聽辨測試問你實際聽到哪一邊，最後給出判定；20 Hz 到 20 kHz 掃頻即時顯示目前頻率，還有一顆「我從這裡開始聽不到了」的按鈕，按下去就回報當下的頻率；立體聲定位測試讓一個音從最左滑到最右，你用耳朵確認音像是不是真的在移動；另外還有低頻和高頻的獨立檢查——因為喇叭真正掛掉的地方，就是頻譜的兩端。音量請從小聲開始：掃頻把全部能量集中在單一頻率上，某些頻段刺耳的程度遠超過人聲或音樂。

### 掃頻的極限，是喇叭訂的，不是你的耳朵

當你在 14 kHz 按下按鈕，那個數字代表的是「整條播放鏈從哪裡開始沒把聲音送進房間」——喇叭是嫌疑犯的機率至少跟你的耳朵一樣高。筆電喇叭在人耳極限之前很久就滾降了，手機喇叭掉得更早；拿筆電內建喇叭跑掃頻，你會「發現」一個根本不存在的聽力損失。低頻端也一樣：小型桌面喇叭本來就放不出 40 Hz，那邊的無聲是物理，不是故障。掃頻的響度用近似的 A 加權補償拉平過，並且限制在 ±12 dB 以內——那是為了讓整段掃頻聽起來不那麼折磨，不是為了讓它變平直。把讀數當成「這套系統在這個音量下的特性」就好，永遠不要當聽力檢查。

### 接錯線、掛掉的聲道、消失的低音

裝機後的經典疑問，聲道測試一分鐘內就能了結：桌子後面的線接反了，會直接顯示成「左右對調」的判定；單體或擴大機其中一個聲道死了，會表現成一邊無聲——但同一條線換插到另一個聲道又正常。立體聲定位測試讓你聽出音像是連貫地移動，還是走到一半黏在某一邊；低頻檢查則回答「你花錢買的低音，到底有沒有送到你的椅子上」。但整個過程請記得這一頁的本質：它是比較和辨識的工具，不是量測儀器。結果取決於系統音量、路徑上任何 OS 或應用程式的等化器，走藍牙的話還取決於編解碼器和它的重取樣。它能告訴你左右接反、某一邊掛了；它不能告訴你這對喇叭是平直的。

## Limits

Does not measure loudness in dB or fix audio drivers; it plays test tones per channel.

請先將音量調低。測試音會將所有能量集中在單一頻率，在 1–4 kHz 附近會比相同音量設定下的音樂更加刺耳。

## Machine output

Copy JSON copies an envelope `{ tool, url, generatedAt, userAgentHint, result }`. `tool` is `"speaker-test"` or `"headphone-test"`; `result` is the same listener-test shape on both pages.

- `testsPlayed` (string[]) — Instruments the listener actually started, in on-screen order: `"channels"`, `"sweep"`, `"pan"`, `"band-low"`, `"band-high"`. Empty until something has been started.
- `channelAnswers` (array of objects) — Left, right, both — always that order. Empty until the channel run finishes. Each item is `{ played, heard }`; `heard` is `"left"` | `"right"` | `"both"` | `"nothing"` or `null` when that prompt was not confirmed.
- `channelVerdict` (string | null) — `"correct"` | `"swapped"` | `"left-silent"` | `"right-silent"` | `"both-silent"` | `"mono"` | `"inconclusive"`. `null` until the listener has answered enough for a verdict.
- `sweepPlayed` (boolean) — Whether the frequency sweep was started.
- `sweepMarkedHz` (number | null) — Frequency the listener marked. `null` = sweep not marked.
- `panPlayed` (boolean) — Whether the pan sweep was started.
- `bandLowHeard` (string | null) — `"yes"` | `"no"`. `null` = low-band prompt not answered.
- `bandHighHeard` (string | null) — `"yes"` | `"no"`. `null` = high-band prompt not answered.
- `sampleRate` (number | null) — AudioContext sample rate in Hz. `null` = context not opened.

## FAQ

### 播這些測試音會弄壞喇叭嗎？

合理音量下不會——這些只是單純的正弦波，音樂裡本來就充滿這種成分。真正的風險是音量，而且先受害的是你不是機器：掃頻把全部能量壓在單一頻率上，在 1–4 kHz 附近，一個聽音樂覺得剛好的音量會變得非常難受。從小聲開始，只加到聽得清楚為止。小喇叭被大音量的深低頻逼到出現破音或雜音，那是叫你把音量調小的訊號，不是繼續撐——大音量下持續破音，是測試音唯一可能傷到單體的方式。

### 掃頻到 15 kHz 我就聽不到了，是聽力受損嗎？

多半不是，而且這一頁沒有能力告訴你是或不是。掃頻消失的頻率，被喇叭限制的程度至少跟被你耳朵限制的一樣多：筆電喇叭遠在人耳極限之前就滾降，手機喇叭更早，連不錯的桌面喇叭在頻譜頂端都會掉輸出。再加上系統音量、等化器、藍牙編解碼器，那個數字描述的是整條播放鏈，不是你的聽力。真的擔心聽力，請去找有校正設備的聽力師——那是一種網頁在原理上就當不成的儀器。

### 測出來左右相反，我該檢查哪裡？

從喇叭往回追。擴大機或錄音介面的 L、R 輸出，線有沒有插反？主動式喇叭的話，有電源的那顆是不是在你以為的那一邊？再來檢查作業系統：有些音效驅動程式和虛擬裝置可以重新對應聲道，環繞聲設定被誤設成立體聲也可能整個鏡像。每改一個地方就重跑一次聲道測試，十秒鐘的事。如果實體對調一次就好了，那從頭到尾就是接線的問題。

### 筆電上低音測試完全沒聲音，是壞了嗎？

不是——這是預期中的結果，也是誠實的結果。重現 40 Hz 需要推動大量空氣，筆電的機身在物理上辦不到；大多數筆電喇叭在 100 到 300 Hz 之間就放棄了。音本身有正確產生——插上耳機就聽得到。小型內建喇叭在低頻端的無聲是物理定律。反過來說，如果一顆大喇叭或超低音在 40–60 Hz 沒聲音，那就值得追了：檢查分頻點設定、超低音自己的音量旋鈕，還有 OS 是不是真的送了全頻段訊號給它。

### 用藍牙測，結果還有意義嗎？

聲道辨識有意義——沒有任何編解碼器會把左邊搬到右邊。但只要牽涉頻率響應或響度就要小心：編解碼器會壓縮和重取樣訊號，有些裝置還會再疊自己的處理，而頻譜頂端最先被犧牲。掃頻和音量比較，能接有線就接有線。不管走哪條路，聲音都不會離開你的電腦——測試音在瀏覽器裡產生，直接送進音訊輸出。

## Related tools

- [Headphone Test](https://bytescope.dev/zh-Hant/headphone-test.md) — 在退換貨期限截止前，檢查新耳機是否有左右相反、單邊偏小聲或缺少低音的問題。
- [Mic Test](https://bytescope.dev/zh-Hant/mic-test.md) — 透過即時 VU 表、波形圖、頻譜圖以及錄音回放功能測試你的麥克風。
