1 #include "aubio-types.h"
4 Py_aubio_window(PyObject *self, PyObject *args)
6 char_t *wintype = NULL;
10 if (!PyArg_ParseTuple (args, "|sI", &wintype, &winlen)) {
14 window = new_aubio_window(wintype, winlen);
16 PyErr_SetString (PyExc_ValueError, "failed computing window");
20 return (PyObject *) PyAubio_CFvecToArray(window);
24 Py_aubio_level_lin(PyObject *self, PyObject *args)
30 if (!PyArg_ParseTuple (args, "O:level_lin", &input)) {
38 if (!PyAubio_ArrayToCFvec(input, &vec)) {
42 level_lin = Py_BuildValue(AUBIO_NPY_SMPL_CHR, aubio_level_lin(&vec));
43 if (level_lin == NULL) {
44 PyErr_SetString (PyExc_ValueError, "failed computing level_lin");
52 Py_aubio_db_spl(PyObject *self, PyObject *args)
58 if (!PyArg_ParseTuple (args, "O:db_spl", &input)) {
66 if (!PyAubio_ArrayToCFvec(input, &vec)) {
70 db_spl = Py_BuildValue(AUBIO_NPY_SMPL_CHR, aubio_db_spl(&vec));
72 PyErr_SetString (PyExc_ValueError, "failed computing db_spl");
80 Py_aubio_silence_detection(PyObject *self, PyObject *args)
84 PyObject *silence_detection;
87 if (!PyArg_ParseTuple (args, "O" AUBIO_NPY_SMPL_CHR ":silence_detection", &input, &threshold)) {
95 if (!PyAubio_ArrayToCFvec(input, &vec)) {
99 silence_detection = Py_BuildValue("I", aubio_silence_detection(&vec, threshold));
100 if (silence_detection == NULL) {
101 PyErr_SetString (PyExc_ValueError, "failed computing silence_detection");
105 return silence_detection;
109 Py_aubio_level_detection(PyObject *self, PyObject *args)
113 PyObject *level_detection;
116 if (!PyArg_ParseTuple (args, "O" AUBIO_NPY_SMPL_CHR ":level_detection", &input, &threshold)) {
124 if (!PyAubio_ArrayToCFvec(input, &vec)) {
128 level_detection = Py_BuildValue(AUBIO_NPY_SMPL_CHR, aubio_level_detection(&vec, threshold));
129 if (level_detection == NULL) {
130 PyErr_SetString (PyExc_ValueError, "failed computing level_detection");
134 return level_detection;
138 Py_aubio_shift(PyObject *self, PyObject *args)
143 if (!PyArg_ParseTuple (args, "O:shift", &input)) {
151 if (!PyAubio_ArrayToCFvec(input, &vec)) {
158 return (PyObject *) PyAubio_CFvecToArray(&vec);
162 Py_aubio_ishift(PyObject *self, PyObject *args)
167 if (!PyArg_ParseTuple (args, "O:shift", &input)) {
175 if (!PyAubio_ArrayToCFvec(input, &vec)) {
182 return (PyObject *) PyAubio_CFvecToArray(&vec);
186 Py_aubio_hztomel(PyObject *self, PyObject *args, PyObject *kwds)
189 PyObject *htk = NULL;
190 static char *kwlist[] = {"f", "htk", NULL};
191 if (!PyArg_ParseTupleAndKeywords(args, kwds, AUBIO_NPY_SMPL_CHR "|O",
196 if (htk != NULL && PyObject_IsTrue(htk) == 1)
197 return Py_BuildValue(AUBIO_NPY_SMPL_CHR, aubio_hztomel_htk(v));
199 return Py_BuildValue(AUBIO_NPY_SMPL_CHR, aubio_hztomel(v));
203 Py_aubio_meltohz(PyObject *self, PyObject *args, PyObject *kwds)
206 PyObject *htk = NULL;
207 static char *kwlist[] = {"m", "htk", NULL};
208 if (!PyArg_ParseTupleAndKeywords(args, kwds, AUBIO_NPY_SMPL_CHR "|O",
213 if (htk != NULL && PyObject_IsTrue(htk) == 1)
214 return Py_BuildValue(AUBIO_NPY_SMPL_CHR, aubio_meltohz_htk(v));
216 return Py_BuildValue(AUBIO_NPY_SMPL_CHR, aubio_meltohz(v));
220 Py_aubio_hztomel_htk(PyObject *self, PyObject *args)
223 if (!PyArg_ParseTuple(args, AUBIO_NPY_SMPL_CHR, &v)) {
226 return Py_BuildValue(AUBIO_NPY_SMPL_CHR, aubio_hztomel_htk(v));
230 Py_aubio_meltohz_htk(PyObject *self, PyObject *args)
233 if (!PyArg_ParseTuple(args, AUBIO_NPY_SMPL_CHR, &v)) {
236 return Py_BuildValue(AUBIO_NPY_SMPL_CHR, aubio_meltohz_htk(v));