mirror of
https://gitlab.xiph.org/xiph/speexdsp.git
synced 2026-11-03 02:56:02 +00:00
DSP library derived from speex
- C 79.7%
- Assembly 14.6%
- Meson 1.6%
- M4 1.3%
- CMake 0.9%
- Other 1.9%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
The checkasm sources had none. Use the same BSD text as the rest of the new code, with copyright lines for each file's authors from the git history (including Co-authored-by credit), in order of first commit. |
||
| cmake | ||
| doc | ||
| html | ||
| include | ||
| libspeexdsp | ||
| macosx | ||
| regression-fixes | ||
| subprojects | ||
| symbian | ||
| tests | ||
| ti | ||
| tmv | ||
| win32 | ||
| .gitignore | ||
| .gitlab-ci.yml | ||
| .travis.yml | ||
| acinclude.m4 | ||
| AUTHORS | ||
| autogen.sh | ||
| ChangeLog | ||
| CMakeLists.txt | ||
| configure.ac | ||
| CONTRIBUTING.md | ||
| COPYING | ||
| Doxyfile | ||
| INSTALL | ||
| Makefile.am | ||
| meson.build | ||
| meson_options.txt | ||
| NEWS | ||
| README | ||
| README.blackfin | ||
| README.Trimedia | ||
| README.win32 | ||
| regressions | ||
| SpeexDSP.kdevelop | ||
| speexdsp.pc.in | ||
| SpeexDSP.spec.in | ||
| TODO | ||
SpeexDSP is a patent-free, Open Source/Free Software DSP library derived
from the Speex codec. It provides the following features:
- Resampler
- Echo canceller
- Noise suppressor / preprocessor
- Automatic gain control (AGC)
- Voice activity detection (VAD)
- Jitter buffer
== Building with Autotools ==
See the INSTALL file for generic autoconf/automake instructions.
./autogen.sh
./configure
make
make install
Selected ./configure options:
--enable-fixed-point Use fixed-point arithmetic (default: float)
--disable-float-api Disable the floating-point API
--disable-examples Do not build example programs
== Building with CMake ==
A CMake build is available as an alternative to the autotools build.
A build directory separate from the source tree is recommended.
cmake -S . -B build
cmake --build build
cmake --install build
CMake options (pass with -D<OPTION>=<VALUE>):
BUILD_SHARED_LIBS=ON|OFF Build shared instead of static library
(default: OFF)
USE_FIXED_POINT=ON|OFF Use fixed-point arithmetic
(default: OFF, i.e. floating-point)
CMAKE_BUILD_TYPE=... Release, Debug, RelWithDebInfo, etc.
CMAKE_INSTALL_PREFIX=... Installation prefix (default: /usr/local)
Examples:
# Shared library, release build
cmake -S . -B build -DBUILD_SHARED_LIBS=ON -DCMAKE_BUILD_TYPE=Release
cmake --build build
cmake --install build
# Fixed-point, install to /usr
cmake -S . -B build -DUSE_FIXED_POINT=ON -DCMAKE_INSTALL_PREFIX=/usr
cmake --build build
cmake --install build
== Using speexdsp in a CMake project ==
After installation the library can be found via find_package:
find_package(speexdsp REQUIRED)
target_link_libraries(my_target PRIVATE speexdsp::speexdsp)
pkg-config is also supported:
pkg-config --cflags --libs speexdsp
== Building with Meson ==
Requires Meson (0.63 or higher), and Ninja.
rm -rf build
meson setup build --buildtype=release # see meson_options.txt for options
ninja -C build
== Running checkasm (SIMD tests/benchmarks) ==
rm -rf build
meson setup build --buildtype=release
ninja -C build
./build/tests/checkasm --bench --duration=30000 --repeat=3
# or just check for correctness
./build/tests/checkasm # or: meson test -C build
# or benchmark just the top-level resampler API:
./build/tests/checkasm --bench --test=resample_process
== Development ==
See CONTRIBUTING.md