History

aubiomodule.c: add unwrap2pi

Paul Brossier committed 13 years ago

Commit 6514bb61 parent 6a50b9e2 files · +24 −1Browse files

Showing the changes to python (2 of 2 files). Show all

Unified · Split

2 files
  1. python/aubiomodule.c +18 −0
  2. python/tests/test_mathutils.py +6 −1
python/aubiomodule.c+18−0
@@ -39,6 +39,23 @@ Py_alpha_norm (PyObject * self, PyObject * args) · 38 unmodified lines
39 return result;39 return result;
40}40}
41 41
42static char Py_unwrap2pi_doc[] = "unwrap phase value to [-pi, pi]";
43
44static PyObject *
45Py_unwrap2pi (PyObject * self, PyObject * args)
46{
47 smpl_t input;
48 smpl_t output;
49
50 if (!PyArg_ParseTuple (args, "|f", &input)) {
51 return NULL;
52 }
53
54 output = aubio_unwrap2pi (input);
55
56 return (PyObject *)PyFloat_FromDouble (output);
57}
58
42static char Py_bintomidi_doc[] = "convert bin to midi";59static char Py_bintomidi_doc[] = "convert bin to midi";
43 60
44static PyObject *61static PyObject *
@@ -208,6 +225,7 @@ Py_min_removal(PyObject * self, PyObject * args) · 163 unmodified lines
208}225}
209 226
210static PyMethodDef aubio_methods[] = {227static PyMethodDef aubio_methods[] = {
228 {"unwrap2pi", Py_unwrap2pi, METH_VARARGS, Py_unwrap2pi_doc},
211 {"bintomidi", Py_bintomidi, METH_VARARGS, Py_bintomidi_doc},229 {"bintomidi", Py_bintomidi, METH_VARARGS, Py_bintomidi_doc},
212 {"miditobin", Py_miditobin, METH_VARARGS, Py_miditobin_doc},230 {"miditobin", Py_miditobin, METH_VARARGS, Py_miditobin_doc},
213 {"bintofreq", Py_bintofreq, METH_VARARGS, Py_bintofreq_doc},231 {"bintofreq", Py_bintofreq, METH_VARARGS, Py_bintofreq_doc},
python/tests/test_mathutils.py+6−1
@@ -3,9 +3,15 @@ · 2 unmodified lines
3from numpy.testing import TestCase, run_module_suite3from numpy.testing import TestCase, run_module_suite
4from numpy.testing import assert_equal, assert_almost_equal4from numpy.testing import assert_equal, assert_almost_equal
5from aubio import bintomidi, miditobin, freqtobin, bintofreq, freqtomidi, miditofreq5from aubio import bintomidi, miditobin, freqtobin, bintofreq, freqtomidi, miditofreq
6from aubio import unwrap2pi
6 7
7class aubio_mathutils(TestCase):8class aubio_mathutils(TestCase):
8 9
10 def test_unwrap2pi(self):
11 a = [ x/100. for x in range(-600,600,100) ]
12 b = [ unwrap2pi(x) for x in a ]
13 #print b
14
9 def test_miditobin(self):15 def test_miditobin(self):
10 a = [ miditobin(a, 44100, 512) for a in range(128) ]16 a = [ miditobin(a, 44100, 512) for a in range(128) ]
11 17
@@ -24,7 +30,6 @@ class aubio_mathutils(TestCase): · 12 unmodified lines
24 def test_miditofreq(self):30 def test_miditofreq(self):
25 freqs = [ miditofreq(a) for a in range(128) ]31 freqs = [ miditofreq(a) for a in range(128) ]
26 midis = [ freqtomidi(a) for a in freqs ]32 midis = [ freqtomidi(a) for a in freqs ]
27 print midis
28 33
29if __name__ == '__main__':34if __name__ == '__main__':
30 from unittest import main35 from unittest import 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