Idealnya, saya ingin mengkonversi dari MP3 ke FLAC dan kembali. Saya juga harus bisa menulis skrip ini.
Idealnya, saya ingin mengkonversi dari MP3 ke FLAC dan kembali. Saya juga harus bisa menulis skrip ini.
Jawaban:
Alat mendasar untuk konversi format suara dan transformasi sederhana adalah SoX, pisau program pemrosesan suara Angkatan Darat Swiss .
sox foo.mp3 foo.flac
Jika Anda menjalankan Debian, dukungan untuk menulis MP3 sox
rusak pada lenny dan squeeze (dan sejauh yang saya tahu masalah yang sama memengaruhi Ubuntu 10.04 dan 10.10). Bug ini diperbaiki pada awal Maret 2011, jadi sox
ambil sumber terbaru (atau ambil biner untuk 14.3.1-1build1 atau lebih baru) dan kompilasi ulang harus berhasil.
Alternatif untuk encoding .mp3
adalah lame
. Itu tidak membaca .flac
, tetapi Anda dapat menggunakan sox
atau flac
untuk mengubah dari .flac
ke .wav
dan lame
dari .wav
ke .mp3
.
flac -d foo.flac -c | lame - foo.mp3
sox versi 13 dan lebih tinggi mendukung FLAC, bersama dengan banyak format lainnya . sox dapat melakukan banyak hal ke file audio, tidak hanya mengkonversi dari satu format ke format lainnya. Ini untuk audio apa ImageMagick adalah untuk grafis.
Disebut flac
aneh, cukup. Agak menyakitkan untuk digunakan, atau kembali ketika saya membuat skrip pekerjaan transkoding.
Tentu saja Anda dapat menggunakan SoX, seperti yang telah disebutkan orang lain, tetapi saya sarankan menggunakan lame
dan flac
:
Pertanyaan pertama Anda beralih dari .mp3
menjadi .flac
(lihat di bawah mengapa ini biasanya merupakan ide yang buruk):
lame --decode <file>.mp3 - | flac -o <file>.flac -
Ini akan menggunakan header WAV, yang memiliki keterbatasan dalam hal file yang sangat panjang (empat jam atau lebih file suara yang panjang, dll.)
Pertanyaan kedua Anda adalah bagaimana beralih dari .flac
ke .mp3
:
flac -d -c <file>.flac | lame - <file>.mp3
Pengaturan ini mengasumsikan tingkat kualitas default, dll. Baca halaman manual lame
dan / atau flac
untuk mendapatkan ide yang lebih baik bagaimana mengubah mereka.
Sekarang, mungkin saja, bahwa Anda memiliki rekaman yang sangat panjang, yang kemudian Anda ingin mengkodekan ulang ke dalam format lossy. Ini adalah salah satu kasus penggunaan saya, dan saya menemukan ini:
Pergi dari .flac
ke .mp3
menggunakan pengaturan kualitas default:
flac -d --force-raw-format --endian=little --sign=signed <file>.flac -c | lame -r -s 48 - <file>.mp3
Ini mengasumsikan format mentah adalah data PCM. Tingkat sampel 48kHz, dua saluran. Setiap sampel 16bit, little endian, integer bertanda.
Proses pengkodean lame
menggunakan pengaturan kualitas default di sini, yang mungkin tidak cukup canggih untuk Anda, ingatlah.
Perlu dicatat, bahwa tidak masuk akal membuat file FLAC dari file MP3, karena MP3 sudah dikodekan lossy.
Berasal dari MP3 -> FLAC dan kemudian FLAC -> MP3 tidak masuk akal, karena kualitasnya akan terganggu sejak langkah pertama, penyandian MP3 asli.
Namun saya menganggap Anda memiliki kasus penggunaan yang masuk akal untuk ini ...