import errno
import ossaudiodev
import sys
-import sunaudio
+import sunau
import time
import audioop
import unittest
AFMT_S16_NE = ossaudiodev.AFMT_S16_BE
-SND_FORMAT_MULAW_8 = 1
-
def read_sound_file(path):
- fp = open(path, 'rb')
- size, enc, rate, nchannels, extra = sunaudio.gethdr(fp)
- data = fp.read()
- fp.close()
-
- if enc != SND_FORMAT_MULAW_8:
+ with open(path, 'rb') as fp:
+ au = sunau.open(fp)
+ rate = au.getframerate()
+ nchannels = au.getnchannels()
+ encoding = au._encoding
+ fp.seek(0)
+ data = fp.read()
+
+ if encoding != sunau.AUDIO_FILE_ENCODING_MULAW_8:
raise RuntimeError("Expect .au file with 8-bit mu-law samples")
# Convert the data to 16-bit signed.