-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path_enhancer.cpp
38 lines (32 loc) · 1021 Bytes
/
_enhancer.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#include <iostream>
#include <vector>
#include <string.h>
#include <math.h>
#include <fstream>
#include "openwav.cpp"
#include "complex.cpp"
#include "FFT.cpp"
#include "scale.cpp"
#include <pybind11/pybind11.h>
#include <pybind11/stl.h>
using namespace std;
namespace py = pybind11;
PYBIND11_MODULE(_enhancer, a)
{
a.doc() = "audio enhancer";
a.def("fft", &fft, py::arg("data"), py::arg("N"), py::arg("inv") = false);
a.def("ifft", &ifft);
a.def("paddingToPowerOfTwo", &paddingToPowerOfTwo);
a.def("initialize", &initialize);
a.def("getReals", &getReals);
a.def("getImags", &getImags);
py::class_<Complex>(a, "Complex")
.def_readonly("re", &Complex::re)
.def_readonly("im", &Complex::im);
py::class_<WavFile>(a, "WavFile")
.def(py::init<>())
.def(py::init<const char *>())
.def("printHeaderInfo", &WavFile::printHeaderInfo)
.def("readAudioData", &WavFile::readAudioData)
.def("writeAudioData", &WavFile::writeAudioData);
}