이상적으로는 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를 사용할 수는 있지만 lameand를 사용하는 것이 좋습니다 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 인코딩 단계에서 품질이 저하되므로 의미가 없습니다.
그러나 나는 당신이 이것에 대한 합리적인 사용 사례를 가지고 있다고 가정합니다 ...