충실도의 손실없이 Apple Lossless 오디오를 FLAC로 변환 할 수 있습니까?


19

Apple Lossless 오디오 파일 (ALAC)을 충실도 손실없이 FLAC 오디오 파일로 변환 할 수 있습니까?


2
짧은 답변 '예'(slhck가 말했듯이). 문제는, 당신 이이 작업을 수행 할 수있는 도구를 찾고 있습니까, 아니면 무손실 형식을 무손실 다른 형식으로 변환 할 수 있는지 묻고 있습니까?
Journeyman Geek

답변:


37

예, 둘 다 수학적으로 무손실 인 경우 변환도 무손실입니다.

그 이유는 FLAC / ALAC 파일을 디코딩 할 때 신호를 항상 원래 형식으로 재구성 할 수 있기 때문입니다. 따라서 트랜스 코딩시 여러 번 트랜스 코딩 할 때도 동일하므로 트랜스 코딩시 손실이 발생하지 않습니다.

내가 상상할 수있는 유일한 오류는 계산에서 제한된 부동 소수점 정밀도를 통한 산술 오류 일 것입니다. 나는 이것이 FLAC 또는 ALAC에 적용되지 않는다고 생각합니다.

"심리 음향"무손실 코덱 만 사용하는 경우에는 불가능합니다. 심리 음향의 무손실은 원본과 압축 버전을 구별 할 수 없지만 서로 매우 다르다는 것을 의미합니다. MP3 또는 MPEG-4 AAC는이를 달성하기 위해 다양한 심리 음향 기술을 사용합니다. 따라서 트랜스 코딩 할 때 원본 버전을 재구성 할 수 없으며 품질이 저하됩니다.


ALAC를 FLAC로 변환하려는 경우 ffmpeg거의 모든 플랫폼에서 무료로 사용할 수 있으므로 좋은 옵션입니다.

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

FFmpeg는 문제없이 ALAC를 읽습니다. * nix 시스템에는 FLAC변환 이라는 스크립트 가있어 전체 프로세스를보다 쉽게 ​​수행 할 수 있습니다. Bash를 사용하면 단일 디렉토리의 모든 파일을 간단히 변환 할 수 있습니다.

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

참고 :ffmpeg 더 이상 사용되지 않는다는 메시지가 표시 되는 경우 실제로는 그렇지 않습니다. 여전히 활발하게 개발 된 프로그램입니다. 그러나 우분투의 패키지 관리자는 FFmpeg의 Libav 포크로 전환하여 avconv대신 을 제공하기로 결정했습니다 ffmpeg. ffmpeg 따라서 우분투 에서 사용 가능한 버전은 구식입니다. 대신 정적 빌드를 다운로드 하거나 직접 컴파일 하여 최근 빌드를 얻을 수 있습니다 . 자세한 정보는 다음을 참조하십시오 : ffmpeg, libav 및 avconv의 차이점과 관계를 알려줄 수있는 사람


2
를 기반으로 superuser.com/a/277358/45914 : 당신은 전체 디렉토리 변환하기 위해 다음을 수행 할 수 있습니다 for f in *.m4a; do ffmpeg -i "$f" -acodec flac "${f%.m4a}.flac"; done 예를 들어, Windows에서 리눅스에이 작품뿐만 아니라 망할 놈의 강타에 있습니다.
Ruud

1
@RuudvA가 말했듯이 ffmpeg를 사용하여 변환하면 작동하지만 다음과 같은 메시지가 표시 *** THIS PROGRAM IS DEPRECATED *** This program is only provided for compatibility and will be removed in a future release. Please use avconv instead. 됩니다. aconv를 사용 하여이 작업을 수행하려면 대신 수행하십시오. for f in *.m4a; do avconv -i "$f" "${f%.m4a}.flac"; done
Duncan Lock

XLD는 OSX에 또 다른 좋은 것입니다.
Arran Cudbard-Bell

3

Windows CMD의 경우 가능합니다.

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

(배치 스크립트)

(이것은 재귀를 수행합니다 (모든 폴더와 그 아래에서 실행됩니다))


1

Mac이있는 경우 (ALAC 파일이 있으므로) 오픈 소스 소프트웨어 Max를 멋진 프론트 엔드로 사용하여 ALAC / FLAC 또는 기타 여러 형식으로 변환 할 수 있습니다.


2
또 다른 좋은 방법은 XLD입니다.
Nathaniel

1

Powershell에서 Windows의 경우 (ffmpeg 사용) alac를 flac로 변환하려면 다음을 수행하십시오.

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

반대로 alac로 변환하려면이 작업을 수행하십시오.

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

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.