def test_mp3read(self): sndfile = MP3Sndfile(self.mp3filename) d, fs, enc = mp3read(self.mp3filename) self.assertEqual(len(d), sndfile.nframes) self.assertEqual(fs, sndfile.samplerate) first = 0 last = fs d2, fs, enc = mp3read(self.mp3filename, last) assert_array_equal(d[:last], d2) d2, fs, enc = mp3read(self.mp3filename, first=first) assert_array_equal(d[first:], d2) d2, fs, enc = mp3read(self.mp3filename, last, first) assert_array_equal(d[first:last], d2)
def test_mp3read_compatibility_with_wavread(self): dmp3, fsmp3, encmp3 = mp3read(self.mp3filename) dwav, fswav, encwav = wavread(self.wavfilename) self.assertEquals(fsmp3, fswav) # Compensate for delay in mp3 file. #corr = np.array([sum(dmp3[n:] * dwav[:len(dmp3)-n]) # for n in xrange(2000)]) #mp3_delay = corr.argmax() #self.assertEqual(mp3_delay, 1105) mp3_delay = 1105; dmp3 = dmp3[mp3_delay:] dwav = dwav[:len(dmp3)] rmse = np.sqrt(np.mean((dwav - dmp3)**2)) self.assert_(rmse < 1e-4)