libspeech 0.1.1__tar.gz → 0.2.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (124) hide show
  1. {libspeech-0.1.1 → libspeech-0.2.0}/.github/workflows/wheels.yml +14 -1
  2. {libspeech-0.1.1 → libspeech-0.2.0}/CMakeLists.txt +20 -0
  3. {libspeech-0.1.1 → libspeech-0.2.0}/PKG-INFO +1 -1
  4. {libspeech-0.1.1 → libspeech-0.2.0}/include/libspeech/version.h +2 -2
  5. {libspeech-0.1.1 → libspeech-0.2.0}/pyproject.toml +33 -0
  6. {libspeech-0.1.1 → libspeech-0.2.0}/version.py +1 -1
  7. {libspeech-0.1.1 → libspeech-0.2.0}/.clang-format +0 -0
  8. {libspeech-0.1.1 → libspeech-0.2.0}/.github/workflows/cmake.yml +0 -0
  9. {libspeech-0.1.1 → libspeech-0.2.0}/.github/workflows/orchestrator.yml +0 -0
  10. {libspeech-0.1.1 → libspeech-0.2.0}/.gitignore +0 -0
  11. {libspeech-0.1.1 → libspeech-0.2.0}/.gitmodules +0 -0
  12. {libspeech-0.1.1 → libspeech-0.2.0}/CONTRIBUTING.md +0 -0
  13. {libspeech-0.1.1 → libspeech-0.2.0}/LICENSE +0 -0
  14. {libspeech-0.1.1 → libspeech-0.2.0}/README.md +0 -0
  15. {libspeech-0.1.1 → libspeech-0.2.0}/audioflux_issues.md +0 -0
  16. {libspeech-0.1.1 → libspeech-0.2.0}/benchmarks/CMakeLists.txt +0 -0
  17. {libspeech-0.1.1 → libspeech-0.2.0}/benchmarks/cpp/CMakeLists.txt +0 -0
  18. {libspeech-0.1.1 → libspeech-0.2.0}/benchmarks/cpp/bench_stft.cpp +0 -0
  19. {libspeech-0.1.1 → libspeech-0.2.0}/checklist.md +0 -0
  20. {libspeech-0.1.1 → libspeech-0.2.0}/cmake/AudioFlux.cmake +0 -0
  21. {libspeech-0.1.1 → libspeech-0.2.0}/cmake/Conan.cmake +0 -0
  22. {libspeech-0.1.1 → libspeech-0.2.0}/cmake/DynamicVersion.cmake +0 -0
  23. {libspeech-0.1.1 → libspeech-0.2.0}/cmake/ONNXRuntime.cmake +0 -0
  24. {libspeech-0.1.1 → libspeech-0.2.0}/cmake/PyProject.cmake +0 -0
  25. {libspeech-0.1.1 → libspeech-0.2.0}/conanfile.txt +0 -0
  26. {libspeech-0.1.1 → libspeech-0.2.0}/conda.recipe/meta.yaml +0 -0
  27. {libspeech-0.1.1 → libspeech-0.2.0}/docs/logo/README.md +0 -0
  28. {libspeech-0.1.1 → libspeech-0.2.0}/docs/logo/libspeech-logo-pods.svg +0 -0
  29. {libspeech-0.1.1 → libspeech-0.2.0}/docs/logo/libspeech-logo.svg +0 -0
  30. {libspeech-0.1.1 → libspeech-0.2.0}/examples/common.h +0 -0
  31. {libspeech-0.1.1 → libspeech-0.2.0}/examples/denoiser_app/controler.h +0 -0
  32. {libspeech-0.1.1 → libspeech-0.2.0}/examples/denoiser_app/main.cpp +0 -0
  33. {libspeech-0.1.1 → libspeech-0.2.0}/examples/main.cpp +0 -0
  34. {libspeech-0.1.1 → libspeech-0.2.0}/examples/silero_app/main.cpp +0 -0
  35. {libspeech-0.1.1 → libspeech-0.2.0}/git-submodule.sh +0 -0
  36. {libspeech-0.1.1 → libspeech-0.2.0}/include/libspeech/audio.h +0 -0
  37. {libspeech-0.1.1 → libspeech-0.2.0}/include/libspeech/dsp/dct.h +0 -0
  38. {libspeech-0.1.1 → libspeech-0.2.0}/include/libspeech/dsp/fft.h +0 -0
  39. {libspeech-0.1.1 → libspeech-0.2.0}/include/libspeech/dsp/mfcc.h +0 -0
  40. {libspeech-0.1.1 → libspeech-0.2.0}/include/libspeech/dsp/resample.h +0 -0
  41. {libspeech-0.1.1 → libspeech-0.2.0}/include/libspeech/dsp/stft.h +0 -0
  42. {libspeech-0.1.1 → libspeech-0.2.0}/include/libspeech/dsp/window.h +0 -0
  43. {libspeech-0.1.1 → libspeech-0.2.0}/include/libspeech/export.h +0 -0
  44. {libspeech-0.1.1 → libspeech-0.2.0}/include/libspeech/models/base_model.h +0 -0
  45. {libspeech-0.1.1 → libspeech-0.2.0}/include/libspeech/models/denoiser.h +0 -0
  46. {libspeech-0.1.1 → libspeech-0.2.0}/include/libspeech/models/facebook_denoiser.h +0 -0
  47. {libspeech-0.1.1 → libspeech-0.2.0}/include/libspeech/models/onnx_model.h +0 -0
  48. {libspeech-0.1.1 → libspeech-0.2.0}/include/libspeech/models/silero_vad.h +0 -0
  49. {libspeech-0.1.1 → libspeech-0.2.0}/include/libspeech/models/speechbrain_denoiser.h +0 -0
  50. {libspeech-0.1.1 → libspeech-0.2.0}/include/libspeech/utils/utils.h +0 -0
  51. {libspeech-0.1.1 → libspeech-0.2.0}/src/audio.cpp +0 -0
  52. {libspeech-0.1.1 → libspeech-0.2.0}/src/bindings/python/about.cpp +0 -0
  53. {libspeech-0.1.1 → libspeech-0.2.0}/src/bindings/python/bind_audio.cpp +0 -0
  54. {libspeech-0.1.1 → libspeech-0.2.0}/src/bindings/python/bind_dsp.cpp +0 -0
  55. {libspeech-0.1.1 → libspeech-0.2.0}/src/bindings/python/bind_io.cpp +0 -0
  56. {libspeech-0.1.1 → libspeech-0.2.0}/src/bindings/python/bind_models.cpp +0 -0
  57. {libspeech-0.1.1 → libspeech-0.2.0}/src/bindings/python/libspeech/__init__.py +0 -0
  58. {libspeech-0.1.1 → libspeech-0.2.0}/src/bindings/python/libspeech/__main__.py +0 -0
  59. {libspeech-0.1.1 → libspeech-0.2.0}/src/bindings/python/libspeech/core.py +0 -0
  60. {libspeech-0.1.1 → libspeech-0.2.0}/src/dsp/dct.cpp +0 -0
  61. {libspeech-0.1.1 → libspeech-0.2.0}/src/dsp/fft.cpp +0 -0
  62. {libspeech-0.1.1 → libspeech-0.2.0}/src/dsp/mfcc.cpp +0 -0
  63. {libspeech-0.1.1 → libspeech-0.2.0}/src/dsp/resample.cpp +0 -0
  64. {libspeech-0.1.1 → libspeech-0.2.0}/src/dsp/stft.cpp +0 -0
  65. {libspeech-0.1.1 → libspeech-0.2.0}/src/dsp/window.cpp +0 -0
  66. {libspeech-0.1.1 → libspeech-0.2.0}/src/models/base_model.cpp +0 -0
  67. {libspeech-0.1.1 → libspeech-0.2.0}/src/models/denoiser.cpp +0 -0
  68. {libspeech-0.1.1 → libspeech-0.2.0}/src/models/facebook_denoiser.cpp +0 -0
  69. {libspeech-0.1.1 → libspeech-0.2.0}/src/models/onnx_model.cpp +0 -0
  70. {libspeech-0.1.1 → libspeech-0.2.0}/src/models/silero_vad.cpp +0 -0
  71. {libspeech-0.1.1 → libspeech-0.2.0}/src/models/speechbrain_denoiser.cpp +0 -0
  72. {libspeech-0.1.1 → libspeech-0.2.0}/src/speech_umbrella_placeholder.cpp +0 -0
  73. {libspeech-0.1.1 → libspeech-0.2.0}/src/third_party/README.md +0 -0
  74. {libspeech-0.1.1 → libspeech-0.2.0}/src/third_party/aixlog/LICENSE +0 -0
  75. {libspeech-0.1.1 → libspeech-0.2.0}/src/third_party/aixlog/README.md +0 -0
  76. {libspeech-0.1.1 → libspeech-0.2.0}/src/third_party/aixlog/include/aixlog.hpp +0 -0
  77. {libspeech-0.1.1 → libspeech-0.2.0}/src/third_party/audioflux/LICENSE.md +0 -0
  78. {libspeech-0.1.1 → libspeech-0.2.0}/src/third_party/audioflux/README.md +0 -0
  79. {libspeech-0.1.1 → libspeech-0.2.0}/src/third_party/audioflux/UPSTREAM_PATCHES.md +0 -0
  80. {libspeech-0.1.1 → libspeech-0.2.0}/src/third_party/audioflux/include/dsp/resample_algorithm.h +0 -0
  81. {libspeech-0.1.1 → libspeech-0.2.0}/src/third_party/audioflux/include/flux_base.h +0 -0
  82. {libspeech-0.1.1 → libspeech-0.2.0}/src/third_party/audioflux/include/stft_algorithm.h +0 -0
  83. {libspeech-0.1.1 → libspeech-0.2.0}/src/third_party/audioflux/include/util/flux_util.h +0 -0
  84. {libspeech-0.1.1 → libspeech-0.2.0}/src/third_party/audioflux/include/util/flux_wave.h +0 -0
  85. {libspeech-0.1.1 → libspeech-0.2.0}/src/third_party/audioflux/include/vector/flux_complex.h +0 -0
  86. {libspeech-0.1.1 → libspeech-0.2.0}/src/third_party/audioflux/include/vector/flux_vector.h +0 -0
  87. {libspeech-0.1.1 → libspeech-0.2.0}/src/third_party/audioflux/src/dsp/fft_algorithm.c +0 -0
  88. {libspeech-0.1.1 → libspeech-0.2.0}/src/third_party/audioflux/src/dsp/fft_algorithm.h +0 -0
  89. {libspeech-0.1.1 → libspeech-0.2.0}/src/third_party/audioflux/src/dsp/filterDesign_fir.c +0 -0
  90. {libspeech-0.1.1 → libspeech-0.2.0}/src/third_party/audioflux/src/dsp/filterDesign_fir.h +0 -0
  91. {libspeech-0.1.1 → libspeech-0.2.0}/src/third_party/audioflux/src/dsp/flux_window.c +0 -0
  92. {libspeech-0.1.1 → libspeech-0.2.0}/src/third_party/audioflux/src/dsp/flux_window.h +0 -0
  93. {libspeech-0.1.1 → libspeech-0.2.0}/src/third_party/audioflux/src/dsp/resample_algorithm.c +0 -0
  94. {libspeech-0.1.1 → libspeech-0.2.0}/src/third_party/audioflux/src/dsp/resample_algorithm.h +0 -0
  95. {libspeech-0.1.1 → libspeech-0.2.0}/src/third_party/audioflux/src/flux_base.h +0 -0
  96. {libspeech-0.1.1 → libspeech-0.2.0}/src/third_party/audioflux/src/stft_algorithm.c +0 -0
  97. {libspeech-0.1.1 → libspeech-0.2.0}/src/third_party/audioflux/src/stft_algorithm.h +0 -0
  98. {libspeech-0.1.1 → libspeech-0.2.0}/src/third_party/audioflux/src/util/flux_util.c +0 -0
  99. {libspeech-0.1.1 → libspeech-0.2.0}/src/third_party/audioflux/src/util/flux_util.h +0 -0
  100. {libspeech-0.1.1 → libspeech-0.2.0}/src/third_party/audioflux/src/util/flux_wave.c +0 -0
  101. {libspeech-0.1.1 → libspeech-0.2.0}/src/third_party/audioflux/src/util/flux_wave.h +0 -0
  102. {libspeech-0.1.1 → libspeech-0.2.0}/src/third_party/audioflux/src/vector/flux_complex.c +0 -0
  103. {libspeech-0.1.1 → libspeech-0.2.0}/src/third_party/audioflux/src/vector/flux_complex.h +0 -0
  104. {libspeech-0.1.1 → libspeech-0.2.0}/src/third_party/audioflux/src/vector/flux_vector.c +0 -0
  105. {libspeech-0.1.1 → libspeech-0.2.0}/src/third_party/audioflux/src/vector/flux_vector.h +0 -0
  106. {libspeech-0.1.1 → libspeech-0.2.0}/src/third_party/audioflux/src/vector/flux_vectorOp.c +0 -0
  107. {libspeech-0.1.1 → libspeech-0.2.0}/src/third_party/audioflux/src/vector/flux_vectorOp.h +0 -0
  108. {libspeech-0.1.1 → libspeech-0.2.0}/src/utils/utils.cpp +0 -0
  109. {libspeech-0.1.1 → libspeech-0.2.0}/tests/CMakeLists.txt +0 -0
  110. {libspeech-0.1.1 → libspeech-0.2.0}/tests/dsp/test_dct.cpp +0 -0
  111. {libspeech-0.1.1 → libspeech-0.2.0}/tests/dsp/test_fft.cpp +0 -0
  112. {libspeech-0.1.1 → libspeech-0.2.0}/tests/dsp/test_mfcc.cpp +0 -0
  113. {libspeech-0.1.1 → libspeech-0.2.0}/tests/dsp/test_resample.cpp +0 -0
  114. {libspeech-0.1.1 → libspeech-0.2.0}/tests/dsp/test_stft.cpp +0 -0
  115. {libspeech-0.1.1 → libspeech-0.2.0}/tests/dsp/test_window.cpp +0 -0
  116. {libspeech-0.1.1 → libspeech-0.2.0}/tests/models/CMakeLists.txt +0 -0
  117. {libspeech-0.1.1 → libspeech-0.2.0}/tests/models/test_default_model_cache_dir.cpp +0 -0
  118. {libspeech-0.1.1 → libspeech-0.2.0}/tests/models/test_denoiser.cpp +0 -0
  119. {libspeech-0.1.1 → libspeech-0.2.0}/tests/python/CMakeLists.txt +0 -0
  120. {libspeech-0.1.1 → libspeech-0.2.0}/tests/python/test_audio.py +0 -0
  121. {libspeech-0.1.1 → libspeech-0.2.0}/tests/python/test_dsp.py +0 -0
  122. {libspeech-0.1.1 → libspeech-0.2.0}/tests/python/test_models.py +0 -0
  123. {libspeech-0.1.1 → libspeech-0.2.0}/tests/utest/utest.h +0 -0
  124. {libspeech-0.1.1 → libspeech-0.2.0}/tests/utest/utest_main.cxx +0 -0
