먼저:
인코딩 과 컨테이너 형식 의 차이점을 이해하십시오 . http://en.wikipedia.org/wiki/Digital_container_format
컨테이너 형식은 다른 인코딩 된 데이터를 "캡슐화"하는 데이터 형식입니다. 인코딩 된 데이터에 대한 "메타 정보"를 포함하거나 인코딩 된 데이터의 여러 개별 스트림 또는 이와 유사한 것을 저장하는 방법이 있습니다.
코덱으로 생성 된 인코딩은 데이터 스트림의 실제 "고기"입니다.
내가 생각할 수있는 가장 일반적인 예는 "Ogg / Vorbis"형식입니다. Ogg는 컨테이너 형식이며 Vorbis는 인코딩입니다. 따라서 Ogg 형식의 파일이 있으며 내부에는 인코딩 된 데이터가 포함 된 작은 버킷이 있습니다. 각 버킷에는 Vorbis로 인코딩 된 데이터 스트림이 있습니다. 버킷에는 아티스트 이름과 노래 제목이 찍혀있을 수 있습니다.
다시 기술로 돌아가십시오.
당신은 MP3와 같은, 이미 손실 포맷으로 음악이있는 경우 또는 오그 / 보비스 만 디스크 공간 (많이)를 먹을 것이다 무손실 형식으로 변환하고,하지 않을 것이다 - 절대적으로 하지 않을 것이다 -의 질을 향상 오디오가 무엇이든. 이미 손실 된 경우 충실도를 생성 할 수 없습니다. CSI라는 인기 TV 쇼에서 Visual Basic으로 GUI 인터페이스를 작성하지 않는 한 현실이 아니라 환상입니다.
다른 무손실 형식의 음악이 있고 FLAC로 변환하려는 경우 그렇게 할 수 있습니다.
"WAV"라는 용어를 던질 때주의하십시오. Wav는 무손실이 아닙니다. 실제로 WAV는 다양한 형식의 컨테이너 일뿐입니다. 그런 의미에서 AVI와 비슷합니다. 원시 PCM 데이터 인 경우 무손실 WAV를 가질 수 있지만 MPEG-1 Layer III 데이터 (손실)를 WAV 파일에 포함 할 수도 있습니다.
데이터의 충실도를 줄이면 무손실 형식에서 다른 형식으로 변환 할 때 데이터가 손실 될 수 있습니다. 예를 들어, 48000Hz에서 부호없는 16 비트 PCM 데이터 스트림을 44100Hz에서 8 비트 PCM 데이터 스트림으로 변환하면 두 가지 방식으로 충실도가 손실됩니다. 샘플은 48000에서 4444 개로 병합됩니다. 두 번째 (데이터 손실로 인한 결과), 샘플 당 16 개 대신 8 비트로 만 정보를 맞추려면 데이터를 다운 믹스해야하므로 품질이 크게 저하됩니다.
압축 (손실 또는 손실이없는) 인코더로 인코딩 된 모든 디지털 오디오 스트림에는 스트림의 속성을 설명하는 필수 요소 인 다음과 같은 "샘플 형식 속성"이 있습니다.
샘플 비트 폭 및 비트 심도 (예 : 8 비트, 16 비트 등) 비트 폭 및 깊이는 미묘하게 다르며 리틀 엔디안 / 빅 엔디안 (품질에 영향을 미치지 않음) 및 부호있는 또는 부호없는 (또한 그렇지 않은 경우) 품질에 영향을 주지만 인코더 / 디코더가 데이터를 처리하는 방법에는 영향을 미칩니다). 기억해야 할 핵심은 "더 많은 비트가 더 낫다"는 것입니다. 따라서 32 비트는 16 비트보다 좋습니다.
샘플링 속도라고도하는 주파수. 초당 더 많은 "샘플"오디오가 재생되므로 더 좋습니다. 카드 데크 위에서 손가락을 빠르게 닦고 카드가 흐릿하게 움직이는 것을보고 있다고 상상해보십시오. 이것이 디지털 오디오가 본질적으로 일어나는 방식입니다. 각 샘플은 카드이며 초당 더 많은 카드가 날 경우 오디오가 더 매끄 럽습니다. 예를 들어, 초당 5 장의 카드를 뒤집는 경우 실제로 알 수 있지만 초당 수천 장의 카드를 뒤집는 경우 모두 흐려집니다. 더 자연스럽고 현실에 가깝기 때문에 더 좋을 것입니다. 아날로그와 무한히 나눌 수 있습니다 (물론 플랑크 단위에 이르기까지 논란의 여지가 있지만 주제가 아닙니다).
"무손실"은 입력에서 사용한 것과 동일하거나 더 나은 샘플 형식을 출력에 사용하면 데이터가 손실되지 않음을 의미합니다.
따라서 16 비트에서 32 비트 샘플 형식으로 이동하면 데이터가 손실되지 않습니다. 그러나 32 비트에서 16 비트로 이동하면 데이터가 손실됩니다.
FLAC를 사용할 수 있는지에 대한 귀하의 질문에 대한 대답은 소스 데이터에 따라 다릅니다. 1920xHz (일명 192KHz)로 해당 샘플 형식으로 원래 기록 된 64 비트 WAV 파일이 있고 " 16 비트 및 44.1KHz의 표준 "FLAC 샘플 형식을 사용하면 많은 데이터가 손실됩니다. 그러나 WAV 파일이 초당 22100 샘플로만 8 비트이고 초당 44100 샘플로 16 비트 FLAC로 변환하면 데이터가 손실되지 않습니다. 무손실 압축 또는 더 작은 샘플 형식의 성능에 따라 파일 크기가 커질 수도 있습니다.
샘플 형식은 파일이 차지하는 공간에 영향을 미치므로 "더 큰"비트와 "빠른"샘플링 속도는 더 많은 공간을 차지합니다.
실제적인 관심사와 인간의 귀에 이르기까지 실제로 고 충실도 원본을 16 비트 44.1KHz FLAC로 변환 할 경우 실제로 눈치 채지 못할 것입니다. 그러나 MP3를 FLAC로 변환해도 개선 된 점은 없습니다. 따라서 수행 할 작업을 결정하기 전에 소스 데이터의 샘플 형식을 평가해야합니다.
이제이 모든 정보를 제공 했으므로 다음은 귀하의 질문에 대한 직접적이고 포인트가없는 빈 설명입니다.
무손실 오디오에 관한 몇 가지 질문이 있습니다. 전체 음악 컬렉션을 무손실 .flac로 리핑하는 것을 고려하고 있지만 먼저 몇 가지 사항을 이해하고 싶습니다.
음악 컬렉션이 CD에 있고 FLAC에 리핑하려면 내 의견에 매우 적합합니다. CD 품질의 오디오는 44.1KHz 및 샘플 당 16 비트입니다. 이것은 FLAC의 기본 설정 (적어도 내가 사용하는 인코더의 기본값)과 정확히 일치합니다. 따라서 데이터가 손실되지 않으며 디코딩시 입력 데이터와 수학적으로 동일합니다.
.flac 파일이 있는데 .wav로 만들고 싶은 경우 품질 손실이 발생하지 않도록하려면 어떻게해야합니까? 압축을 풀면 품질이 떨어지지 않습니다. .flac를 .wav로 변환하는 것은 압축 해제와 동일합니까?
입력 데이터와 동일하거나 더 넓은 샘플 형식의 .wav 파일로 변환 할 수 있으며 품질 손실이 없습니다.
미디어 플레이어가 flac 파일에서 오디오를 재생할 때 해당 PCM 데이터를 사운드 카드로 보내기 전에 flac 데이터를 PCM 형식으로 디코딩해야합니다. 들어간 데이터와 정확히 동일한 데이터로 압축이 풀립니다. 따라서 16 비트 44.1 KHz PCM 데이터가 들어 오면 그것이 나오고 스피커로갑니다.
이 작업과 오디오를 WAV 파일 로 변환 하는 것의 유일한 차이점은 WAV 파일로 변환 할 때 적절한 필러 비트 등을 사용하여 WAV 컨테이너를 만들어야하며 샘플 형식을 선택할 수 있다는 것입니다. WAV 파일의 그러나 샘플 형식이 동일하다고 가정하면 FLAC 파일과 WAV 파일의 유일한 차이점은 파일 크기뿐입니다. WAV 파일의 크기는 상당히 커집니다.
이것은 .ape 형식에도 적용됩니까? .ape로 다운로드 한 퍼블릭 도메인 레코딩이 몇 개 있지만 .flac로 만들고 싶습니다. .wav를 중간 사람으로 사용하지 않고 .ape를 .flac로 사용할 수 있습니까? 어떤 식 으로든 조금이라도 손실되지 않도록하고 싶습니다.
아니요, 일부 PCM 형식을 중개인으로 사용하지 않으면이 작업을 수행 할 수 없습니다 . 그러나 예, 이다 WAV 파일을 사용하지 않고 그것을 할 수 있습니다. 차이점에 유의하십시오. PCM 데이터 스트림. WAV 파일. 구별이 명확하지 않으면 내 게시물의 시작 부분을 다시 읽으십시오. "조금이라도"손실되지 않도록하려면 APE 파일을 검사하고 파일 형식을 이해하고 FLAC 인코더가 동일한 설정으로 인코딩되도록 설정해야합니다.
내부적으로 모든 오디오 변환 프로그램은 소스 형식에서 무손실 PCM 샘플 형식으로 디코딩 한 다음 해당 PCM 샘플을 취하여 대상 형식으로 다시 인코딩합니다.
또한 무손실 세상을 설명하는 가이드가 있다면 누구나 링크를 공유 할 의향이 있습니까? :)
제 생각에는 배우는 가장 좋은 방법은하는 것입니다. Gstreamer 프레임 워크, 사용 방법 및 샘플 형식의 다양한 튜너 블의 의미 및 파이프 라인 구성 방법을 배우는 데 시간이 걸리면 디지털 오디오에 대한 이해가 깊어 질 것입니다. 확인 해봐. http://gstreamer.freedesktop.org/ 또한 http://code.entropywave.com/gstreamer-sdk/(Windows 지원) 에서 Gstreamer SDK를 가져 와서 아무것도 컴파일하지 않고도 gst-launch-0.10으로 실험 할 수 있습니다. 소스에서.
몇 가지 공개 사항 :
gst-inspect-0.10 vorbisenc gst-inspect-0.10 vorbisdec gst-inspect-0.10 audioconvert gst-inspect-0.10 오디오 샘플
그런 다음 캡, 파이프 라인 구성 등에 대해 배우면 바로 이동할 수 있습니다.
* 참고 : PCM이 무엇인지 설명하지 않았다는 것을 알고 있습니다. Wikipedia는 나보다이 일을 더 잘 수행합니다. http://en.wikipedia.org/wiki/Pulse-code_modulation