Changeset 4615886a
- Timestamp:
- Jul 10, 2015, 2:08:22 AM (9 years ago)
- Branches:
- feature/autosink, feature/cnn, feature/cnn_org, feature/constantq, feature/crepe, feature/crepe_org, feature/pitchshift, feature/pydocstrings, feature/timestretch, fix/ffmpeg5, master, pitchshift, sampler, timestretch, yinfft+
- Children:
- 665b711
- Parents:
- 5a7e2c3
- Location:
- python
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
python/ext/aubiomodule.c
r5a7e2c3 r4615886a 242 242 {"min_removal", Py_min_removal, METH_VARARGS, Py_min_removal_doc}, 243 243 {"level_lin", Py_aubio_level_lin, METH_VARARGS, Py_aubio_level_lin_doc}, 244 {"db_spl", Py_aubio_db_spl, METH_VARARGS, Py_aubio_db_spl_doc}, 244 245 {"window", Py_aubio_window, METH_VARARGS, Py_aubio_window_doc}, 245 246 {NULL, NULL} /* Sentinel */ -
python/ext/py-musicutils.c
r5a7e2c3 r4615886a 51 51 return level_lin; 52 52 } 53 54 PyObject * 55 Py_aubio_db_spl(PyObject *self, PyObject *args) 56 { 57 PyObject *input; 58 fvec_t *vec; 59 PyObject *db_spl; 60 61 if (!PyArg_ParseTuple (args, "O:db_spl", &input)) { 62 PyErr_SetString (PyExc_ValueError, "failed parsing arguments"); 63 return NULL; 64 } 65 66 if (input == NULL) { 67 return NULL; 68 } 69 70 vec = PyAubio_ArrayToCFvec (input); 71 if (vec == NULL) { 72 return NULL; 73 } 74 75 db_spl = Py_BuildValue("f", aubio_db_spl(vec)); 76 if (db_spl == NULL) { 77 PyErr_SetString (PyExc_ValueError, "failed computing db_spl"); 78 return NULL; 79 } 80 81 return db_spl; 82 } -
python/tests/test_musicutils.py
r5a7e2c3 r4615886a 6 6 from math import pi 7 7 8 from aubio import window, level_lin 8 from aubio import window, level_lin, db_spl 9 9 10 10 from aubio import fvec … … 56 56 assert_equal(level_lin(-ones(1024, dtype="float32")), 1.) 57 57 58 class aubio_db_spl(TestCase): 59 def test_accept_fvec(self): 60 db_spl(fvec(1024)) 61 62 def test_fail_not_fvec(self): 63 try: 64 db_spl("default") 65 except ValueError, e: 66 pass 67 else: 68 self.fail('non-number input phase does not raise a TypeError') 69 70 def test_zeros_is_inf(self): 71 from math import isinf 72 assert isinf(db_spl(fvec(1024))) 73 74 def test_minus_ones_is_zero(self): 75 from numpy import ones 76 assert_equal(db_spl(-ones(1024, dtype="float32")), 0.) 77 58 78 if __name__ == '__main__': 59 79 from unittest import main
Note: See TracChangeset
for help on using the changeset viewer.