-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathsetup.py
More file actions
73 lines (67 loc) · 1.72 KB
/
setup.py
File metadata and controls
73 lines (67 loc) · 1.72 KB
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
from pathlib import Path
# Available at setup time due to pyproject.toml
from setuptools import setup, Extension
_DIR = Path(__file__).parent
_MICROVAD_DIR = _DIR / "micro_vad"
_FRONTEND_DIR = (
_MICROVAD_DIR / "tensorflow" / "lite" / "experimental" / "microfrontend" / "lib"
)
_KISSFFT_DIR = _MICROVAD_DIR / "kissfft"
_INCLUDE_DIR = _MICROVAD_DIR
version = "2.0.1"
sources = [_MICROVAD_DIR / "micro_vad.cpp"]
sources.extend(
_FRONTEND_DIR / f
for f in [
"kiss_fft_int16.cc",
"fft.cc",
"fft_util.cc",
"filterbank.cc",
"filterbank_util.cc",
"frontend.cc",
"frontend_util.cc",
"log_lut.cc",
"log_scale.cc",
"log_scale_util.cc",
"noise_reduction.cc",
"noise_reduction_util.cc",
"pcan_gain_control.cc",
"pcan_gain_control_util.cc",
"window.cc",
"window_util.cc",
]
)
sources.append(_KISSFFT_DIR / "kiss_fft.cc")
sources.append(_KISSFFT_DIR / "tools" / "kiss_fftr.cc")
flags = ["-DFIXED_POINT=16"]
ext_modules = [
Extension(
name="micro_vad_cpp",
language="c++",
py_limited_api=True,
extra_compile_args=flags,
sources=sorted(
[str(p) for p in sources] + [str(_DIR / "src" / "micro_vad.cpp")]
),
define_macros=[
("Py_LIMITED_API", "0x03090000"),
("VERSION_INFO", f'"{version}"'),
],
include_dirs=[str(_INCLUDE_DIR), str(_KISSFFT_DIR)],
),
]
setup(
version=version,
ext_modules=ext_modules,
extras_require={
"dev": [
"black",
"flake8",
"isort",
"mypy",
"pylint",
"pytest",
"build",
]
},
)