音訊音高轉換器是一套以瀏覽器為基礎的替代方案,用播放速率公式 2^(n/12) 把一個音訊檔以整數半音移位 -12 到 +12,並把完整結果匯出成未壓縮的 PCM16 WAV;解碼、重取樣與編碼的每一步都在你目前的分頁本機執行。你打開頁面、放入一個瀏覽器能解碼的音訊檔、選一個整數移位,就會在同一台裝置上拿到剛重取樣好的 WAV——不必帳號、不必上傳、沒有伺服器端處理。因為工作在 OfflineAudioContext 裡完成,此工具能保證回傳的緩衝區符合預期的聲道數、取樣率與完整取樣框數,然後才提供檔案下載。這讓它成為務實的替代方案:當你想把人聲片段轉調、用新調示範一首歌、把短片段升高或降低一個八度,或草擬音效實驗,卻不想安裝專用軟體,也不想把音訊交給遠端服務時。

為什麼瀏覽器替代方案很重要
選擇替代音高轉換器,通常落在四個實務問題:音訊在哪裡處理、工具接受與產出哪些格式、每個半音上的數學如何運作,以及檔案變大時限制實際是什麼。以瀏覽器為基礎的工具已成為認真的選項,因為現代 Web Audio API 暴露了桌面引擎用來重取樣的同一套播放速率行為,結果編碼成標準 PCM16 RIFF/WAVE,幾乎能在 Windows、macOS、Linux、iOS 或 Android 上任何播放器開啟。音訊音高轉換器把自己放在那項決策的本機處理這一側:檔案讀取、解碼、重取樣與 WAV 編碼都留在目前分頁,頁面絕不會上傳來源檔或算繪結果。對試過桌面 DAW 卻覺得太龐雜、或遇過要求帳號的行動應用的讀者來說,簡潔、開放與隱私的組合通常就是決定因素。
音訊音高轉換器在你的分頁裡做什麼
此工具接受一個瀏覽器能解碼的音訊檔,並以播放速率重取樣套用介於 -12 與 +12 半音之間的整數音高移位。在底層,它把選定的整數 n 轉成播放速率 2^(n/12),在來源解碼取樣率下,把該值設到 OfflineAudioContext 裡的 AudioBufferSourceNode,並把完整輸出取樣框數算成輸入取樣框數除以播放速率後無條件進位。若瀏覽器回傳預期的聲道數、取樣率與完整取樣框數,算繪緩衝區會被削波到合法的 -1 到 +1 範圍,再重新編碼成交錯小端序 PCM16,放進 RIFF/WAVE 容器。任何未通過大小、格式或維度檢查的輸入都會以錯誤拒絕,而且絕不會建立下載。設定 +12 會把素材升高一個八度,並產出大約原長度一半的檔案,而 -12 會降低一個八度,產出大約兩倍長的檔案;0 則維持原始音高與長度。輸出適合快速創意實驗、練習軌、音效與粗剪,而不是透明的母帶處理流程,因為瀏覽器重取樣品質是實作定義的,而且 PCM16 量化可能與解碼後的浮點來源不同。
在本機執行音高移位
- 選擇一個瀏覽器能解碼的音訊檔。此工具接受常見的 MP3、WAV、M4A、AAC、Ogg、WebM 與 FLAC 輸入,但實際編解碼器支援仍取決於目前瀏覽器,因此認得副檔名並不保證每個少見的編解碼器設定檔都能解碼。把檔案維持在 50 MiB 或以內;更大的檔案會在任何解碼工作開始前就被拒絕。
- 把整數音高移位設為 -12 到 +12 半音。記住提高數值也會提高播放速率,因此結果更短、更快;降低數值則產出更長、更慢的檔案。設定 0 會讓音訊維持不變。
- 建立完整的本機算繪、檢視所述的時長變化,然後下載 PCM16 WAV。算繪檔是新編碼的未壓縮 PCM16,不會保留原始編解碼器、標籤、封面、章節、cue point、迴圈中繼資料或容器中繼資料。
半音數學與十二平均律公式
音高比率遵循十二平均律。對 n 半音的移位,播放速率為 2^(n/12)。就是這一條公式讓 -12 恰好等於 0.5×、+12 恰好等於 2.0×,其間每個整數都會產生一個公認的音樂音程。W3C Web Audio 規格在 AudioBufferSourceNode 播放演算法中定義對應的音分關係,其中 detune 貢獻 2^(detune/1200) 的係數,而 McGill University 的課程教材 獨立確認一個八度含十二個相等半音,每個為 2^(1/12),而且一個半音等於 100 音分。MDN 的 playbackRate 參考 從開發者角度記載同一行為,說明低於一的值會讓音訊變慢、高於一的值會讓音訊變快,而且非單位速率會觸發重取樣。若要更深入了解這些常數在實作層如何交互,音訊音高轉換器準確度、數學與限制指南 會把十二平均律推導對照此工具已驗證的 golden case。
實作範例。對 n = 7 半音的移位——原音上方的純五度——播放速率為 2^(7/12)。指數 7/12 大約是 0.5833,所以 2^0.5833 ≈ 1.4983。此工具因此以約 1.4983× 原始速率播放來源,這也代表一段 60 秒的來源會變成大約 60 ÷ 1.4983 ≈ 40.05 秒長。同一套算術會產出每個整數半音的速率,整理如下。
| 半音移位 | 播放速率 (2^(n/12)) | 音樂效果 |
|---|---|---|
| -12 | 0.5000 | 低一個八度 |
| -7 | 0.6674 | 低純五度 |
| -5 | 0.7492 | 低純四度 |
| 0 | 1.0000 | 不變 |
| +5 | 1.3348 | 高純四度 |
| +7 | 1.4983 | 高純五度 |
| +12 | 2.0000 | 高一個八度 |
輸入限制、輸出格式,以及會改變什麼
多數替代工具宣傳寬鬆的限制,然後在檔案變長時悄悄裁掉結果。音訊音高轉換器公開它實際檢查的上限,而且會在任何昂貴的輸出工作開始前就強制執行。一份編碼輸入最多可以是 50 MiB。解碼後的音訊上限為五分鐘、八聲道,以及介於 8,000 與 192,000 Hz 的取樣率。解碼來源與音高移位後的輸出各自上限為 30,000,000 聲道取樣,而第二道上限就是讓大幅度負值失敗的原因:降低音高會增加所需輸出取樣框,因此通過解碼限制的五分鐘輸入,在 -12 半音時仍可能超出輸出限制。發生這種情況時,工具會回報所請求的移位超出預算,而且不建立下載——沒有默默裁掉尾巴,也沒有用未完成檔案頂替的後備路徑。空檔、不支援的類型、無效的解碼維度,以及失敗的解碼,都會以明確訊息拒絕。
| 限制 | 值 |
|---|---|
| 輸入檔大小 | 最多 50 MiB |
| 解碼長度 | 最多 5 分鐘 |
| 解碼聲道 | 最多 8 |
| 解碼取樣率 | 8,000-192,000 Hz |
| 解碼聲道取樣 | 最多 30,000,000 |
| 輸出聲道取樣 | 最多 30,000,000 |
選擇這個替代方案之前,也值得弄清楚你磁碟上會拿到什麼。可下載的 WAV 是未壓縮、交錯、小端序 PCM16,放在 RIFF/WAVE 容器裡,浮點取樣在量化前會被削波到 -1 到 +1 範圍。匯出不會保留輸入的原始編解碼器、壓縮品質、位元率、標籤、封面、章節、cue point、迴圈中繼資料或容器中繼資料。PCM16 量化也可能與解碼後的浮點來源不同,而且強烈向上移位可能會揭露原檔中較不明顯的混疊或編解碼器瑕疵,因為瀏覽器重取樣品質是實作定義的。
這個替代方案何時合適,何時 DAW 更合適
當你想快速轉調、做練習軌、做音效實驗,或在不離開頁面的情況下粗略預覽時,以瀏覽器為基礎的重取樣器就是正確的替代方案。當優先事項是隱私時它也合適:頁面絕不會上傳來源音訊或算繪輸出,因此檔案從放入到下載都留在目前分頁。這讓它成為人聲、樂器樣本、podcast 片段、遊戲音訊,以及任何你不想交給遠端伺服器的素材的好選擇。
它不適合作為替代方案的地方,正是每個播放速率重取樣器都有的同一缺口。因為升高音高會讓音訊變快、降低音高會讓音訊變慢,此工具從不宣稱能保留拍速、語音節奏、節拍位置或精確的原始時長。若製作需要在固定時長下改變音高——人聲音高校正、對畫面重定語速,或鎖定拍速的 remix——DAW 裡的相位聲碼器或其他專用時間伸縮工作流程才是正確工具。對正在評估選項的讀者,誠實的定位是:音訊音高轉換器用時間伸縮保真度,換取簡潔、本機處理與開放標準輸出,而這對許多短的創意任務正好是正確的取捨。
瀏覽器裡的音高移位,已成熟為日常轉調工作中專用音訊軟體的務實替代方案。此工具的嚴格限制——50 MiB 輸入、八聲道以及 8,000-192,000 Hz 的解碼取樣率範圍、30,000,000 聲道取樣的輸出預算,以及 -12 到 +12 半音範圍——會事先檢查並誠實回報,播放速率公式 2^(n/12) 給你每個整數移位的確切行為,產出的 PCM16 WAV 能在你已信任的任何播放器開啟。開啟 音訊音高轉換器, 放入檔案,然後執行你需要的移位。
若要更深入了解,請見 音訊音高轉換器解說:半音與八度。