Apple Kayıpsız ses, aslına uygun olarak FLAC'a dönüştürülebilir mi?


19

Apple Lossless ses dosyaları (ALAC) aslına uygun olarak FLAC ses dosyalarına dönüştürülebilir mi?


2
kısa cevap 'evet' (slhck'in dediği gibi). soru, bunu yapmak için bir araç mı arıyorsunuz yoksa kayıpsız bir formatı kayıpsız bir şekilde başka bir kayıpsız formata dönüştürüp dönüştüremeyeceğinizi mi soruyorsunuz?
Journeyman Geek

Yanıtlar:


37

Evet, her ikisi de matematiksel olarak kayıpsız olduğu için, dönüşüm de kayıpsızdır.

Bunun nedeni, bir FLAC / ALAC dosyasının kodu çözüldüğünde sinyalin her zaman orijinal biçimine yeniden yapılandırılabilmesidir. Bu nedenle, eşdeğerdir ve kod geçişi sırasında - birden fazla kod geçişi yaparken bile - hiçbir kayıp yaşamamalısınız.

Tahmin edebileceğim tek hata, örneğin hesaplamalarda sınırlı kayan nokta hassasiyeti sayesinde aritmetik bir hata olacaktır. Bunun FLAC veya ALAC için geçerli olduğunu düşünmüyorum.

Yalnızca "psikoakustik olarak" kayıpsız bir codec bileşeni kullanıyorsanız, bu mümkün değildir. Psikoakustik anlamda kayıpsız, orijinal ve sıkıştırılmış sürümü ayırt edemeyeceğiniz anlamına gelir, ancak birbirlerinden çok farklıdırlar. MP3 veya MPEG-4 AAC bunu başarmak için çeşitli psikoakustik teknikler kullanır. Böylece, kod dönüştürürken orijinal sürüm yeniden oluşturulamaz ve kalite kaybı yaşayabilirsiniz.


ALAC'ı FLAC'a dönüştürmek istiyorsanız ffmpeg, ücretsiz ve neredeyse her platform için mevcut olduğu için iyi bir seçenek olacaktır.

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

FFmpeg, ALAC'ı sorunsuz bir şekilde okuyacaktır. * Nix sistemleri için, tüm süreci kolaylaştıran FLAC'a Dönüştür adlı bir komut dosyası da vardır . Bash ile tüm dosyaları tek bir dizinde de dönüştürebilirsiniz:

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

Not: Kullanımdanffmpeg kaldırılma hakkında bir mesaj alırsanız , aslında durum böyle değildir - hala aktif olarak geliştirilmiş bir programdır. Bununla birlikte, Ubuntu'nun paket koruyucular FFmpeg'in Libav çatalına geçmeye karar verdiler ve avconvbunun yerine size tedarik ettiler ffmpeg. Bu ffmpeg nedenle Ubuntu'da mevcut olan sürüm eski. Bunun yerine statik bir yapıyı indirerek veya kendiniz derleyerek yeni bir tane alabilirsiniz . Daha fazla bilgi için okumaya devam edin: Bana ffmpeg, libav ve avconv arasındaki farkı ve ilişkiyi kim söyleyebilir?


2
Superuser.com/a/277358/45914'e dayanarak, tüm bir dizini dönüştürmek için aşağıdakileri yapabilirsiniz: for f in *.m4a; do ffmpeg -i "$f" -acodec flac "${f%.m4a}.flac"; done Bu, Linux'ta değil, aynı zamanda Windows'ta bir Git bash'da da çalışır.
Ruud

1
@RuudvA'nın dediği gibi ffmpeg kullanarak dönüştürme, ancak bana şöyle bir mesaj verir: *** THIS PROGRAM IS DEPRECATED *** This program is only provided for compatibility and will be removed in a future release. Please use avconv instead. Bunu aconv kullanarak yapmak için, bunun yerine şunu yapın: for f in *.m4a; do avconv -i "$f" "${f%.m4a}.flac"; done
Duncan Lock

XLD, OSX için bir başka iyi olanıdır.
Arran Cudbard-Bell

3

Windows CMD için şunları yapabilirsiniz.

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

(Toplu Komut Dosyası)

(Bu özyinelemeyi gerçekleştirecektir (Her Klasör ve altında çalıştırıldığı yerden))


1

Bir Mac'iniz varsa (ALAC dosyalarınız olduğundan), ALAC / FLAC veya diğer birçok biçime dönüştürme yapmak için açık kaynak yazılım Max'i güzel bir ön uç olarak da kullanabilirsiniz.


2
Bir diğeri de XLD.
Nathaniel

1

Powershell'de Windows için (ffmpeg kullanarak) alac'ı flac'a dönüştürmek için bunu yapabilirsiniz:

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

ve tersine bunu alac'a dönüştürmek için yapın

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

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.