Skip to content

Commit

Permalink
added unit tests when ffmpeg is disabled
Browse files Browse the repository at this point in the history
  • Loading branch information
valentinp72 committed Nov 29, 2024
1 parent cd39137 commit ef6e349
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 0 deletions.
Binary file added media/musanmix.wav
Binary file not shown.
22 changes: 22 additions & 0 deletions run_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,14 @@ def seg2str(iseg, tseg):
self.assertEqual(curstop, nextstart,
'%s VS %s' % (seg2str(i, ret[i]), seg2str(i+1, ret[i+1])))

seg = Segmenter(ffmpeg=None)
ret = seg('./media/musanmix.wav')
for i in range(len(ret) -1):
curstop = ret[i][2]
nextstart = ret[i+1][1]
self.assertEqual(curstop, nextstart,
'%s VS %s' % (seg2str(i, ret[i]), seg2str(i+1, ret[i+1])))

def test_processingresult(self):
seg = Segmenter(vad_engine='sm')
ret = seg('./media/musanmix.mp3')
Expand All @@ -87,6 +95,14 @@ def test_processingresult(self):
self.assertEqual([e[0] for e in ref], [e[0] for e in ret])
np.testing.assert_almost_equal([e[1] for e in ref], [e[1] for e in ret])
np.testing.assert_almost_equal([e[2] for e in ref], [e[2] for e in ret])

seg = Segmenter(vad_engine='sm', ffmpeg=None)
ret = seg('./media/musanmix.wav')
df = pd.read_csv('./media/musanmix-sm-gender.csv', sep='\t')
ref = [(l.labels, float(l.start), float(l.stop)) for _, l in df.iterrows()]
self.assertEqual([e[0] for e in ref], [e[0] for e in ret])
np.testing.assert_almost_equal([e[1] for e in ref], [e[1] for e in ret])
np.testing.assert_almost_equal([e[2] for e in ref], [e[2] for e in ret])

def test_batch(self):
seg = Segmenter(vad_engine='sm')
Expand All @@ -96,6 +112,12 @@ def test_batch(self):
self.assertTrue(filecmp.cmp(lout[0], lout[1]))
self.assertTrue(filecmp.cmp(lout[0], './media/musanmix-sm-gender.csv'))

seg = Segmenter(vad_engine='sm', ffmpeg=None)
with tempfile.TemporaryDirectory() as tmpdirname:
lout = [os.path.join(tmpdirname, '1.1.csv'), os.path.join(tmpdirname, '2.1.csv')]
ret = seg.batch_process(['./media/musanmix.wav', './media/musanmix.wav'], lout)
self.assertTrue(filecmp.cmp(lout[0], lout[1]))
self.assertTrue(filecmp.cmp(lout[0], './media/musanmix-sm-gender.csv'))

def test_praat_export(self):
seg = Segmenter()
Expand Down

0 comments on commit ef6e349

Please sign in to comment.