Bisakah Apple Lossless audio dikonversi ke FLAC tanpa kehilangan kesetiaan?

19

Bisakah file audio Lossless Apple (ALAC) dikonversi menjadi file audio FLAC tanpa kehilangan kesetiaan?

Kev
sumber
2
jawaban singkat 'ya' (seperti kata slhck). pertanyaannya adalah, apakah Anda mencari alat untuk melakukan ini, atau menanyakan apakah Anda dapat mengubah format lossless, lossless ke format lossless lain?
Journeyman Geek

Jawaban:

37

Ya, mengingat keduanya secara matematis lossless, konversi juga lossless.

Alasan untuk ini adalah bahwa sinyal selalu dapat direkonstruksi ke bentuk aslinya ketika file FLAC / ALAC diterjemahkan. Dengan demikian, mereka setara dan Anda seharusnya tidak mengalami kerugian saat transcoding - bahkan ketika transcoding beberapa kali.

Satu-satunya kesalahan yang dapat saya bayangkan adalah kesalahan aritmatika, misalnya melalui ketelitian titik apung yang terbatas dalam perhitungan. Saya tidak berpikir ini berlaku untuk FLAC atau ALAC.

Jika Anda hanya menggunakan codec lossless "psychoacoustically", ini tidak mungkin. Kehilangan dalam arti psikoakustik akan berarti bahwa Anda tidak dapat membedakan versi asli dan terkompresi, namun mereka sangat berbeda satu sama lain. MP3 atau MPEG-4 AAC menggunakan berbagai teknik psikoakustik untuk mencapai ini. Jadi, ketika melakukan transcoding, versi aslinya tidak dapat direkonstruksi dan Anda akan mengalami kehilangan kualitas.


Jika Anda ingin mengonversi ALAC ke FLAC, ffmpegakan menjadi pilihan yang baik, karena gratis dan tersedia untuk hampir semua platform.

ffmpeg -i audio.m4a -c:a flac audio.flac

FFmpeg akan membaca ALAC tanpa masalah. Untuk sistem * nix, ada juga skrip yang disebut Convert to FLAC yang membuat seluruh proses lebih mudah. Dengan Bash, Anda cukup mengonversi semua file dalam satu direktori juga:

for f in *.m4a; do ffmpeg -i "$f" -c:a flac "${f%.m4a}.flac"; done

Catatan: Jika Anda menerima pesan tentang ffmpegtidak digunakan lagi, sebenarnya ini bukan masalahnya - ini masih merupakan program yang dikembangkan secara aktif. Namun, pengelola paket Ubuntu hanya memutuskan untuk beralih ke Libav garpu dari FFmpeg dan dengan demikian menyediakan Anda dengan avconvbukan ffmpeg. Oleh karena itu, versi yang ffmpeg tersedia di Ubuntu sudah usang. Anda bisa mendapatkan yang terbaru dengan mengunduh bangunan statis , atau mengompilasinya sendiri. Baca terus untuk info lebih lanjut: Siapa yang dapat memberi tahu saya perbedaan dan hubungan antara ffmpeg, libav, dan avconv

slhck
sumber
2
Berdasarkan superuser.com/a/277358/45914 , Anda dapat melakukan hal berikut untuk mengonversi seluruh direktori: for f in *.m4a; do ffmpeg -i "$f" -acodec flac "${f%.m4a}.flac"; done Ini berfungsi di Linux, tetapi juga di Git bash di Windows, misalnya.
Ruud
1
Mengkonversi menggunakan ffmpeg, seperti yang dikatakan @RuudvA, berfungsi tetapi memberi saya pesan yang mengatakan: *** THIS PROGRAM IS DEPRECATED *** This program is only provided for compatibility and will be removed in a future release. Please use avconv instead. Untuk melakukan ini menggunakan aconv, lakukan ini sebagai gantinya: for f in *.m4a; do avconv -i "$f" "${f%.m4a}.flac"; done
Duncan Lock
XLD adalah satu lagi yang bagus untuk OSX.
Arran Cudbard-Bell
3

Untuk Windows CMD bisa Anda lakukan.

@for /R %%x in (*.m4a) do ffmpeg -i "%%x" -acodec flac "%%~dpnx.flac"

(Skrip Batch)

(Ini akan melakukan Rekursi (Setiap Folder dan di bawah tempat dijalankannya))

The009
sumber
1

Jika Anda memiliki Mac (karena Anda memiliki file ALAC), Anda juga dapat menggunakan perangkat lunak open source Max sebagai antarmuka yang bagus untuk melakukan konversi dari dan ke ALAC / FLAC atau banyak format lainnya.

Alex
sumber
2
Satu lagi yang bagus adalah XLD.
Nathaniel
1

untuk Windows di Powershell (menggunakan ffmpeg) Anda dapat melakukan ini untuk mengonversi alac ke flac:

Get-ChildItem . -filter *.m4a| ForEach-Object { ffmpeg -i "$_" -acodec flac "$($_.basename).flac" }

dan sebaliknya lakukan ini untuk mengkonversi ke alac

Get-ChildItem . -filter *.flac | ForEach-Object { ffmpeg -i "$_" -acodec alac $($_.basename).m4a" }

BoteRock
sumber