在產生音訊波形之前,請比較來源檔案、測量方法、聲道處理、輸出格式,以及影像需要支援的決策。 這項預先檢查可避免將外觀精緻的影像用於無法回答的作業。Audio Waveform Generator 會從目前在瀏覽器分頁中解碼的音訊建立靜態 SVG 概覽。它不會改寫來源音訊,也不會計算頻率內容、節拍、音符、校準響度、語音、瞬態或音樂結構。

先從波形必須支援的決策開始
實用的波形始於明確目的。在選擇寬度、顏色或算繪樣式之前,先決定您預期從中獲得哪些資訊。時域峰值影像可顯示音訊檔案的大致振幅形狀,而頻譜圖或校準分析工具則能回答不同的頻率或感知響度問題。
| 預定用途 | 應比較的項目 | 產生前的決策 |
|---|---|---|
| 內容或編輯概覽 | 隨時間變化的整體振幅形狀 | 不需要頻率或校準響度時,適合使用靜態最小值/最大值峰值概覽。 |
| 並排視覺比較 | 尺寸、顏色與算繪方法 | 維持設定一致,避免影像差異是由樣式造成。 |
| 立體聲或多聲道審查 | 是否必須清楚顯示聲道身分 | 產生器會合併所有聲道,因此無法取代各聲道獨立排列的顯示方式。 |
| 頻率、相位或響度分析 | 時域峰值與頻譜或校準測量 | 當上述屬性是所要回答的問題時,請選擇專用的頻譜圖或分析工具。 |
處理位置也是另一項有用的比較。使用此產生器時,瀏覽器解碼、峰值擷取、SVG 產生、預覽與下載全都在目前的分頁中進行。無論選取的音訊或產生的圖形,都不會上傳至 Lizely。
將來源與產生器的硬性限制進行比對
產生任何內容之前,請比較壓縮檔案及其解碼屬性。磁碟上看起來很小的檔案,解碼後可能會擴展成大幅增加的取樣資料,因此僅檢查檔案大小並不夠。
| 需求 | 可接受的值 |
|---|---|
| 輸入數量 | 一個瀏覽器可解碼的音訊檔案 |
| 支援的格式 | MP3、WAV、M4A、AAC、Ogg、WebM 或 FLAC,但目前的瀏覽器與作業系統必須支援實際的編解碼器 |
| 壓縮檔案大小 | 最多 50 MiB |
| 解碼後的長度 | 不超過 5 分鐘 |
| 解碼後的聲道數 | 1 至 8 個 |
| 解碼後的取樣率 | 8,000 至 192,000 Hz |
| 解碼後的聲道取樣數 | 不超過 30 million |
副檔名或 MIME 標籤無法保證瀏覽器一定能解碼檔案。不支援、損毀、空白或偽裝的檔案會傳回錯誤。超過限制的音訊會整體遭到拒絕,因此產生器不會僅根據開頭部分悄悄建立波形。
瀏覽器的 Web Audio API AudioBuffer 提供概覽所使用的解碼聲道資料。產生之前,可在信任的音訊資訊檢視畫面中檢查預期長度、聲道數、取樣率與壓縮大小;產生器也會 enforce 自身的解碼資料限制。
比較峰值方法與聲道處理
此產生器刻意採用簡單的最小值/最大值峰值包絡方法。其處理順序如下:
- 將解碼後的取樣框架分割成等長且連續的整數索引範圍。
- 在每個範圍中,尋找所有解碼聲道裡的最小值與最大值有限取樣。
- 將超出範圍的防禦性數值限制在 -1 至 1 的範圍內。
- 從每個區塊的最大值到最小值繪製一條垂直 SVG 線段。
相較於從每個區塊任意選取一個取樣值,這種方法更誠實地保留短促的正峰值與負峰值。第一個範圍從框架 0 開始,最後一個範圍延伸至最後一個解碼框架,且相鄰範圍之間不會遺漏任何已接受的框架。
請將要求的寬度與解碼資料量進行比較。欄數是要求的影像寬度、1,000 與解碼框架數之中的較小值。例如,要求寬度為 1,200 pixels 且有 2,400 個解碼框架時,會產生 min(1,200, 1,000, 2,400) = 1,000 個峰值欄。因此,超過 1,000 的寬度不會增加額外的獨立測量,而短片段也不會產生超出其內容的測量值。
聲道處理需要另一項決策。對於多聲道音訊,輸出是單一的合併峰值概覽:一個區塊的最小值可能來自某個聲道,而最大值則來自另一個聲道。結果不會分別顯示左、右聲道排列,也不會以視覺方式保留聲道身分,更不會將各聲道平均成新的音訊訊號。如果需要各聲道獨立的波形,請使用可將每個聲道呈現為獨立音軌的音訊編輯器。
讓 SVG 設定符合最終用途
請將輸出尺寸與波形出現的位置進行比較。支援的寬度範圍為 320 至 1,600 pixels,支援的高度範圍為 120 至 600 pixels。背景與波形顏色必須使用 6 位數的十六進位值。選擇對預定顯示用途具有足夠對比的顏色,並確認固定的像素尺寸適合目的地。
下載的檔案是以文字為基礎的 SVG,包含一個背景矩形與一組峰值線段。其固定像素尺寸具有相符的 viewBox,因此以其他尺寸顯示時仍保持清晰,也能在支援 SVG 的編輯器中開啟。極大型的印刷或編輯工作流程可能仍需要不同的線條粗細或更詳細的來源資料。
除了外觀,也請比較所需的檔案類型。產生器下載的是 SVG,而非 PNG、JPEG、影片或音訊。它會建立靜態視覺概覽,絕不會改寫原始錄音,因此結果適合用於檢查或嵌入,而無須修改來源媒體。
產生並驗證波形
- 選擇來源檔案。 選取一個瀏覽器可解碼的音訊檔案。確認壓縮檔案不超過 50 MiB,且解碼後的長度、聲道數、取樣率與聲道取樣總數均維持在所述限制內。
- 設定輸出規格。 選擇 320 至 1,600 pixels 的寬度、120 至 600 pixels 的高度,並以 6 位數的十六進位值設定背景與波形顏色。
- 產生本機峰值包絡。 開啟 Audio Waveform Generator,選擇檔案、套用設定並產生波形。處理作業會留在目前的瀏覽器分頁,音訊與圖形都不會上傳至 Lizely。
- 檢查回報的數量。 檢視解碼框架數與峰值欄數。預期欄數是要求的寬度、1,000 與回報框架數之中的較小值。如果替換檔案或變更選項,請再次產生;過期的物件 URL 會被撤銷,因此較舊的影像不會看似代表新的輸入。
- 檢查結果。 檢視預覽並開啟可展開的 SVG 文字檢查器。檢查尺寸、相符的 viewBox、背景顏色、波形顏色與峰值線段結構。預覽與下載使用的是完全相同的 SVG 字串。
- 下載 SVG。 儲存可縮放的 SVG;若最終應用程式的尺寸、線條處理或顏色還需進一步調整,請在支援 SVG 的編輯器中開啟。
進行最終適用性檢查
只有在下列每個問題都有明確答案時,才應核准結果:
- 波形是否支援預定的比較,而不只是看起來具有裝飾性?
- 產生器是否接受了完整的來源,而未將其截斷?
- 回報的框架數與峰值欄數是否和所選寬度及解碼音訊一致?
- 是否可接受合併的多聲道概覽,還是需要各聲道獨立排列?
- SVG 尺寸與顏色是否符合頁面、版面、出版物或印刷用途?
- 是否要求影像回報頻率、響度、相位或其他它不會計算的屬性?
峰值波形並非校準響度計。由於感知響度取決於長度、頻率平衡、動態與播放條件,因此兩段錄音可能顯示相似的峰值,聽起來卻大不相同。這張影像也不是頻譜圖:時間由左至右延伸,但每條垂直線代表的是取樣振幅範圍,而非頻率。請勿使用這張圖片診斷聽力或設備問題、削波歷程、相位或母帶處理規範遵循度。
當來源、方法、聲道、尺寸與預定決策全都一致時,經檢查的 SVG 便已準備好可作為獨立視覺素材下載,而原始音訊仍保持不變。
相關閱讀:產生音訊波形後,我應該檢查哪些項目?。
相關閱讀:如果無法產生音訊波形,我該怎麼做?。