M4A 轉 WAV

給那些打不開 .m4a 的軟體 —— 而且先把體積講清楚。

本機處理

把檔案拖進來,或點擊選擇

支援 M4A, AAC, MP4 audio。這台裝置上限 300 MB、30 分鐘,不必註冊。

選一個檔案,這一頁會先把它解碼 —— 取樣率、聲道數、峰值 —— 並在寫出任何東西之前先算出 WAV 的確切大小。這台裝置的上限:單檔 300 MB、音訊總長 30 分鐘。全程不上傳。

    這一頁會把你 M4A 裡的 AAC 音訊解碼,然後用錄製當下的取樣率把取樣直接寫成 16-bit PCM 的 WAV。沒有任何東西被壓縮第二次。檔案會變大不少,而確切的數字會在你按下任何按鈕之前出現。

    為什麼你手上會是 M4A

    M4A 是蘋果裝置的預設輸出。iPhone 的語音備忘錄、QuickTime 的錄音、從 iTunes 買的音軌、從 GarageBand 匯出的東西,全部都是 .m4a。影片編輯軟體只輸出音訊時給的也是它,多數 podcast 工具產出的也是。

    它的容器就是 MP4 容器,裡面裝一條 AAC 音訊軌。副檔名純粹是給軟體看的提示:.mp4 通常代表裡面有影像,.m4a 說只有音訊,而位元組層面上兩者是同一個家族。這也是為什麼有些軟體很樂意打開 .m4a,而另一些軟體拒收它、卻願意收一個內容完全相同、只是改名成 .mp4 的檔案。

    AAC 是很好的編碼 —— 同樣位元率下一般優於 MP3,這也是串流與廣播選它當標準的原因。問題從來不是音質,而是軟體不收這個檔案。

    M4A 不方便的地方在哪

    很多工具只收未壓縮 PCM。遊戲引擎、電話與語音客服系統、較舊的取樣機與硬體、部分廣播自動化系統、大多數語音分析與聲學套件,以及數量意外地多的語音提示上傳表單,都只要 WAV 而不收別的。

    Windows 的表現也不一致:內建播放器處理 M4A 沒問題,但很多舊工具、部分轉錄軟體與各種企業內部系統都不行。Android 的語音應用與 Linux 桌面工具同樣時好時壞。

    轉成 WAV 可以一次消除這整類問題,因為「RIFF 容器裡的未壓縮 PCM」是過去三十年間幾乎所有軟體都讀得懂的那一種音訊格式。

    這個轉換做到什麼、做不到什麼

    解碼把壓縮的 AAC 訊框變回一串取樣。WAV 用一個 44 位元組的檔頭加上那一串取樣把它存下來,沒有別的東西。所以這個轉換就是「解碼,然後寫出」,而且沒有品質設定,因為根本沒有品質決定要做。

    它不會讓音訊變好。錄製當下 AAC 編碼器丟掉的東西是永久消失的,而把剩下的存在一個更大的檔案裡是精確保留它 —— 連失真一起。這就是為什麼這一頁不會把結果說成「無損」。第二次有損壓縮沒有發生,那是一個真實而且可以查證的保證,但它是一個比「無損」更窄的說法,而這個差別很重要。

    代價是體積。44.1 kHz 立體聲的未壓縮 16-bit PCM 大約每分鐘 10.1 MB,48 kHz 大約 11.0 MB。一段二十分鐘、原本 10 MB 的語音備忘錄,單聲道轉出來大約 100 MB。這一頁會在你開始之前顯示確切數字,以及它是來源的幾倍。

    取樣率的陷阱,以及為什麼什麼都不上傳

    在瀏覽器裡做這件事有一個很容易犯、而使用者不可能發現的錯誤。瀏覽器解碼音訊時,一律解成「建立音訊環境時指定的那個取樣率」,通常是每秒 48,000 個取樣。用那種方式解一段 44.1 kHz 的錄音,結果就已經被重新取樣過:輸出是合法的、能播、長度正確,而這個工具已經默默處理過你的音訊,卻聲稱自己什麼都沒動。

    這一頁會先從 MP4 的結構裡讀出取樣率 —— 音訊軌的媒體檔頭 —— 並用那個取樣率解碼,所以不會發生重新取樣。它會回報自己用了哪一個;如果結構讀不出來,它會說明退回用了哪一個,而不是讓你以為那個數字是從你的檔案讀出來的。

    這裡還有一件事會被誠實回報。AAC 編碼器會在真正的內容前面放一小段暖機取樣,而瀏覽器有沒有把它剪掉不是我們能控制的。當容器宣告的長度與解碼器吐出來的長度相差超過幾毫秒,這一頁會把兩個數字都寫出來,而不是挑一個。

    這一切都不需要伺服器。解碼是你瀏覽器自己的,WAV 在分頁裡組出來:打開開發者工具、看著 Network 分頁轉一個檔案。這個網站送出的 Content-Security-Policy 把連線限制在我們自己的來源,而執行它的是你的瀏覽器。不用註冊、不必排隊、不加浮水印。真的存在的上限來自你自己的裝置而不是我們,而頁面一開始就寫出來:桌機單檔 300 MB、音訊總長 30 分鐘,手機一半。第一次造訪之後也可以離線使用。

    常見問題

    M4A 轉 WAV 會讓聲音變好嗎?

    不會。AAC 編碼器丟掉的東西是永久消失的。WAV 會用一個大很多的檔案精確存下剩下的部分 —— 連失真一起。

    檔案會變大多少?

    44.1 kHz 立體聲大約每分鐘 10.1 MB,單聲道是一半。這一頁會在你開始之前顯示確切大小,以及它是來源的幾倍。

    結果是無損的嗎?

    第二次有損壓縮沒有發生,那是有用的保證。但「無損」意思是從來沒有損失過,而一個 M4A 在被錄下的當下就已經丟掉細節了。

    可以轉 iPhone 的語音備忘錄嗎?

    可以,語音備忘錄產出的就是這個格式。要注意的是很長的錄音:解碼一小時的音訊塞不進瀏覽器分頁,所以這一頁在桌機設了 30 分鐘上限,而且會在你開始之前先告訴你。

    取樣率會被改掉嗎?

    不會。取樣率是從檔案結構讀出來、並用來解碼的,所以 44.1 kHz 的錄音會維持 44.1 kHz。如果讀不出來,這一頁會告訴你它改用了哪一個。

    我的檔案會被上傳嗎?

    不會。解碼與寫出 WAV 都在你的瀏覽器分頁裡完成。轉檔的時候可以在開發者工具的 Network 分頁自己驗證。