source: python/ext/py-musicutils.c @ 665b711

feature/autosinkfeature/cnnfeature/cnn_orgfeature/constantqfeature/crepefeature/crepe_orgfeature/pitchshiftfeature/pydocstringsfeature/timestretchfix/ffmpeg5pitchshiftsamplertimestretchyinfft+
Last change on this file since 665b711 was 4615886a, checked in by Paul Brossier <piem@piem.org>, 9 years ago

ext/py-musicutils.c: add db_spl

  • Property mode set to 100644
File size: 1.6 KB
Line 
1#include "aubio-types.h"
2
3PyObject *
4Py_aubio_window(PyObject *self, PyObject *args)
5{
6  char_t *wintype = NULL;
7  uint_t winlen = 0;
8  fvec_t *window = NULL;
9
10  if (!PyArg_ParseTuple (args, "|sI", &wintype, &winlen)) {
11    PyErr_SetString (PyExc_ValueError, "failed parsing arguments");
12    return NULL;
13  }
14
15  window = new_aubio_window(wintype, winlen);
16  if (window == NULL) {
17    PyErr_SetString (PyExc_ValueError, "failed computing window");
18    return NULL;
19  }
20
21  return (PyObject *) PyAubio_CFvecToArray(window);
22}
23
24PyObject *
25Py_aubio_level_lin(PyObject *self, PyObject *args)
26{
27  PyObject *input;
28  fvec_t *vec;
29  PyObject *level_lin;
30
31  if (!PyArg_ParseTuple (args, "O:level_lin", &input)) {
32    PyErr_SetString (PyExc_ValueError, "failed parsing arguments");
33    return NULL;
34  }
35
36  if (input == NULL) {
37    return NULL;
38  }
39
40  vec = PyAubio_ArrayToCFvec (input);
41  if (vec == NULL) {
42    return NULL;
43  }
44
45  level_lin = Py_BuildValue("f", aubio_level_lin(vec));
46  if (level_lin == NULL) {
47    PyErr_SetString (PyExc_ValueError, "failed computing level_lin");
48    return NULL;
49  }
50
51  return level_lin;
52}
53
54PyObject *
55Py_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}
Note: See TracBrowser for help on using the repository browser.