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/tests/test_notes.py (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
38 self.o.set_silence(val)38 self.o.set_silence(val)
39 assert_equal (self.o.get_silence(), val)39 assert_equal (self.o.get_silence(), val)
40 40
41from utils import list_all_sounds
42list_of_sounds = list_all_sounds('sounds')
43
44class 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
41if __name__ == '__main__':80if __name__ == '__main__':
42 main()81 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