History

python/tests/test_notes.py: test results are correct for 44100Hz_44100f_sine441.wav

Paul Brossier committed 9 years ago

Commit 9e3fc161 parent 1f6a9f81 file · +39 −0Browse files

Showing the changes to python (1 of 1 file). Show all

Unified · Split

python/tests/test_notes.py+39−0
@@ -38,5 +38,44 @@ class aubio_notes_params(TestCase): · 37 unmodified lines
3838 self.o.set_silence(val)
3939 assert_equal (self.o.get_silence(), val)
4040
41+from utils import list_all_sounds
42+list_of_sounds = list_all_sounds('sounds')
43+
44+class aubio_notes_sinewave(TestCase):
45+
46+ def analyze_file(self, filepath, samplerate=0):
47+ from aubio import source
48+ import numpy as np
49+ win_s = 512 # fft size
50+ hop_s = 256 # hop size
51+
52+ s = source(filepath, samplerate, hop_s)
53+ samplerate = s.samplerate
54+
55+ tolerance = 0.8
56+
57+ notes_o = notes("default", win_s, hop_s, samplerate)
58+ total_frames = 0
59+
60+ results = []
61+ while True:
62+ samples, read = s()
63+ new_note = notes_o(samples)
64+ if (new_note[0] != 0):
65+ note_str = ' '.join(["%.2f" % i for i in new_note])
66+ results.append( [total_frames, np.copy(new_note)] )
67+ total_frames += read
68+ if read < hop_s: break
69+ return results
70+
71+ def test_sinewave(self):
72+ for filepath in list_of_sounds:
73+ if '44100Hz_44100f_sine441.wav' in filepath:
74+ results = self.analyze_file(filepath)
75+ assert_equal (len(results), 1)
76+ assert_equal (len(results[0]), 2)
77+ assert_equal (results[0][0], 1280)
78+ assert_equal (results[0][1], [69, 123, -1])
79+
4180 if __name__ == '__main__':
4281 main()

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t