본문 바로가기
신호처리공부

파이썬에서 .au 파일 읽기

by 부자독개 2020. 2. 7.
반응형

.raw 파일만 사용해봤는데 처음으로 .au파일을 읽어서 사용하려니 많이 헤매게 됨.

 

https://docs.python.org/ko/3/library/sunau.html?highlight=au#module-sunau

 

sunau — Sun AU 파일 읽고 쓰기 — Python 3.8.1 문서

sunau — Sun AU 파일 읽고 쓰기 소스 코드: Lib/sunau.py sunau 모듈은 Sun AU 음향 형식에 편리한 인터페이스를 제공합니다. 이 모듈은 모듈 aifc와 wave 모듈과 인터페이스 호환됩니다. 오디오 파일은 헤더와 뒤따르는 데이터로 구성됩니다. 헤더의 필드는 다음과 같습니다: 필드 내용 매직 워드 4바이트 .snd. 헤더 크기 info를 포함한 헤더의 크기 (바이트). 데이터 크기 데이터의 물리적 크기 (바이트). 인코딩(enc

docs.python.org

파이썬에서 제공하는 모듈을 사용하여 간단하게 읽을수 있음.

 

blues.00001.AU파일을 읽는 예제

 

sunau.Au_read를 통해 .au 파일을 불러온다.

getnframes()를 통해 음원이 몇개의 샘플로 이루어져있는지 알수있음.

readframes()를 통해 음원의 샘플 개수 만큼 불러오고 np.fromstring()을 이용하여 np.dtype('>h')로 읽어오게 된다.

여기서 실수했던것이 dtype = np.int16으로 부른것이었다.

 

위에를 참고하여 .au파일은 np.dtype('>h')로 읽어야 된다는 걸 알게 됐다.

반응형

댓글