一位記者向我發送了四個小時的採訪作為 M4A 文件,因為她的轉錄服務拒絕了這些文件,並詢問以 320 kbps 轉換為 MP3 是否會“保持高品質”。 它不會。 錄音是 64 kbps 單聲道語音備忘錄,以 320 重新編碼它們會產生大五倍的檔案,其中包含完全相同的音訊,以及來自第二個編碼器的一層新損壞。 她需要的是 WAV,因為轉錄服務想要 PCM,而檔案大小對於她上傳一次並刪除的內容無關緊要。 轉換花了一分鐘。 有用的部分是確定損失的方向,在您轉換任何內容之前,這值得理解。
TL;DR: M4A 和 MP3 都是有損的,因此在它們之間進行轉換會解碼已經缺少細節的音訊,並用不同的型號再次壓縮它。 沒有設置可以避免這種情況。 有兩個規則保持小:永遠不要在來源上方選擇比特率,因為額外的位元描述了第一個編碼器而不是錄音,並將原始的部分保存為您的主副本而不是轉換的副本。 如果目的地是編輯器、轉錄服務或語音模型,請改為轉換為 WAV 並完全跳過第二代。 那個 音頻轉換器 在 Toolz.dev 上,在您自己的標籤中透過 WebAssembly 運行 ffmpeg,因此訪談或語音備忘錄永遠不會離開機器。
.m4a 檔案裡面是什麼?
擴充功能將容器命名為容器,而不是音訊,而這種區別消除了圍繞這種格式的大部分混亂。
M4A 是 MPEG-4 容器,可容納單一音軌。 它裡面的通常是 AAC,這是 iPhone 語音備忘錄、Mac 螢幕錄製、Quicktime 匯出和大多數 Apple 下載所產生的內容。 但是同一個容器,具有相同的擴展,可以將 Apple Lossless 保存,而這兩個檔案的表現並不相似:一個已經拋棄了細節,另一個沒有。 iTunes 匹配的 .m4a 是 AAC。 Apple Music 在無損模式下翻錄的 .M4A 是 ALAC,大小約為 5 倍,這是您在沒有工具的情況下將它們區分開來的方式。
這很重要,因為正確的轉換取決於編解碼器,而不是擴展。 轉換為 MP3 的 AAC 檔案會失去第二代。 轉換為 MP3 的 ALAC 檔案會遺失第一個。 轉換為 WAV 或 FLAC 不會進一步失去,儘管也不能恢復 AAC 已經丟棄的東西。
容器和編解碼器之間的相同關係管理視訊,它會導致更大的誤解 remux 指南: 換包裝器很便宜,換壓縮機不是。
為什麼將 M4A 轉換為 MP3 會使情況變得更糟?
因為這兩種格式都透過丟棄精神聲學模型預測你不會聽到的東西來發揮作用,而第二個編碼器無法區分錄音和第一個編碼器的剩菜。
AAC 和 MP3 建構不同的模型。 他們不同意哪些頻率被更響亮的鄰居掩蓋,他們將訊號分成不同數量的頻帶,並且處理突然的瞬態不同。 所以 AAC 決定保留的細節不是 MP3 會保留的細節,反之亦然。 當 MP3 對 AAC 檔案的解碼輸出進行編碼時,它會花費一些時間來保存從來不在麥克風訊號中的偽影,並丟棄一些在第一次通過時倖存下來的東西。
損害以可預測的順序顯示。 鈸和踩镲先走,變成一種抹黑的嘶嘶聲。 掌聲如下,因為一個充滿手的房間接近噪音和噪音是這些編解碼器無法建模的一件事。 然後是 Sibilance,即“S” s” 聲音,一旦你注意到它,就會產生一種難以聽不見的顫音。
這一切都不是反對皈依的論點。 當下游的東西真正需要不同的格式時,這是一個從原始轉換一次的論點。 M4A 的檔案並不比 MP3 差。 在相同的比特率 AAC 中通常聽起來更好,這意味著從 M4A 到 MP3 是一個兼容性的步驟,它會花費您一點品質,而不是為您帶來任何好處的升級。
您應該選擇哪個比特率?
匹配來源或稍微低於它,並且永遠不會高於它。
原因是上面的。 高於來源速率的位元用於描述偽影,因此以 320 kbps MP3 重新編碼的 128 kbps M4a 是大小的兩倍半,沒有可聽見的增益。 遠低於源頭做相反的事情,並拋棄了第二個真正的細節。 如果您知道來源位元率,請使用它。 如果您不這樣做,192 kbps 是音樂的合理預設值,任何 128 或以上的音量都可以。
天花板不是工具的決定。 MPEG-1 層 III 最高為 320 kbps,您可以讀取 MPEG 音訊框架標題中的位元率索引表,無論介面提供什麼,沒有編碼器可以超過它。
這是每個目標每分鐘立體聲音訊的成本。
| 目標 | 每分鐘 | 有損? | 是為了什麼? |
|---|---|---|---|
| mp3 128 kbps | 0.96 兆位元組 | 是的 | 演講、播客、任何只讀取 mp3 的裝置 |
| mp3 192 kbps | 1.44 兆位元組 | 是的 | 預設值。 你會聽而不是主聽的音樂 |
| mp3 320 kbps | 2.40 兆位元組 | 是的 | 只有當源至少這麼高 |
| M4A (AAC) | 與 MP3 相同,速率相同 | 是的 | Apple 設備,而且發音比 MP3 更好 |
| 奧格(沃比斯) | 又一樣 | 是的 | 遊戲、網路音訊、任何地方無專利事項 |
| 缺少 | 約 6 mb | 不 | 歸檔無損來源 |
| 揮動 | 10.1 兆位元組 | 不 | 編輯、轉錄服務、語音模型 |
WAV 數字不是估計值。 44.1 kHz 和 16 位元的未壓縮立體聲 PCM 是 44,100 x 2 通道 x 2 位元組,即每秒 176,400 個位元組和每分鐘 10.1 MB,無論音訊包含什麼。 沉默的成本與交響樂一樣高。
您應該何時轉換為 WAV 或 FLAC?
每當目的地是機器而不是一對耳朵。
音訊編輯器、轉錄服務、強制對齊工具和語音模型都想要 PCM,而給他們一個有損檔案意味著他們無論如何都會先解碼。 轉換為 WAV 自己完全跳過第二代有損耗:解碼發生一次,結果準確,沒有進一步丟棄。 該文件很大,對於您上傳一次的東西來說很好。
FLAC 是檔案答案,而不是工作答案。 它在典型音樂中無損壓縮到大約 60% 的 PCM,因此音訊是可回收的,而檔案要小三分之一。 現在是 在 RFC 9639 中正式指定,在作為事實上的標準二十年後,它帶有一個值得了解的細節: Streaminfo 區塊擁有未編碼音訊的 MD5 簽名,因此解碼器可以證明其輸出與樣本的原始樣本相符。 沒有損壞的格式可以提供這一點,也沒有有損來源可以拯救它。 將 MP3 轉換為 FLAC 會產生更大的檔案,其中包含相同損壞的音訊,這是一個常見且完全沒有意義的操作。
# what the conversions amount to, if you have ffmpeg installed
#
# M4A to MP3, matching a 192 kbps source:
ffmpeg -i memo.m4a -vn -acodec libmp3lame -b:a 192k memo.mp3
# M4A to WAV for a transcription service (16-bit PCM, 44.1 kHz):
ffmpeg -i memo.m4a -vn -acodec pcm_s16le -ar 44100 memo.wav
# size arithmetic, which needs no tool:
# lossy MB per minute = kbps x 60 / 8 / 1000
# WAV MB per minute = 44100 x 2 x 2 x 60 / 1024 / 1024 = 10.1
為什麼我的 MP3 開頭有間隙?
因為 MP3 不能代表任意數量的樣本,而修復存在於音訊資料之外。
MPEG-1 層 III 框架正好可容納 1152 個樣本。 因此,檔案長度四捨五入到幀邊界,編碼器還需要一個導入才能產生有效的輸出,因此每個 MP3 在前面都帶有少量的靜音,在不在源頭的末端有一點填充物。 在 44.1 kHz 時,該前間隙為幾十毫秒。 在一張連續表演錄製的專輯曲目之間,是現場錄音和幻燈片之間的區別。
格式沒有欄位。 玩家使用的是編碼器寫入記錄延遲和填充的第一幀的標題,因此讀取它的玩家可以修剪兩者,而不閱讀的玩家不會。 MP4 容器中的 AAC 具有作為容器結構的一部分的長度,這就是為什麼 M4A 檔案預設是無間隙的,而 MP3 檔案僅按照慣例是無間隙的原因。
對於單一的聲音備忘錄,這些都不重要。 對於轉換專輯,這就是為什麼結果聽起來很錯誤的原因,即使每首曲目都很好。
為什麼我的轉換在帶有專輯封面的文件上失敗了?
因為藝術品是作為視訊串流儲存,而編碼員要求將其寫成無處可放的格式放棄。
帶有嵌入式封面藝術的 MP3 或 M4A 有兩個流:音訊和容器將其描述為視訊的單一靜止圖像。 不說其他方式轉換,FFMPEG 會嘗試將該圖像傳輸到輸出中,對於像 WAV 這樣的目標,操作沒有意義,並且在明顯是音訊檔案的視訊編解碼器上出現錯誤時失敗。
修復是一面旗幟, -vn,它完全刪除了視訊串流。 轉換器在這裡每次轉換都會傳遞它,因此藝術品被丟棄並音訊轉換。 如果您希望保留封面藝術,請轉換為攜帶它的格式,然後使用標籤編輯器重新連接它,因為沒有轉換器可以可靠地執行兩者。
OGG值得選擇嗎?
對大多數人來說,沒有。 對於兩個具體情況,是的。
用 Xiph 自己的話來說,Ogg 容器中的 Vorbis 是 「完全開放、非專有、無專利和版稅、通用壓縮音訊格式」;。 這就是它的全部論點,如果您在遊戲中、您分發的應用程式或任何編解碼器許可證成為有人最終會問的問題中運輸音訊,這是真實的。
反對它:硬體支援是不完整的。 大量的汽車音響、舊手機和廉價播放器閱讀 MP3,而沒有其他任何東西,這就是 MP3 仍然是用於個人而不是程式的文件的安全選擇。 瀏覽器支援很好,而且已經很多年了。
聲音是洗滌。 在大多數人使用的比特率下,Vorbis 和 AAC 都比 MP3 更好,而且彼此靠近,但無論如何都沒有倖存下來。
音訊會離開我的機器嗎?
不,對於這類文件,這就是重點。
轉換透過編譯為 WebAssembly 的 FFMPEG 運行在瀏覽器標籤內。 檔案從磁碟讀取到頁面記憶體,在那裡轉換,然後作為下載傳回。 在轉換期間在 DevTools 中開啟網路面板,沒有任何內容可以攜帶音訊。
想想人們皈依了什麼。 語音備忘錄。 錄製的訪談。 治療筆記。 客戶電話。 經許可記錄的講座 未延伸至第三方。 免費線上轉換器的正常安排是您可以將所有這些都上傳到陌生人的伺服器以換取下載連結,而保留政策就是頁腳所說的。 這裡不存在要保留的副本。
限制是標籤而不是計劃:300 MB 的來源,大約 128 Kbps 音訊或半小時 WAV 的 5 小時。 過去的桌面編碼器是更好的工具,與與 視訊壓縮機 適用於瀏覽器的記憶體而不是付費牆設置上限的地方。
如果音訊在影片中怎麼辦?
那麼這是錯誤的工具,區別不是迂腐的。
從 MP4 中拉出配樂與重新編碼音訊檔案不同:當視訊的音訊曲目已經是 AAC 並且您想要 M4A 時,可以直接複製流,無需重新編碼,也不會損失。 那是什麼? 抽象器 確實如此,這就是為什麼它作為一個單獨的工具存在,而不是這種工具的模式。
如果您需要影片中的 MP3,則最少丟失的順序:首先提取,檢查編解碼器的出現,並且僅在結果是您的目的地拒絕的格式時轉換。 將影片直接轉換為 MP3 有效,但它會隱藏是否有損重新編碼發生。
另一個方向,MP3到M4A呢?
在一個案例中值得做,在其他情況下毫無意義。
它有幫助的情況:Apple 裝置或僅讀取 M4A 的應用程式,這仍然發生在舊的汽車整合、一些有聲書播放器,以及任何期望 MPEG-4 包裝器中的 AAC 軌道的東西。 然後是與以同樣成本相同的相容性步驟相同的相容性步驟。
人們伸手去拿它但不應該:希望有一個聽起來更好的文件。 AAC 是比 MP3 更好的編解碼器,但這種優勢在編碼原始錄音時適用。 它提供了一個解碼的 MP3,它忠實地以新的比特率編碼 MP3 的工件,結果是第二代,聽起來稍微差一些,佔據了大致相同的空間。 任何格式升級都無法恢復樣本中不再存在的細節。
誠實的考驗是詢問文件的用途。 如果有東西拒絕玩,轉換。 如果它播放得很好,並且您正在嘗試改進它,唯一真正的改進是找到原始的。
我可以一次轉換文件資料夾嗎?
不在瀏覽器中,這是值得清楚的界線。
每次轉換都會將整個檔案載入到標籤中並運行一個 FFMPEG 通道,因此該工具透過設計一次處理一個檔案。 對於三個語音備忘錄,比安裝任何東西都快。 對於音樂庫來說,這完全是錯誤的工具,而本地 FFMPEG 上的 shell 循環將在瀏覽器仍在第二個檔案上時完成。
# the batch version, once there are more than a handful
for f in *.m4a; do
ffmpeg -i "$f" -vn -acodec libmp3lame -b:a 192k "${f%.m4a}.mp3"
done
實踐中的分界線大約有十個檔案或半小時的音訊。 在它下面,瀏覽器在設定時間上獲勝,在它上面,本地編碼器在所有方面都獲勝。 同樣的權衡支配 視訊壓縮機, 標籤內存而不是訂閱層設置上限,以及 視訊轉換器 對於同一問題的格式側。



