이상적으로는 MP3에서 FLAC로 변환하고 싶습니다. 또한 스크립트를 작성할 수 있어야합니다.
이상적으로는 MP3에서 FLAC로 변환하고 싶습니다. 또한 스크립트를 작성할 수 있어야합니다.
답변:
사운드 형식 변환 및 간단한 변환을위한 기본 도구는 사운드 처리 프로그램의 스위스 군용 칼인 SoX 입니다.
sox foo.mp3 foo.flac
데비안을 실행하는 경우, MP3를 쓰는 것에 대한 지원 sox
은 lenny 와 squeeze 에서 중단됩니다 (그리고 같은 문제가 Ubuntu 10.04와 10.10에 영향을 미친다는 것을 아는 한). 이 버그 는 2011 년 3 월 초에 수정되었으므로 최신 소스를 sox
가져 오거나 14.3.1-1build1 이상의 바이너리를 가져와 다시 컴파일하면 작동합니다.
에 대한 대안 .mp3
은 lame
입니다. 그것은 읽지 않습니다 .flac
,하지만 당신은 사용할 수 있습니다 sox
또는 flac
변환하는 방법 .flac
을 .wav
다음과 lame
에서 .wav
에 .mp3
.
flac -d foo.flac -c | lame - foo.mp3
이미 다른 사람들이 언급했듯이 SoX를 사용할 수는 있지만 lame
and를 사용하는 것이 좋습니다 flac
.
첫 번째 질문은 다음으로 진행 .mp3
됩니다 .flac
(아래에서 이것이 일반적으로 나쁜 생각 인 이유 참조).
lame --decode <file>.mp3 - | flac -o <file>.flac -
WAV 헤더를 사용하므로 매우 긴 파일 (4 시간 이상의 긴 사운드 파일 등)에는 제한이 있습니다.
두 번째 질문에서 이동하는 방법입니다 .flac
에 .mp3
:
flac -d -c <file>.flac | lame - <file>.mp3
이 설정은 기본 품질 수준 등을 가정합니다. 매뉴얼 페이지를 읽 lame
거나 flac
조정하는 방법을 더 잘 이해하려면.
이제 녹음 시간이 매우 길어 손실 된 형식으로 다시 인코딩하려고 할 수 있습니다. 이것은 나의 유스 케이스 중 하나이며, 나는 이것을 생각해 냈다.
에서가는 .flac
에 .mp3
기본 품질 설정을 사용하여 :
flac -d --force-raw-format --endian=little --sign=signed <file>.flac -c | lame -r -s 48 - <file>.mp3
이는 원시 형식이 PCM 데이터라고 가정합니다. 샘플 레이트 48kHz, 2 채널. 각 샘플은 16 비트, 리틀 엔디안, 부호있는 정수입니다.
인코딩 프로세스는 lame
여기에서 기본 품질 설정을 사용하고 있습니다.
MP3는 이미 손실 인코딩되어 있기 때문에 MP3 파일에서 FLAC 파일을 만드는 것은 의미가 없습니다.
MP3-> FLAC에서 FLAC-> MP3으로 이동하면 최초의 원래 MP3 인코딩 단계에서 품질이 저하되므로 의미가 없습니다.
그러나 나는 당신이 이것에 대한 합리적인 사용 사례를 가지고 있다고 가정합니다 ...