Apakah ada alat baris perintah yang baik untuk mengkonversi ke dan dari format audio FLAC?

10

Idealnya, saya ingin mengkonversi dari MP3 ke FLAC dan kembali. Saya juga harus bisa menulis skrip ini.

ixtmixilix
sumber

Jawaban:

11

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 soxrusak 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 soxambil sumber terbaru (atau ambil biner untuk 14.3.1-1build1 atau lebih baru) dan kompilasi ulang harus berhasil.

Alternatif untuk encoding .mp3adalah lame. Itu tidak membaca .flac, tetapi Anda dapat menggunakan soxatau flacuntuk mengubah dari .flacke .wavdan lamedari .wavke .mp3.

flac -d foo.flac -c | lame - foo.mp3
Gilles 'SANGAT berhenti menjadi jahat'
sumber
7

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.

Warren Young
sumber
analogi yang bagus, bung. yang membuat Anda mendapat dukungan.
ixtmixilix
2

Disebut flacaneh, cukup. Agak menyakitkan untuk digunakan, atau kembali ketika saya membuat skrip pekerjaan transkoding.

geekosaurus
sumber
0

Tentu saja Anda dapat menggunakan SoX, seperti yang telah disebutkan orang lain, tetapi saya sarankan menggunakan lamedan flac:

Pertanyaan pertama Anda beralih dari .mp3menjadi .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 .flacke .mp3:

flac -d -c <file>.flac | lame - <file>.mp3

Pengaturan ini mengasumsikan tingkat kualitas default, dll. Baca halaman manual lamedan / atau flacuntuk 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 .flacke .mp3menggunakan 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 lamemenggunakan 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 ...

polemon
sumber