@@ -86,7 +86,20 @@ jobs:
86
86
  # ships wheels from cp39-abi3 up on PyPI, not cp38 -- building a
87
87
  # cp38 wheel here would require httpp built from source instead.
88
88
  CIBW_BUILD: "cp39-* cp310-* cp311-* cp312-*"
89
- CIBW_ENVIRONMENT_CP312: "SKBUILD_WHEEL_PY_API=cp312"
89
+ # Per-Python-version env var overrides (SKBUILD_WHEEL_PY_API=cp312
90
+ # for the cp312 build only, so scikit-build-core tags it as a
91
+ # forward-compatible cp312-abi3 wheel instead of a version-locked
92
+ # cp312-cp312 one -- see the [tool.cibuildwheel.overrides] entry
93
+ # in pyproject.toml for *why* it has to live there instead of
94
+ # here) do NOT work as a "CIBW_<OPTION>_<IDENTIFIER>" env var like
95
+ # CIBW_ENVIRONMENT_CP312: cibuildwheel only recognizes that
96
+ # suffix pattern for CIBW_ENVIRONMENT_{LINUX,MACOS,WINDOWS} (i.e.
97
+ # by platform), not by Python-version identifier -- an env var
98
+ # like that is silently a no-op, not an error, which is exactly
99
+ # how this went unnoticed (confirmed: the wheel actually
100
+ # published to PyPI for 0.1.0 came out tagged cp312-cp312, not
101
+ # cp312-abi3, meaning SKBUILD_WHEEL_PY_API was never really set
102
+ # during that build despite this line being here).
90
103
  # Disable building PyPy wheels on all platforms. Also skip
