파이썬 표준 라이브러리의 sndhdr 모듈은 파일에 있는 사운드 데이터 유형을 읽는 유틸리티 함수를 제공합니다. 함수는 5개의 속성을 포함하는 namedtuple()을 반환합니다.
파일 형식 | 'aifc', 'aiff', 'au', 'hcom', 'sndr', 'sndt', 'voc', 'wav', '8svx', 'sb', 'ub' 또는 '울'. |
프레임 속도 | sampling_rate는 실제 값이거나 알 수 없거나 디코딩하기 어려운 경우 0입니다. |
n채널 | 채널 수 또는 결정할 수 없거나 값을 디코딩하기 어려운 경우 0 |
nframes | 프레임 수 또는 -1. |
샘플폭 | bits_per_sample은 비트 단위의 샘플 크기이거나 A-LAW의 경우 'A' 또는 u-LAW의 경우 'U'입니다. |
sndhdr 모듈의 기능
sndhdr.what()
이 함수는 whathdr()을 사용하여 파일 이름에 저장된 사운드 데이터의 유형을 결정합니다. 성공하면 위에서 설명한 대로 명명된 튜플을 반환하고, 그렇지 않으면 None을 반환합니다.
sndhdr.whatthdr()
이 함수는 파일 헤더를 기반으로 파일에 저장되는 사운드 데이터의 유형을 결정합니다. 이 함수는 성공 시 위에서 설명한 대로 명명된 튜플을 반환하거나 없음을 반환합니다.
예시
>>> import sndhdr >>> sndhdr.whathdr("sample.wav") SndHeaders(filetype = 'wav', framerate = 44100, nchannels = 1, nframes = 99999, sampwidth = 16) >>> sndhdr.whathdr("sample.aiff") SndHeaders(filetype = 'aiff', framerate = 8000, nchannels = 1, nframes = 271200, sampwidth = 16) >>> sndhdr.whathdr("sample.au") SndHeaders(filetype = 'au', framerate = 8000, nchannels = 1, nframes = 103397.0, sampwidth = 'U')