當瀏覽器無法解碼所選檔案,或超過嚴格限制時,就不會產生波形:壓縮檔案上限 50 MiB、解碼後最長 5 分鐘、解碼後聲道數介於 1 至 8、8,000–192,000 Hz 的取樣率範圍,或聲道樣本上限 3,000 萬。

解決此問題最快的方法是區分解碼失敗、輸入遭拒,以及有效的 SVG 在其他應用程式中顯示不佳。變更任何視覺選項前,請先檢查檔案及強制執行的限制。Audio Waveform Generator 會在目前的瀏覽器分頁中執行解碼、峰值擷取、SVG 建立、預覽及下載;不會將任何音訊檔案或產生的圖片上傳至 Lizely。

what should i do if i cannot generate audio waveform
如果無法產生音訊波形,我該怎麼辦?

區分產生失敗與顯示問題

變更任何內容前,請找出確切的停止點。成功完成的執行作業會提供回報的影格數與峰值欄數、視覺預覽、可檢視的 SVG 文字,以及可下載的 SVG。解碼錯誤或輸入遭拒會使這些輸出無法建立。

  • 解碼錯誤:目前的瀏覽器與作業系統無法解碼檔案,或檔案已損毀、空白或偽裝。不支援的檔案會傳回錯誤。
  • 超出限制:壓縮後大小、解碼後長度、聲道數、取樣率或聲道樣本預算超過可接受的範圍。整個檔案都會遭拒。
  • 執行成功:可以使用預覽與 SVG 檢查器。回報的計數與下載的檔案接著便提供檢查結果的基礎。
  • 後續問題:下載的 SVG 可在支援 SVG 的編輯器中開啟,卻未出現在其他應用程式中。在此情況下,波形已成功產生,問題出在後續的匯入或顯示工作流程。

變更寬度、高度或顏色可以修正無效的 SVG 選項,但無法修復無法讀取的音訊檔案。當產生器在輸出預覽前傳回錯誤時,這項區分可節省時間。

確認瀏覽器可以解碼音訊

支援的格式清單包括 MP3、WAV、M4A、AAC、Ogg、WebM 和 FLAC,但副檔名或 MIME 標籤並不保證目前的瀏覽器與作業系統支援其實際編解碼器。不支援、損毀、空白或偽裝的檔案會傳回錯誤,而不會產生不完整的波形。

  • 如果檔案只是重新命名,請使用原始匯出檔。變更副檔名無法將不支援或已損壞的錄音轉換成可解碼的音訊。
  • 如果來源應用程式可匯出可供瀏覽器解碼的新 WAV,請建立該副本並再次嘗試。替換檔案仍必須符合長度、聲道、取樣率及聲道樣本限制。
  • 請在支援其編解碼器的最新版瀏覽器與作業系統組合中測試檔案。在其他環境中可運作的檔案,在本機缺少必要解碼器時仍可能失敗。
  • 若錄音過長,請先在音訊編輯器中縮短副本,再重試。產生器不會在未告知的情況下只處理前 5 分鐘。

在內部,解碼會使用瀏覽器的 Web Audio API,其解碼後音訊由 AudioBuffer 表示。這個瀏覽器層級的解碼步驟,說明了為何看似合理的檔案名稱無法取代實際的編解碼器支援。

檢查每項強制執行的限制

壓縮檔案與其解碼後資料會分別檢查。通過檔案大小檢查,並不保證錄音也能通過長度或聲道樣本預算檢查。

檢查項目 可接受的值 超出範圍時的結果
壓縮檔案大小 最多 50 MiB 檔案會遭拒。
解碼後長度 不超過 5 分鐘 整個檔案會遭拒,而不會遭到截斷。
解碼後聲道數 1 至 8 檔案超出支援的解碼配置。
解碼後取樣率 8,000 至 192,000 Hz 取樣率超出支援範圍。
解碼後聲道樣本 最多 3,000 萬 解碼後資料超過處理預算。
SVG 寬度 320 至 1,600 像素 請選擇可接受範圍內的寬度。
SVG 高度 120 至 600 像素 請選擇可接受範圍內的高度。
背景與波形顏色 6 位數十六進位值 請使用瀏覽器支援的十六進位顏色控制項。

小型壓縮檔案可能會擴展成大得多的解碼後浮點聲道陣列。因此,在磁碟上看起來不大的錄音,仍可能無法通過 5 分鐘或 3,000 萬聲道樣本的檢查。