91
104
  # musllinux (Alpine/musl has no official ONNX Runtime build --
92
105
  # only glibc-linked releases exist, which fail to link against
@@ -117,6 +117,26 @@ include(ONNXRuntime)
117
117
 
118
118
  add_subdirectory(src/third_party/miniaudio)
119
119
 
120
+ # miniaudio.h uses the C23 double-bracket attribute syntax for its
121
+ # fallthrough marker (MA_FALLTHROUGH -> [[fallthrough]], see miniaudio.h)
122
+ # even in the gnu99 translation unit miniaudio.c compiles as. GCC accepts
123
+ # this quietly under gnu99, but (Apple) Clang's -Wc23-extensions flags it
124
+ # -- three warnings, no errors, harmless either way.
125
+ #
126
+ # This is vendored, upstream code pulled in via a git submodule -- editing
127
+ # miniaudio.h directly isn't an option (the fix would silently vanish on
128
+ # the next `git submodule update`), and a project-wide -Wno-c23-extensions
129
+ # would also mute the same warning if it ever showed up in code we
130
+ # actually own. So silence only this one diagnostic, and only on the one
131
+ # target it's known to come from (confirmed: only miniaudio.c itself hits
132
+ # it, not the extra node .c files below, which don't compile the
133
+ # MA_FALLTHROUGH-containing implementation). Safe to drop once upstream
134
+ # miniaudio switches to __attribute__((fallthrough)) or the project moves
135
+ # to a C standard where the warning no longer applies.
136
+ if(CMAKE_C_COMPILER_ID MATCHES "Clang")
137
+ target_compile_options(miniaudio PRIVATE -Wno-c23-extensions)
138
+ endif()
139
+
120
140
  # ---------------------------------------------------------------------------
