Pemotong & Pemangkas Audio
Potong dan pangkas file audio sesuai durasi yang Anda inginkan. Atur awal dan akhir, pratinjau, dan ekspor. Tanpa unggahan, tanpa pendaftaran.
MP3, WAV, OGG, AAC, FLAC, M4A
Cara kerjanya
- Muat file audio: pilih file MP3, WAV, OGG, FLAC, atau M4A dari perangkat Anda.
- Atur titik awal dan akhir: seret pegangan pada waveform atau masukkan timestamp yang tepat untuk menandai segmen yang akan disimpan.
- Pratinjau pilihan: putar hanya segmen yang dipangkas sebelum mengekspor.
- Unduh klip: ekspor audio yang dipangkas ke perangkat Anda, tanpa unggahan ke server.
Sejarah Singkat Web Audio API
Web Audio API adalah antarmuka JavaScript yang distandarisasi W3C untuk memproses dan menyintesis audio di browser web: teknologi fondasional yang memungkinkan halaman web men-decode MP3 di memori, menggambar gelombang, merutekan audio melalui filter, atau memutar nada yang disintesis tanpa plugin. Prototipe pertama dibangun oleh Chris Rogers di Apple di dalam proyek WebKit pada 2010. W3C Audio Working Group menerbitkan First Public Working Draft-nya pada 14 Desember 2011; setelah hampir satu dekade revisi dan siklus implementasi browser, W3C menerbitkan Web Audio API sebagai W3C Recommendation pada 17 Juni 2021. Dokumen Recommendation secara eksplisit berterima kasih kepada Chris Rogers sebagai "former specification editor and original author of this specification." Tiga kelas melakukan sebagian besar pekerjaan dalam alat audio sisi-browser apa pun: AudioContext (kontainer tingkat-atas), AudioBuffer (potongan audio PCM yang di-decode dalam memori dengan data saluran terekspos sebagai Float32Array), dan AudioBufferSourceNode (node pemutaran satu-tembakan). Model graf lengkap mendukung lebih banyak tipe node: gain, filter, panner, analyser, convolver, delay: dan dapat membangun apa pun dari penyetel gitar hingga synthesizer. Trimmer ini hanya menggunakan bagian decode (AudioContext.decodeAudioData()) untuk visualisasi gelombang; pemotongan sebenarnya berjalan melalui ffmpeg.wasm.
Format yang didukung
WAV (1991, Microsoft + IBM) adalah Waveform Audio File Format: kontainer RIFF yang menampung sampel PCM linear yang tidak dikompresi. WAV kualitas-CD adalah 44.100 sampel × 2 saluran × 16 bit per detik ≈ 10,1 MB per menit, itulah mengapa lagu empat menit dalam WAV sekitar 40 MB. Header ukuran data-chunk 32-bit WAV membatasi satu file pada 4 GB; rekaman yang lebih panjang memerlukan ekstensi RF64 atau W64. WAV adalah format pertukaran universal justru karena tidak dikompresi, sederhana untuk diurai, dan bebas paten. MP3 (ISO/IEC 11172-3, 1993) adalah nama sehari-hari untuk MPEG-1 Audio Layer III, dikembangkan di Fraunhofer Institute di Erlangen, Jerman, dengan kontribusi kunci dari Karlheinz Brandenburg, Heinz Gerhäuser, Bernhard Grill, Jürgen Herre, dan Harald Popp. MP3 selama dua dekade dibebani paten; paten terakhir tersebut berakhir pada 16 April 2017 di Amerika Serikat, dan Fraunhofer secara resmi mengumumkan penghentian program lisensi MP3-nya pada 23 April 2017. Berakhirnya paten itulah yang menyebabkan encoder MP3 gratis dan bebas-royalti (libmp3lame, lamejs) menjadi tanpa kontroversi dapat dikirim dalam alat sisi-browser.
AAC (ISO/IEC 13818-7, 1997) dan M4A: AAC dirancang sebagai penerus MP3, dengan kualitas yang lebih baik pada bitrate yang sama. M4A bukanlah codec terpisah: itu adalah file MPEG-4 Part 14 (.mp4) yang membawa audio saja. Apple mempopulerkan ekstensi .m4a ketika meluncurkan iTunes Music Store pada 28 April 2003, menggunakan AAC pada 128 kbps sebagai format pembelian default. OGG Vorbis (Xiph.Org, 2000-2002) adalah codec lossy gratis, terbuka, bebas-paten: respons Xiph terhadap iklim paten di sekitar MP3 di akhir 1990-an. Encoder referensi, libvorbis, mencapai versi 1.0 pada Juli 2002. Wikipedia, Spotify (awalnya), banyak game, dan distribusi Linux mengirim Vorbis. FLAC (Free Lossless Audio Codec, Xiph.Org, 20 Juli 2001) mengompresi secara lossless: output yang di-decode adalah bit-per-bit identik dengan input. Kompresi tipikal adalah 50-60% dari ukuran WAV sumber. FLAC adalah format arsip de facto untuk distribusi musik lossless (Bandcamp, Qobuz, HDtracks, Internet Archive). Opus (IETF RFC 6716, September 2012) adalah codec bebas-royalti paling modern, dirancang bersama oleh Xiph.Org, Mozilla, dan Skype/Microsoft; itu menggabungkan codec ucapan SILK Skype dengan codec musik CELT Xiph menjadi satu codec variabel yang sangat baik di seluruh rentang dari ucapan 6 kbps hingga musik stereo 510 kbps. Opus adalah wajib-untuk-diimplementasikan di WebRTC.
Cara Kerja Decoding Audio Browser
Ketika Anda menjatuhkan MP3 4 MB ke halaman trimmer, urutan ini berjalan sepenuhnya di browser Anda. FileReader.readAsArrayBuffer(file) membaca byte dari disk lokal ke dalam ArrayBuffer JavaScript; ini adalah pembacaan lokal, tidak ada upload. Halaman membuat AudioContext (dengan fallback untuk prefiks WebKit yang lebih lama). audioCtx.decodeAudioData(arrayBuffer) menjalankan decoder audio native browser secara asinkron: biasanya codec sistem: dan mengembalikan AudioBuffer. AudioBuffer mengekspos getChannelData(0) yang mengembalikan Float32Array dari sampel saluran kiri yang dinormalisasi ke −1,0 hingga +1,0. Untuk sumber mono 4 menit pada 44,1 kHz itu sekitar 10,6 juta float: 42 MB memori. Rutinitas penggambaran gelombang melakukan downsampling array tersebut menjadi satu puncak per kolom piksel pada kanvas. AudioContext kemudian ditutup; tidak ada lagi yang memegang referensi ke buffer, sehingga memori direklamasi. Untuk pemotongan sebenarnya, ffmpeg.wasm beroperasi pada byte yang dikodekan asli di filesystem virtualnya: decode Web Audio murni untuk gambarnya. Format apa yang diterima decodeAudioData tergantung pada browser host, bukan spesifikasi. Praktis pada 2026: MP3 dan WAV di-decode secara universal; OGG Vorbis bekerja di Chrome, Firefox, dan Safari terbaru; AAC/M4A di Safari, Chrome, Edge, dan Firefox modern; FLAC di semua browser utama sejak sekitar 2017; Opus di semua browser modern.
Rendering Gelombang: Teknik Puncak-Per-Piksel
Menggambar gelombang secara konseptual sederhana tetapi mudah dilakukan dengan buruk. Teknik standar, digunakan di sini, adalah amplop min/max: pilih lebar target dalam piksel (lebar kanvas); hitung ukuran langkah sebagai samples.length / width; untuk setiap kolom piksel output, pindai sampel step-nya dan temukan minimum dan maksimum lokal; gambar satu garis vertikal dari sampel min ke sampel max. Hasilnya adalah tampilan "amplop" cermin yang akrab yang Anda lihat di setiap DAW modern. Mengapa amplop min/max daripada RMS atau sampel-tunggal? Pendekatan naif "untuk setiap piksel, plot satu sampel" kehilangan detail transien: sampel yang tenang mungkin mendarat di piksel yang dimaksudkan untuk mewakili transien yang keras, menghasilkan gelombang yang tampak datar dan menyesatkan. RMS (root-mean-square) memberikan kurva loudness yang akurat secara perseptual tetapi kehilangan informasi puncak. Amplop min/max adalah kompromi visual yang telah mendominasi UI DAW setidaknya sejak Pro Tools dan tetap menjadi konvensi di wavesurfer.js, peaks.js (BBC R&D, dirancang untuk jurnalis yang menganotasi audio long-form), dan Audacity. Implementasi di sini menggunakan devicePixelRatio untuk penskalaan high-DPI sehingga gelombang tetap tajam pada tampilan Retina. Satu batasan jujur: getChannelData(0) hanya mengembalikan saluran pertama, sehingga file stereo merender saluran kiri: pemotongan itu sendiri, dijalankan melalui ffmpeg, mempertahankan semua saluran.
Matematika Pemotongan Sample-Akurat
Pemotongan secara konseptual sederhana: hasilkan file baru yang hanya berisi sampel antara waktu t_start dan waktu t_end dari sumber. Ada dua jalur. Pendekatan tingkat-sampel mengonversi waktu ke indeks sampel (start_frame = round(t_start × sampleRate)), mengalokasikan AudioBuffer baru dengan panjang end_frame − start_frame, menyalin sampel per saluran, lalu meng-encode ulang: ini yang akan Anda lakukan dengan Web Audio API murni. Pemotongan tingkat-kontainer (apa yang dilakukan alat ini melalui FFmpeg) meneruskan -ss start -to end ke FFmpeg dan membiarkannya men-stream bitstream yang dikodekan keluar, meng-encode ulang melalui codec output yang dipilih. Pemotongan yang digerakkan FFmpeg lebih kuat karena encoder menangani framing, header, dan metadata; jalur Web-Audio-saja memerlukan menulis encoder MP3 atau Vorbis Anda sendiri untuk output, yang jauh lebih rumit. Sample rate penting: 44,1 kHz adalah standar Compact Disc dan rate dominan untuk musik: dipilih untuk berada di atas batas Nyquist untuk pendengaran manusia (~20 kHz × 2 = minimum 40 kHz) dan kompatibel dengan dek pita video PAL/NTSC yang digunakan untuk menguasai CD awal. 48 kHz adalah standar untuk film, TV, dan video digital. 16 kHz adalah rate de facto untuk pengenalan ucapan / VoIP; 8 kHz adalah telepon kabel klasik. 96 kHz dan 192 kHz adalah rate audio resolusi-tinggi. Alat ini mewarisi sample rate input melalui FFmpeg secara default: mempertahankan kesetiaan kecuali Anda secara eksplisit memerlukan sebaliknya. UI menerima waktu hingga satu desimal detik (0:03,5); FFmpeg secara internal sample-akurat, sehingga granularitas 0,1-detik diterjemahkan menjadi ~4.410 sampel pada 44,1 kHz: jauh dalam akurasi yang dapat dirasakan manusia.
Mengapa ffmpeg.wasm dan Bukan lamejs
Sakit kepala historis terbesar dalam pengeditan audio sisi-browser adalah encoding MP3. Decoding gratis: browser melakukannya. Encoding memerlukan encoder MP3 JavaScript atau WebAssembly. Dua opsi mendominasi. lamejs adalah port pure-JavaScript dari encoder LAME MP3 yang terhormat (awalnya oleh Andreas Krennmair / zhuker di GitHub, dengan secara mekanis mentranspilasi sumber C LAME ke JS). Keuntungannya adalah footprint kecil (~150 KB minified) dan nol dependensi: jatuhkan tag script dan Anda dapat meng-encode MP3 dalam mungkin 50 baris kode. Kerugiannya adalah hanya melakukan MP3, API-nya rumit, dan kinerja pada file panjang biasa-biasa saja karena itu adalah JS yang ditafsirkan daripada WebAssembly yang dikompilasi. ffmpeg.wasm adalah build WebAssembly dari FFmpeg, pisau Swiss-Army universal pemrosesan audio/video. Keuntungannya adalah universalitas: setiap codec yang didukung FFmpeg (MP3, WAV, OGG, AAC, FLAC, Opus, puluhan format obscure), setiap kontainer, setiap transformasi. Kerugiannya adalah ukuran: bundel WebAssembly adalah beberapa MB, jauh lebih besar daripada lamejs sendiri. Alat ini menggunakan ffmpeg.wasm karena memberi Anda tiga codec output nyata (MP3 melalui libmp3lame, WAV melalui pcm_s16le, OGG melalui libvorbis) dari satu mesin bersama, dengan mekanika pemotongan yang sama diterapkan pada semuanya; lamejs akan membatasi output hanya pada MP3. Trade-off-nya adalah biaya ukuran bundel pada kunjungan pertama.
Kasus Penggunaan Umum
- Pembuatan ringtone. Ringtone iPhone harus di bawah 30 detik; banyak ponsel Android membatasi pada 40-60 detik. Memotong hook lagu yang paling dapat dikenali adalah kasus penggunaan klasik: dan yang sadar privasi, karena mengunggah lagu berhak cipta ke situs pihak ketiga untuk pemotongan adalah eksposur yang kecil tetapi nyata.
- Ekstraksi klip podcast. Menarik highlight 30 detik dari episode 90 menit untuk promosi media sosial. Gelombang membuat menemukan titik masuk/keluar tepat pada batas kalimat jauh lebih mudah daripada menggosok secara membabi buta melalui pemutar.
- Pemotongan memo suara. Memo suara hampir selalu memiliki udara mati di awal (Anda menekan rekam, lalu mulai berbicara) dan akhir (Anda selesai berbicara, lalu berhenti). Memotong keheningan menurunkan ukuran file dan menaikkan kualitas yang dirasakan.
- Ekstraksi sampel musik untuk edit video. Loop 6-detik dari lagu untuk digunakan sebagai latar belakang di bawah klip video. Potong, ekspor sebagai WAV (lossless, karena Anda akan meng-encode ulang di video), impor ke editor video Anda.
- Menghapus jingle intro. Membersihkan podcast atau audio rip YouTube untuk menghapus intro standar saluran sebelum mengirim ke layanan transkripsi.
- Persiapan kelas dan presentasi. Memotong satu efek suara, klip musik, atau kutipan ucapan untuk digunakan dalam slide deck atau pelajaran interaktif.
Lingkup Jujur: Apa yang Tidak Dilakukan Alat Ini
Ini adalah alat pemotong file-tunggal yang fokus, bukan stasiun kerja audio digital. Hal-hal yang tidak dilakukannya, yang ditangani pesaing yang lebih elaboratif: tidak ada fade in / fade out (klip yang diekspor dimulai dan berakhir tiba-tiba pada titik pemotongan); tidak ada multi-track atau mixing (satu file masuk, satu file yang dipotong keluar); tidak ada efek (tidak ada EQ, kompresi, normalisasi, pengurangan noise, reverb); tidak ada pemisahan satu file menjadi beberapa klip dalam satu pass (untuk memotong tiga bagian Anda memotong tiga kali); tidak ada perubahan gain atau volume; tidak ada pemutaran hanya wilayah yang dipotong: pemutar audio memutar seluruh file sumber dengan playhead yang dianimasikan di atas gelombang selama pemutaran. Untuk pengeditan multi-track, fade, efek, dan mastering, gunakan Audacity (sumber terbuka, dirilis oleh Dominic Mazzoni dan Roger Dannenberg pada 28 Mei 2000 di Carnegie Mellon, masih dikembangkan secara aktif pada 2026), Adobe Audition (komersial), atau Reaper (komersial, uji coba gratis yang murah hati). Untuk pemotongan one-and-done tanpa setup, alat ini adalah bentuk yang tepat. Posisi privasi adalah asli: rekaman suara adalah data pribadi, sering kali berisi ucapan yang dapat diidentifikasi atau suara latar dari ruang pribadi; mengunggahnya ke "pemotong audio online gratis" adalah risiko privasi nyata yang dilewati arsitektur browser-only sepenuhnya.
Privasi: Mengapa Arsitektur Ini Penting untuk Audio
Rekaman audio membawa lebih banyak informasi pengidentifikasi daripada sebagian besar tipe file. Memo suara berisi ucapan yang dapat diidentifikasi (sidik jari suara unik mengidentifikasi). Lagu mungkin merupakan materi berhak cipta. Rekaman rapat mungkin berisi diskusi bisnis rahasia atau detail medis pribadi. Editor audio sisi-server memerlukan upload file, yang berarti salinan duduk di log server, mungkin di cache CDN, mungkin di pipeline analytics, mungkin di backup. Untuk musik komersial biasa ini tidak berbahaya. Untuk memo suara, rekaman rapat, dikte, outtake podcast, rekaman acara keluarga, atau apa pun yang Anda tidak ingin disalin ke hard drive orang asing, ini tidak. Alat ini menjalankan seluruh pipeline: pemilihan file, decode, render gelombang, potong, encode ulang, unduh: secara lokal di browser Anda. Tidak ada upload, tidak ada panggilan API, tidak ada entri log. Anda dapat memverifikasi dengan membuka tab Network DevTools saat Anda memotong: tidak ada permintaan keluar yang membawa data audio. Setelah bundel WebAssembly FFmpeg telah dimuat sekali, Anda dapat membawa halaman offline (mode pesawat) dan alat masih berfungsi: bukti empiris terkuat bahwa tidak ada yang diunggah.
Pertanyaan yang Sering Diajukan
Format apa yang dapat saya impor dan ekspor?
Input: MP3, WAV, OGG (Vorbis), AAC, FLAC, M4A: apa pun yang dapat dibaca decodeAudioData browser Anda. Browser modern mencakup semua ini. Output: MP3 (LAME bitrate variabel ~190 kbps, sweet spot untuk musik), WAV (PCM linear 16-bit, lossless), atau OGG Vorbis (~160 kbps VBR, kualitas transparan dan bebas-paten). Baik encoding maupun decoding berjalan melalui ffmpeg.wasm di browser Anda, sehingga tidak ada server yang pernah terlibat.
Apakah ada batas ukuran file?
Tidak ada batas sisi-server karena tidak ada upload yang terjadi. Plafon praktis adalah memori yang tersedia di perangkat Anda: file harus di-decode menjadi Float32Array JavaScript untuk tampilan gelombang, yang berarti sumber mono 4 menit pada 44,1 kHz memerlukan sekitar 42 MB RAM selama pemrosesan. File hingga sekitar 100 MB bekerja dengan nyaman di laptop tipikal; file yang lebih panjang (podcast multi-jam, album penuh) mungkin melambat atau gagal pada mobile kelas bawah. Jika pemuatan membeku, coba file yang lebih kecil atau potong dalam segmen.
Apakah pemotongan mengurangi kualitas audio?
Untuk output WAV: tidak: WAV adalah lossless, sehingga wilayah yang dipotong adalah bit-per-bit identik dengan sampel sumber antara titik pemotongan. Untuk output MP3 dan OGG: generasi tambahan kecil dari kuantisasi lossy ditambahkan karena sumber sedang di-encode ulang. Pengaturan encoder yang digunakan di sini (LAME VBR ~190 kbps untuk MP3, libvorbis kualitas 5 ≈ 160 kbps untuk OGG) berada jauh di atas ambang yang dapat dirasakan sebagian besar pendengar. Jika Anda berencana untuk mengedit ulang klip yang dipotong nanti, pilih WAV; jika Anda menginginkan file kecil untuk distribusi, MP3 atau OGG.
Apakah mendukung fade in / fade out?
Tidak: pemotongan adalah pemotongan keras di kedua ujungnya. Untuk fade, pengeditan multi-track, efek, atau mastering, gunakan Audacity (sumber terbuka, gratis, lintas-platform, dirilis 28 Mei 2000 di Carnegie Mellon) atau Adobe Audition. Alat ini adalah bentuk yang tepat untuk "saya hanya membutuhkan klip yang dipotong dengan bersih"; untuk apa pun yang lebih elaboratif, DAW nyata adalah alat yang tepat.
Mengapa gelombang hanya menampilkan satu saluran?
Gelombang menggambar saluran pertama (saluran kiri dalam file stereo) sebagai amplop tunggal per kolom piksel. Menggambar kedua saluran dalam warna yang berbeda akan menggandakan ruang layar atau memerlukan tumpang tindih gelombang, keduanya lebih berisik daripada tampilan saluran-tunggal untuk UI scrubbing yang cepat. Pemotongan itu sendiri mempertahankan semua saluran: FFmpeg menyalinnya apa adanya dari sumber: sehingga rekaman stereo tetap stereo pada output, bahkan jika konten saluran-kanan-saja (detail yang dipanorama-keras-kanan) tidak muncul dalam gambar.
Apakah file audio saya diunggah?
Tidak. Setiap langkah: pemilihan file, decode, render gelombang, potong, encode ulang, unduh: berjalan secara lokal di browser Anda melalui JavaScript dan ffmpeg.wasm. Tidak ada upload, tidak ada panggilan API, tidak ada entri log. Anda dapat memverifikasi dengan membuka tab Network DevTools saat Anda memotong. Setelah bundel ffmpeg.wasm dimuat sekali, Anda dapat membawa halaman offline dan alat masih berfungsi: bukti terkuat bahwa tidak ada yang diunggah. Aman untuk memo suara, rekaman rapat, dikte medis, atau audio apa pun yang tidak ingin Anda salin ke hard drive orang asing.