怎麼用
- 按「選音訊檔」或把檔案拖進來,等波形出現。
- 用「開始」「結束」兩個滑桿選範圍,也可以點一下波形,或在輸入框填秒數(
12.5)或分:秒(1:05.3),再用「-0.1 秒」「+0.1 秒」微調。藍色區塊就是會保留的部分。 - 按「試聽選取段」確認內容。需要的話設定淡入、淡出秒數。
- 選 MP3(可選位元率)或 WAV,按「匯出選取段」,完成後可先試聽再下載。
不是無損剪切,請照實了解
本工具的流程是:瀏覽器先把檔案解碼成未壓縮的聲音,剪出你選的範圍,需要的話套用淡入淡出,再重新編碼成 MP3 或存成 WAV。因為重新編碼,輸出 MP3 時一定有些微損失;來源本身是 MP3 或 M4A 這類失真壓縮檔時,等於再壓縮一次。想降低損失,位元率選 192 或 320 kbps;後面還要再處理的話,輸出 WAV 最保險。已經損失的細節不會因為提高位元率而回來。
和其他音訊頁的差別
- MP3 剪輯(本頁):看波形剪出一段,可試聽、淡入淡出,輸出 MP3 或 WAV。
- M4A 轉 MP3:把多個音訊檔批次轉成 MP3,整個檔案轉,不剪裁。
- MP4 轉 MP3:從影片取出聲音,可指定開始與結束時間。
限制與使用提醒
- 不能合併:本頁一次處理一個檔案,只能剪出一段連續的範圍,不能把多個檔案接在一起,也不能刪掉中間。
- 能不能開看瀏覽器:本工具使用瀏覽器內建的解碼器,瀏覽器解不開的檔案就無法剪輯;有 DRM 保護的檔案無法處理。
- 輸出取樣率一律 44.1 kHz:其他取樣率的檔案會在解碼時換算成 44.1 kHz,聲音長度不變。檔案超過兩個聲道時只用前兩個聲道。
- 起訖點的精準度:輸入的時間以 0.01 秒為單位(多的位數會四捨五入),選取長度最短 0.1 秒;選取範圍會換算到最接近的取樣點;MP3 編碼會在開頭加入一小段編碼延遲,本站沒有寫入修正資訊,輸出的 MP3 長度與播放起點可能和選取範圍差一點點(見下方「實測誤差」),要求取樣點精準時請輸出 WAV。
- 大檔吃記憶體:解碼後的聲音是未壓縮的,立體聲每小時約 1.3 GB,音訊很長時即使沒超過檔案大小上限也可能因記憶體不足而失敗。
- 請只剪輯你有權使用的內容:本工具只負責格式轉換與剪輯,不判斷內容能不能使用。
實測誤差
我們用已知頻率分段的測試音(44.1、22.05、8 kHz 取樣,單聲道與立體聲,來源含 WAV、M4A、MP3)實測:輸出 WAV 時,長度與選取範圍相同,逐個取樣點比對,差異在 16 位元的量化誤差內;輸出 MP3 時,長度比選取範圍多約 0.03 至 0.05 秒,用 ffmpeg 解碼播放時,內容的起點會往後延約 0.03 秒(編碼延遲)。淡入、淡出用音量包絡驗證,與設定的直線漸變相符。
常見問題
音樂檔會上傳到伺服器嗎?
不會。讀取檔案、畫波形、試聽、剪輯、輸出 MP3 或 WAV 都在你的瀏覽器裡完成,檔案沒有離開你的手機或電腦。頁面只會記錄你按了哪個按鈕、選了哪個選項(例如位元率),不會記錄檔名或檔案內容。
剪出來的 MP3 音質會變差嗎?
會有些微損失。本工具是先把整個檔案解碼成聲音,剪出你選的範圍,再重新編碼成 MP3,不是「不重新編碼的無損剪切」。MP3 是失真壓縮,已經是 MP3 的檔案再編碼一次,會再多損失一點,位元率選高一點(192 或 320 kbps)可以降低損失。如果後續還要再處理,可以先輸出 WAV,WAV 不會再壓縮。
怎麼剪出準確的起點和終點?
有四種方式:拖動「開始」「結束」滑桿、直接點波形圖、在輸入框填秒數(例如 12.5 或 1:05.3),以及按「-0.1 秒」「+0.1 秒」微調。設好之後按「試聽選取段」,聽起來對了再匯出。滑桿與輸入框都可以用鍵盤操作。
淡入淡出怎麼用?
在「淡入」「淡出」填秒數,匯出時會讓選取段開頭的音量由 0 漸漸升到原本大小、結尾由原本大小漸漸降到 0,變化是直線(線性)的。0 代表不使用。試聽時也會套用,淡入加淡出的秒數不能超過選取段的長度。
可以把多首歌合併成一個檔案嗎?
這一頁不能,只能處理單一檔案,剪出一段。需要把幾個音訊檔轉成同一種格式,可以用「M4A 轉 MP3」批次轉檔,再用其他音訊軟體合併。
可以拿來做手機鈴聲嗎?
可以先在這裡剪出想用的一段並輸出 MP3。不同手機設定鈴聲的方式、可接受的格式與長度都不一樣,請依你手機的說明設定。請只使用你自己錄製,或已取得授權、有權使用的音樂。
哪些檔案打不開?
本工具用瀏覽器內建的解碼器讀音訊,瀏覽器解不開的檔案就無法剪輯,例如有 DRM 保護的檔案、已損毀的檔案、不是音訊的檔案。哪些格式能解碼和瀏覽器有關,遇到無法開啟時可以換 Chrome、Edge、Firefox 或 Safari 再試。檔案很大時也可能因為記憶體不足而失敗。
規格與來源
本工具使用以下開源程式庫,放在本站自己的伺服器上,不從外部網站載入:
- lamejs 1.2.1,LGPL-3.0 授權,是 LAME MP3 編碼器的 JavaScript 版本,用來把聲音編成 MP3。檔案為 npm 官方套件原檔,未經修改(
lame.min.js),在背景執行緒中載入。來源:github.com/zhuker/lamejs。授權全文:GNU LGPL-3.0(它引用的 GNU GPL-3.0 一併附上),以及套件附的使用說明 LICENSE。
解碼與試聽使用瀏覽器內建的 Web Audio API(decodeAudioData、AudioBufferSourceNode、GainNode);淡入淡出為線性漸變;WAV 檔(16 位元 PCM)由本站自己的程式組成。編碼放在背景執行緒,處理期間畫面不會卡住。
資料來源
- MDN:BaseAudioContext.decodeAudioData()(瀏覽器解碼音訊檔;可解的格式依瀏覽器而定)
- MDN:AudioBufferSourceNode.start()(從指定位置播放一段)
- MDN:GainNode(音量控制,用於試聽時的淡入淡出)
- W3C:Web Audio API 規格
- MDN:網頁音訊編碼格式指南(失真與無損壓縮、位元率與品質、重新壓縮會放大雜訊)
- lamejs 專案頁(MP3 編碼程式庫與授權)