121
141
  # Model downloading (speech::utils::downloadFile) used to link the SYSTEM
122
142
  # libcurl (find_package(CURL REQUIRED) + apt-installed libcurl4-openssl-dev)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: libspeech
3
- Version: 0.1.1
3
+ Version: 0.2.0
4
4
  Summary: Best library for speech
5
5
  Author-Email: Mohammad Raziei <mohammadraziei1375@gmail.com>
6
6
  Classifier: Development Status :: 4 - Beta
@@ -15,8 +15,8 @@
15
15
  #define LIBSPEECH_VERSION_H
16
16
 
17
17
  #define LIBSPEECH_VERSION_MAJOR 0
18
- #define LIBSPEECH_VERSION_MINOR 1
19
- #define LIBSPEECH_VERSION_PATCH 1
18
+ #define LIBSPEECH_VERSION_MINOR 2
19
+ #define LIBSPEECH_VERSION_PATCH 0
20
20
 
21
21
  #define LIBSPEECH_VERSION_STRINGIFY_IMPL(x) #x
22
22
  #define LIBSPEECH_VERSION_STRINGIFY(x) LIBSPEECH_VERSION_STRINGIFY_IMPL(x)
@@ -67,6 +67,39 @@ test-extras = ["test"]
67
67
  test-skip = ["*universal2:arm64"]
