Readme
This is a toolbox in form of a python package that contains algorithms to be used in dsp (digital signal processing) research projects.
This is kind of a “sandbox” project with many different experimental implementations across a variety of DSP-related topics. Some parts are more thoroughly tested and validated than others, so “caution” is advised. Please feel free to reach out in case you find bugs or want to talk about certain functionality.
It is under active development and it will take some time until it reaches a certain level of maturity. Beware that backwards compatibility is not an actual concern and significant changes to the API might come in the future. If you find some implementations interesting or useful, please feel free to use it for your projects and expand or change functionalities.
Getting Started
Refer to the documentation for the complete description of classes and functions.
import dsptoolbox as dsp
signal = dsp.Signal.from_file("recording.wav")
signal = signal.set_spectrum_parameters(method=dsp.SpectrumMethod.FFT)
frequencies_hz, spectrum = signal.get_spectrum()
lowpass = dsp.Filter.iir_filter(
order=8,
frequency_hz=2000.0,
type_of_pass=dsp.FilterPassType.Lowpass,
sampling_rate_hz=signal.sampling_rate_hz,
)
filtered = lowpass.filter_signal(signal)
filtered.plot_magnitude()
dsp.plots.show()
Installation
Use pip to install dsptoolbox
$ pip install dsptoolbox
# Or this for activating numba parallelization
$ pip install "dsptoolbox[use-numba]"
(Requires Python 3.11 or higher)
On Linux, install the native audio libraries used by the audio dependencies manually. sounddevice uses PortAudio for live audio input and output, while soundfile uses libsndfile for reading and writing audio files. Install them with the following command:
$ sudo apt-get install libasound-dev libportaudio2 libsndfile1
If this does not work properly for some reason, refer to the documentation for sounddevice, soundfile, or PortAudio.
Release files for dsptoolbox 0.11.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| dsptoolbox-0.11.1.tar.gz | 297.4 kB | Details |
Built distributions (wheels)
Total release size: 11.8 MB
Release files / dsptoolbox-0.11.1.tar.gz
| Download URL | dsptoolbox-0.11.1.tar.gz |
|---|---|
| Size | 297.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
bc0f2cad7cef0a7067c50131c871d9035ad4728b10120cc7af1b9ed9d62b8f37
|
|
BLAKE2b-256 checksum How to use checksums |
d0feb1f3b53194db229108df7e8367ee1d46d72f7d0dd604e0856fe594527167
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.3
|
Release files / dsptoolbox-0.11.1-cp314-cp314-win_arm64.whl
| Download URL | dsptoolbox-0.11.1-cp314-cp314-win_arm64.whl |
|---|---|
| Size | 502.2 kB |
| Tags | CPython 3.14 Windows ARM64 |
|
SHA-256 checksum How to use checksums |
11e496bc0ff1d49291f33af3c34a4cea83c255913605b91c5fab395e178c92f0
|
|
BLAKE2b-256 checksum How to use checksums |
bbd396c9ac4c87a5424b74cd4a99635833cc63d23a28b4d8837cd72c87ad36c5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.3
|
Release files / dsptoolbox-0.11.1-cp314-cp314-win_amd64.whl
| Download URL | dsptoolbox-0.11.1-cp314-cp314-win_amd64.whl |
|---|---|
| Size | 513.4 kB |
| Tags | CPython 3.14 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
0a2ccd2f2c76cb161574743daea31fe418b13763192d1550732fdaab21c3f141
|
|
BLAKE2b-256 checksum How to use checksums |
dde413a00635dcf4ad8412ac37139fd7491799f318d5341aa5981f5460839df1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.3
|
Release files / dsptoolbox-0.11.1-cp314-cp314-manylinux_2_28_x86_64.whl
| Download URL | dsptoolbox-0.11.1-cp314-cp314-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 647.4 kB |
| Tags | CPython 3.14 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
a2cd6e600db7820b2015938409994dde9938ef48430be7e09179f836ad9fb8af
|
|
BLAKE2b-256 checksum How to use checksums |
2e3fe6d0806648d5e922e37e0aa542adf5e56dd1c11a393f5be7332f0fbf48f0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.3
|
Release files / dsptoolbox-0.11.1-cp314-cp314-macosx_11_0_arm64.whl
| Download URL | dsptoolbox-0.11.1-cp314-cp314-macosx_11_0_arm64.whl |
|---|---|
| Size | 598.7 kB |
| Tags | CPython 3.14 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
6bed8d74bc325cd5455c169437303159311c60de005bfd4ba8c14e2069242722
|
|
BLAKE2b-256 checksum How to use checksums |
a6632fde194d385a0d840f52f3626b2b6d9078ad2e7f5aa67818bd58391c9948
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.3
|
Release files / dsptoolbox-0.11.1-cp314-cp314-macosx_10_15_x86_64.whl
| Download URL | dsptoolbox-0.11.1-cp314-cp314-macosx_10_15_x86_64.whl |
|---|---|
| Size | 610.1 kB |
| Tags | CPython 3.14 macOS 10.15+ x86-64 |
|
SHA-256 checksum How to use checksums |
c5a12641e03409d38849321a2d768df968c37869291318b3d2a313a1b92f1873
|
|
BLAKE2b-256 checksum How to use checksums |
3cd5221bc1f7070f34695a48d96ef67ba2e7fe615d39fb206a2f429fbb483f8a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.3
|
Release files / dsptoolbox-0.11.1-cp313-cp313-win_arm64.whl
| Download URL | dsptoolbox-0.11.1-cp313-cp313-win_arm64.whl |
|---|---|
| Size | 501.0 kB |
| Tags | CPython 3.13 Windows ARM64 |
|
SHA-256 checksum How to use checksums |
854bc364451067e568a85a7e264b65c474c7d441359a3adaf792bfe55028032c
|
|
BLAKE2b-256 checksum How to use checksums |
735ba89a963952dd242f7ec4e0a8e5d0b468f0bce7f9fc5c257f24be349cda53
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.3
|
Release files / dsptoolbox-0.11.1-cp313-cp313-win_amd64.whl
| Download URL | dsptoolbox-0.11.1-cp313-cp313-win_amd64.whl |
|---|---|
| Size | 512.1 kB |
| Tags | CPython 3.13 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
b2cc104332e9922865c2d77d2e6d66eb131c545bdd15f1fb15430e99e3126e8b
|
|
BLAKE2b-256 checksum How to use checksums |
31b7e565fcf5dd4ea8bf14a08854546ee9562301f79b8c91575ddde80ced45c0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.3
|
Release files / dsptoolbox-0.11.1-cp313-cp313-manylinux_2_28_x86_64.whl
| Download URL | dsptoolbox-0.11.1-cp313-cp313-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 647.2 kB |
| Tags | CPython 3.13 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
b318cbba92d3e77e3a09bc2b27e006365681bd8afa7b5bd8ce37ff9f96f6f9c9
|
|
BLAKE2b-256 checksum How to use checksums |
b685712e01f48597d84e96f5f6386040f8daa526da5cce85baf7d85fc66509b0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.3
|
Release files / dsptoolbox-0.11.1-cp313-cp313-macosx_11_0_arm64.whl
| Download URL | dsptoolbox-0.11.1-cp313-cp313-macosx_11_0_arm64.whl |
|---|---|
| Size | 597.6 kB |
| Tags | CPython 3.13 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
672b62a19a962e68ff2d41eb71add645c1cdf7da24eaa3da02160571b9c3f581
|
|
BLAKE2b-256 checksum How to use checksums |
048b83a6a96cb6710aacc1a21731eefa7c55f35535670698d12d07fa26e90b35
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.3
|
Release files / dsptoolbox-0.11.1-cp313-cp313-macosx_10_13_x86_64.whl
| Download URL | dsptoolbox-0.11.1-cp313-cp313-macosx_10_13_x86_64.whl |
|---|---|
| Size | 608.6 kB |
| Tags | CPython 3.13 macOS 10.13+ x86-64 |
|
SHA-256 checksum How to use checksums |
abe4d0f8a11cf2c58a4f4247026db5141262f9731f5a6452cc7330d272da61ab
|
|
BLAKE2b-256 checksum How to use checksums |
31271b01d864e6c1da121ff2d127a3bfdf8e72ebbce84acee2e193a678b70fb3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.3
|
Release files / dsptoolbox-0.11.1-cp312-cp312-win_arm64.whl
| Download URL | dsptoolbox-0.11.1-cp312-cp312-win_arm64.whl |
|---|---|
| Size | 501.8 kB |
| Tags | CPython 3.12 Windows ARM64 |
|
SHA-256 checksum How to use checksums |
e5396d843f3b8006236168f860e5b4188d82b17d47cdeb1f418b9ac1ffe6867c
|
|
BLAKE2b-256 checksum How to use checksums |
9b7364b61105dd03869d47448d1eff69b7ee2309d6f47eed924e0ff9393e4c7b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.3
|
Release files / dsptoolbox-0.11.1-cp312-cp312-win_amd64.whl
| Download URL | dsptoolbox-0.11.1-cp312-cp312-win_amd64.whl |
|---|---|
| Size | 512.8 kB |
| Tags | CPython 3.12 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
f2ca578089fcdd759e55c7c09d346fab93dc2e9269bc31ffb351b890e1abf2a3
|
|
BLAKE2b-256 checksum How to use checksums |
2cf2dc074302d831736dcaed18740dec628e0bf89bbba8088b61d60509a54436
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.3
|
Release files / dsptoolbox-0.11.1-cp312-cp312-manylinux_2_28_x86_64.whl
| Download URL | dsptoolbox-0.11.1-cp312-cp312-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 647.5 kB |
| Tags | CPython 3.12 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
9fdde63be35e6fd43b87e37c959abd531a66a50c43fdddab8973dcbf1e23382c
|
|
BLAKE2b-256 checksum How to use checksums |
6f7c283976d09ba6959bf38686bff399081f3825f5f88ac3b93151fc89ef75a8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.3
|
Release files / dsptoolbox-0.11.1-cp312-cp312-macosx_11_0_arm64.whl
| Download URL | dsptoolbox-0.11.1-cp312-cp312-macosx_11_0_arm64.whl |
|---|---|
| Size | 598.2 kB |
| Tags | CPython 3.12 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
1de4c635273e60b76902fc9a368e465e8f21078e506b8dfce4aee7dba667b74b
|
|
BLAKE2b-256 checksum How to use checksums |
e4ffa8e3eb6fa4dad0c1ad38dc38ef118e417ac09386da24df284e68e55cb7e2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.3
|
Release files / dsptoolbox-0.11.1-cp312-cp312-macosx_10_13_x86_64.whl
| Download URL | dsptoolbox-0.11.1-cp312-cp312-macosx_10_13_x86_64.whl |
|---|---|
| Size | 609.5 kB |
| Tags | CPython 3.12 macOS 10.13+ x86-64 |
|
SHA-256 checksum How to use checksums |
f8965f8941be052994f8e6d5603b4b06295cd31b7c4718482ca656501c5bbec2
|
|
BLAKE2b-256 checksum How to use checksums |
339ec671c4bf99de0384b4ff08d498b38875eba6382082fa465172b75d417b60
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.3
|
Release files / dsptoolbox-0.11.1-cp311-cp311-win_arm64.whl
| Download URL | dsptoolbox-0.11.1-cp311-cp311-win_arm64.whl |
|---|---|
| Size | 504.7 kB |
| Tags | CPython 3.11 Windows ARM64 |
|
SHA-256 checksum How to use checksums |
fb75ae54847736c88891e0750acbc91cbddfb61375a29a74245560bdd0b26f6e
|
|
BLAKE2b-256 checksum How to use checksums |
ce645c61a6ccf3bd7ff174f5b5e345127662de293f4c4590f6a7de671395067b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.3
|
Release files / dsptoolbox-0.11.1-cp311-cp311-win_amd64.whl
| Download URL | dsptoolbox-0.11.1-cp311-cp311-win_amd64.whl |
|---|---|
| Size | 514.8 kB |
| Tags | CPython 3.11 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
55260072043b02f4fe4e681c0a3a0ef0096ea1dfa31e1fea593bc5df2b2d59d9
|
|
BLAKE2b-256 checksum How to use checksums |
069dd4e46b502dd0fd04d55b0ad719416794a2c3faf005a76d7c3a1cc891b6fe
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.3
|
Release files / dsptoolbox-0.11.1-cp311-cp311-manylinux_2_28_x86_64.whl
| Download URL | dsptoolbox-0.11.1-cp311-cp311-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 650.7 kB |
| Tags | CPython 3.11 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
44e3dc35bbc7df6452bc0c47eb2cc8db5fbba0d0ccc663f113908fac4c6b34aa
|
|
BLAKE2b-256 checksum How to use checksums |
810f593751789dacf3db4a42ecae783b44c5aca3d06ca0d87eaffdebfbe4cf35
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.3
|
Release files / dsptoolbox-0.11.1-cp311-cp311-macosx_11_0_arm64.whl
| Download URL | dsptoolbox-0.11.1-cp311-cp311-macosx_11_0_arm64.whl |
|---|---|
| Size | 602.6 kB |
| Tags | CPython 3.11 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
e7c1b663f0bc61434943ee3707bb70971868f2e568ad0a535f1545f82de3cf10
|
|
BLAKE2b-256 checksum How to use checksums |
3a29e90288431890e0792e449874f175243a1290c34cd655aff989ad0248bb74
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.3
|
Release files / dsptoolbox-0.11.1-cp311-cp311-macosx_10_12_x86_64.whl
| Download URL | dsptoolbox-0.11.1-cp311-cp311-macosx_10_12_x86_64.whl |
|---|---|
| Size | 607.8 kB |
| Tags | CPython 3.11 macOS 10.12+ x86-64 |
|
SHA-256 checksum How to use checksums |
b9196043afd799662109ac0b45b45dd823d3830ab61c696e5a614bf3d0ce4124
|
|
BLAKE2b-256 checksum How to use checksums |
5cda6fe9f8bb1eb99e397b03a852d10c79cb0f51be32cc879bd56d0f1d1a83a9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.3
|