fvec_t *window = NULL;
if (!PyArg_ParseTuple (args, "|sI", &wintype, &winlen)) {
- PyErr_SetString (PyExc_ValueError, "failed parsing arguments");
return NULL;
}
Py_aubio_level_lin(PyObject *self, PyObject *args)
{
PyObject *input;
- fvec_t *vec;
+ fvec_t vec;
PyObject *level_lin;
if (!PyArg_ParseTuple (args, "O:level_lin", &input)) {
- PyErr_SetString (PyExc_ValueError, "failed parsing arguments");
return NULL;
}
return NULL;
}
- vec = PyAubio_ArrayToCFvec (input);
- if (vec == NULL) {
+ if (!PyAubio_ArrayToCFvec(input, &vec)) {
return NULL;
}
- level_lin = Py_BuildValue("f", aubio_level_lin(vec));
+ level_lin = Py_BuildValue(AUBIO_NPY_SMPL_CHR, aubio_level_lin(&vec));
if (level_lin == NULL) {
PyErr_SetString (PyExc_ValueError, "failed computing level_lin");
return NULL;
return level_lin;
}
+
+PyObject *
+Py_aubio_db_spl(PyObject *self, PyObject *args)
+{
+ PyObject *input;
+ fvec_t vec;
+ PyObject *db_spl;
+
+ if (!PyArg_ParseTuple (args, "O:db_spl", &input)) {
+ return NULL;
+ }
+
+ if (input == NULL) {
+ return NULL;
+ }
+
+ if (!PyAubio_ArrayToCFvec(input, &vec)) {
+ return NULL;
+ }
+
+ db_spl = Py_BuildValue(AUBIO_NPY_SMPL_CHR, aubio_db_spl(&vec));
+ if (db_spl == NULL) {
+ PyErr_SetString (PyExc_ValueError, "failed computing db_spl");
+ return NULL;
+ }
+
+ return db_spl;
+}
+
+PyObject *
+Py_aubio_silence_detection(PyObject *self, PyObject *args)
+{
+ PyObject *input;
+ fvec_t vec;
+ PyObject *silence_detection;
+ smpl_t threshold;
+
+ if (!PyArg_ParseTuple (args, "O" AUBIO_NPY_SMPL_CHR ":silence_detection", &input, &threshold)) {
+ return NULL;
+ }
+
+ if (input == NULL) {
+ return NULL;
+ }
+
+ if (!PyAubio_ArrayToCFvec(input, &vec)) {
+ return NULL;
+ }
+
+ silence_detection = Py_BuildValue("I", aubio_silence_detection(&vec, threshold));
+ if (silence_detection == NULL) {
+ PyErr_SetString (PyExc_ValueError, "failed computing silence_detection");
+ return NULL;
+ }
+
+ return silence_detection;
+}
+
+PyObject *
+Py_aubio_level_detection(PyObject *self, PyObject *args)
+{
+ PyObject *input;
+ fvec_t vec;
+ PyObject *level_detection;
+ smpl_t threshold;
+
+ if (!PyArg_ParseTuple (args, "O" AUBIO_NPY_SMPL_CHR ":level_detection", &input, &threshold)) {
+ return NULL;
+ }
+
+ if (input == NULL) {
+ return NULL;
+ }
+
+ if (!PyAubio_ArrayToCFvec(input, &vec)) {
+ return NULL;
+ }
+
+ level_detection = Py_BuildValue(AUBIO_NPY_SMPL_CHR, aubio_level_detection(&vec, threshold));
+ if (level_detection == NULL) {
+ PyErr_SetString (PyExc_ValueError, "failed computing level_detection");
+ return NULL;
+ }
+
+ return level_detection;
+}
+
+PyObject *
+Py_aubio_shift(PyObject *self, PyObject *args)
+{
+ PyObject *input;
+ fvec_t vec;
+
+ if (!PyArg_ParseTuple (args, "O:shift", &input)) {
+ return NULL;
+ }
+
+ if (input == NULL) {
+ return NULL;
+ }
+
+ if (!PyAubio_ArrayToCFvec(input, &vec)) {
+ return NULL;
+ }
+
+ fvec_shift(&vec);
+
+ //Py_RETURN_NONE;
+ return (PyObject *) PyAubio_CFvecToArray(&vec);
+}
+
+PyObject *
+Py_aubio_ishift(PyObject *self, PyObject *args)
+{
+ PyObject *input;
+ fvec_t vec;
+
+ if (!PyArg_ParseTuple (args, "O:shift", &input)) {
+ return NULL;
+ }
+
+ if (input == NULL) {
+ return NULL;
+ }
+
+ if (!PyAubio_ArrayToCFvec(input, &vec)) {
+ return NULL;
+ }
+
+ fvec_ishift(&vec);
+
+ //Py_RETURN_NONE;
+ return (PyObject *) PyAubio_CFvecToArray(&vec);
+}
+
+PyObject*
+Py_aubio_hztomel(PyObject *self, PyObject *args, PyObject *kwds)
+{
+ smpl_t v;
+ PyObject *htk = NULL;
+ static char *kwlist[] = {"f", "htk", NULL};
+ if (!PyArg_ParseTupleAndKeywords(args, kwds, AUBIO_NPY_SMPL_CHR "|O",
+ kwlist, &v, &htk))
+ {
+ return NULL;
+ }
+ if (htk != NULL && PyObject_IsTrue(htk) == 1)
+ return PyFloat_FromDouble(aubio_hztomel_htk(v));
+ else
+ return PyFloat_FromDouble(aubio_hztomel(v));
+}
+
+PyObject*
+Py_aubio_meltohz(PyObject *self, PyObject *args, PyObject *kwds)
+{
+ smpl_t v;
+ PyObject *htk = NULL;
+ static char *kwlist[] = {"m", "htk", NULL};
+ if (!PyArg_ParseTupleAndKeywords(args, kwds, AUBIO_NPY_SMPL_CHR "|O",
+ kwlist, &v, &htk))
+ {
+ return NULL;
+ }
+ if (htk != NULL && PyObject_IsTrue(htk) == 1)
+ return PyFloat_FromDouble(aubio_meltohz_htk(v));
+ else
+ return PyFloat_FromDouble(aubio_meltohz(v));
+}
+
+PyObject*
+Py_aubio_hztomel_htk(PyObject *self, PyObject *args)
+{
+ smpl_t v;
+ if (!PyArg_ParseTuple(args, AUBIO_NPY_SMPL_CHR, &v)) {
+ return NULL;
+ }
+ return PyFloat_FromDouble(aubio_hztomel_htk(v));
+}
+
+PyObject*
+Py_aubio_meltohz_htk(PyObject *self, PyObject *args)
+{
+ smpl_t v;
+ if (!PyArg_ParseTuple(args, AUBIO_NPY_SMPL_CHR, &v)) {
+ return NULL;
+ }
+ return PyFloat_FromDouble(aubio_meltohz_htk(v));
+}