파이썬은 굉장히 직관적이면서도 쉬운 문법과 잘 정리된 매뉴얼 등 장점이 참 많은 언어라는 생각이 듭니다. 요즘 여차 저차 해서 파이썬을 만지작 거리고 있는데~ 참 재미 있더군요.
조금만 알아도 굉장히 많은 것들을 할 수 있는 효율적인 언어구나 하는 생각이 딱~~ 들었습니다.
어쨌든 오늘은 Python 에서 wav 파일을 읽는 방법에 대해 설명 드리려 합니다.
뭐 아는 분들은 아시겠지만 간단하더군요.
http://stackoverflow.com/questions/2060628/how-to-read-wav-file-in-python
아래 코드는 위 주소를 참조하여 만들었습니다.
위 주소의 댓글들을 보니 audiolab 이라는 모듈도 있는 것 같고 Scipy를 이용해서도 읽어 들일수가 있는 것 같더군요.
저는 Python 기본 모듈인 wave 모듈을 이용했습니다.
아래 코드는 16 비트 wave 파일을 읽어드리는 코드 입니다.
Mono, stereo 까지만 읽어 들일 수 있게 했습니다.
위 예제 코드는 MM.wav 라는 파일을 읽어들이는 코드 입니다.
nRead 는 읽어 들일 프레임 수 이고~ 당연히 전체 데이터 프레임 수보다는 작아야 겠죠~
wave 파일이 stereo 라면 wave_channel1, wave_channel2 에 각 채널의 데이터가 들어가고~ mono 면 wave_channel1에만 데이터가 저장 됩니다.
16 비트가 아니라면 struct module 의 unpack() 의 format 을 변경 해 줘야 합니다. 위 예제 코드에서 'h' 는 2 byte integer 니깐~ 매뉴얼을 참조해서 적절한 Format 으로 변경이 되어야 합니다.
'programming language > Python' 카테고리의 다른 글
Python dictionary 안의 dictionary 데이터 타입 (0) | 2014.11.16 |
---|---|
Eclipse Python Plugin Pydev 설치 (0) | 2014.11.15 |
Python에서 Clipboard 사용하기 pyperclip (0) | 2014.04.22 |
Python BeautifulSoup 를 사용한 로또 번호 불러오기 (2) | 2014.04.21 |
ipython으로 unique 하게 sorting 하기 (0) | 2013.11.26 |
Windows 에서 Python easy_install, pip 설치 (6) | 2013.09.23 |
Vim Python autocomplete plugin (0) | 2012.05.10 |
Python numpy, scipy, matplotlib (0) | 2012.03.08 |
댓글