2014-07-25 1 views
5

로컬 디렉토리에 압축 된 .aiff 파일을 읽으려고합니다. 나는 이것을 얻는다.파이썬에서 AIFF 모듈로 AIFF-C 파일을 읽을 수 없습니다.

>>>import aifc 
>>>s = aifc.open('/Users/machinename/Desktop/folder/AudioTrack.aiff','r') 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/aifc.py",  line 942, in open 
return Aifc_read(f) 
    File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/aifc.py", line 347, in __init__ 
self.initfp(f) 
    File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/aifc.py", line 317, in initfp 
self._read_comm_chunk(chunk) 
    File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/aifc.py", line 497, in _read_comm_chunk 
raise Error, 'cannot read compressed AIFF-C files' 
aifc.Error: cannot read compressed AIFF-C files 
>>> 

이 문제에 대한 해결 방법이 있어야한다고 생각합니다. Here을 볼 수 있습니다. aifc은 aiff-c 파일도 지원합니다.

간단한 질문이지만 웹에서 해결책을 찾을 수 없습니다.

답변

0

scikits.audiolab (mega-nerd.com/libsndfile/이 설치되어 있어야 함)에서 필요한 작업을 수행 할 수 있습니다. 예를 들어, 최근 (초)을 .AIF 파일의 지속 시간을 얻을 필요 :

import scikits.audiolab 

aiff_file = scikits.audiolab.Sndfile('best_song_ever.aif') 
print aiff_file.nframes/float(aiff_file.samplerate) 

당신도 (Full API docs를) 다른 멋진 물건을 잔뜩 할 수 있습니다. 도움이 되었기를 바랍니다.

관련 문제