產生並檢查 SVG

  1. 選擇 1 個可由瀏覽器解碼的音訊檔案。開啟 Audio Waveform Generator,選擇符合壓縮及解碼限制的檔案,並讓瀏覽器進行解碼與驗證。
  2. 設定 SVG 選項。選擇 320 至 1,600 像素的寬度,以及 120 至 600 像素的高度。使用 6 位數十六進位值選取背景與波形顏色。
  3. 產生本機峰值包絡。執行產生步驟。工具會將解碼後的樣本影格分割成有上限的索引範圍,並在各自的範圍內計算最小值與最大值。
  4. 檢查回報的計數。同時檢視解碼後的影格數與峰值欄數。峰值欄數是所要求寬度、1,000 與解碼後影格數三者中的最小值。
  5. 檢查並下載完全相同的 SVG。檢視預覽與可展開的 SVG 文字,然後儲存可下載的檔案。預覽與下載使用的是相同的產生字串。

更換檔案或變更選項後,請再次產生結果。選擇替換檔案、變更選項、再次產生或離開頁面,都會撤銷過期的物件 URL,因此較舊的圖片不會看似代表新的輸入。

正確解讀影格計數與預覽

每個峰值欄會摘要一段連續的解碼後影格索引。在每個範圍內,產生器會找出所有解碼後聲道中的有限最小與最大樣本,將防禦性的超範圍值限制在 -1 至 1 之間,並在兩個極值之間繪製 1 條垂直線。

  • 欄數少於要求的寬度:短錄音的解碼後影格數可能少於寬度所需的數量,因此產生器不會憑空增加額外量測值。
  • 1,000 欄上限:長錄音最多會分成 1,000 個峰值欄,以確保 SVG 及其處理量受到限制。
  • 單一合併的立體聲或多聲道檢視:同一組的最小值可能來自 1 個聲道,最大值則來自另一個聲道。結果不會保留獨立的左右聲道軌。
  • 固定垂直縮放:滿刻度樣本會從垂直中心向上或向下延伸至所要求高度的 45%,並在頂端與底端保留 5% 的邊界空間。

完成的 SVG 包含 1 個背景矩形及 1 組峰值線。將執行作業視為完成前,請確認其尺寸、顏色、回報的計數與背景。如果似乎仍顯示舊預覽,請使用目前的檔案與設定重複產生。

將結果視為峰值概覽,而非診斷工具

輸出是靜態的時域波形。時間由左至右延伸,每條垂直線則代表一段樣本振幅範圍。它不是頻率顯示,也不是經過校準的感知響度量測。

  • 它不會計算頻率內容、節拍、音符、響度、語音、瞬態或音樂結構。
  • 兩個峰值相似的錄音可能聽起來非常不同,因為感知響度也取決於長度、頻率平衡、動態與播放條件。
  • 不應將其用於診斷聽力、設備問題、削波歷程、相位或母帶處理規範。
  • 如果需要獨立的左右聲道波形,請使用可將每個聲道呈現為獨立音軌的音訊編輯器。

原始音訊絕不會被改寫。視覺上稀疏或近乎平坦的結果可能反映來源素材,而非產生失敗,但單憑圖片無法判定錄音為何聽起來如此。

在下一個應用程式中使用下載的 SVG

下載檔案是文字式 SVG,具有固定的像素尺寸及相符的 viewBox。它不是 PNG、JPEG、影片或音訊。請在支援 SVG 的編輯器中開啟,以確認檔案包含預期的尺寸、顏色、背景與峰值線。

  • SVG 以其他尺寸顯示時仍保持清晰,且產生的標記可加以檢視或編輯。
  • 極大幅面印刷或細部編輯工作流程,可能仍需要不同的筆畫寬度或更詳細的來源資料。
  • 如果 SVG 可正常開啟,卻無法在另一個應用程式中顯示,請針對該應用程式的 SVG 匯入功能進行疑難排除,而不是重新產生未變更的檔案。

PNG、頻譜圖、各聲道獨立視覺化或應用程式原生音訊波形,都需要不同的工作流程。此處支援的輸出,是依所選本機音訊檔案產生的、可檢視且可縮放的 SVG 峰值概覽。

相關閱讀:產生音訊波形時應再次檢查哪些項目。

相關閱讀:在產生音訊波形前,我應該先了解什麼?。