68
68
  #build-verbosity = 1
69
69
 
70
+ [[tool.cibuildwheel.overrides]]
71
+ # Only the cp312 build's nanobind extensions are actually compiled
72
+ # against the Limited API (STABLE_ABI in CMakeLists.txt's
73
+ # nanobind_add_module(... STABLE_ABI ...) calls resolves to
74
+ # Py_LIMITED_API=0x030C0000, i.e. Python 3.12+, confirmed by inspecting
75
+ # an actual local build's compile flags -- nanobind's own STABLE_ABI
76
+ # option is a Python-3.12-floor feature, it silently does nothing on
77
+ # older interpreters per nanobind's own docs, so the cp39/cp310/cp311
78
+ # builds really are ordinary version-locked extensions and must keep
79
+ # their default per-version wheel.py-api, or their wheel's tag would be
80
+ # lying about what's actually inside).
81
+ #
82
+ # So only for cp312 do we want scikit-build-core to tag the wheel
83
+ # cp312-abi3 (forward-compatible with 3.12, 3.13, 3.14, 3.15, ...)
84
+ # instead of the default cp312-cp312 (that one Python version only) --
85
+ # set via SKBUILD_WHEEL_PY_API, which is scikit-build-core's env-var
86
+ # spelling of its `wheel.py-api` config option.
87
+ #
88
+ # This has to be an [[overrides]] table with its own `select`, not a
89
+ # top-level `CIBW_ENVIRONMENT_CP312` env var in wheels.yml: cibuildwheel
90
+ # only recognizes CIBW_ENVIRONMENT_{LINUX,MACOS,WINDOWS} as valid
91
+ # per-selector *environment-variable name* suffixes (i.e. by platform),
92
+ # not arbitrary identifiers like "CP312" -- an env var spelled that way
93
+ # is silently ignored rather than erroring, which is exactly how this
94
+ # was never actually applied to the wheels published for 0.1.0 (all
95
+ # four came out version-locked, cp312 included -- confirmed by
96
+ # inspecting the actual .dist-info/WHEEL of the published wheel).
97
+ # `select` here is cibuildwheel's own, real mechanism for the same
98
+ # per-build-identifier scoping that env var name was trying (and
99
+ # failing) to achieve.
100
+ select = "cp312-*"
101
+ environment = { SKBUILD_WHEEL_PY_API = "cp312" }
102
+
70
103
 
71
104
  #[tool.scikit-build.cmake.define]
72
105
  #SOME_DEFINE = "ON"
@@ -171,7 +171,7 @@ def cmd_tag(args):
171
171
  new_version = version_str(version)
172
172
  tag_name = f"v{new_version}"
173
173
  run(["git", "add", str(HEADER_ABS_PATH)])
174
- run(["git", "commit", "-m", f"Release {new_version}"])
174
+ run(["git", "commit", "-m", f"Release {new_version}", "--allow-empty-message"])
175
175
  run(["git", "tag", tag_name])
176
176
  print(f"Committed and tagged {tag_name}")
177
177
  return
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes