Charette AI Group is proud to open source the Signal Processing Work Bench (SPWB) software under the MIT license. The SPWB was developed about a decade ago as a general use signal processing software. It has been successfully used in a wide range of applications by countless customers. The SPWB software has reached is end-of-life, so instead of simply retiring it, it was decided to open source it so it can be usefull to a new generation of users.
The current repo contains ALL the LabVIEW vi required to run the software within LabVIEW. It also contains compiled stand alone versions that can be run using the free runtime engine from National Instruments when LabVIEW is not an option for the user.
🐍 There is now a Python version: pySPWB
Since SPWB has reached its end-of-life in LabVIEW, the software has been ported to Python so it can keep growing without LabVIEW, on any operating system, and free of charge for everyone. Version 1.1 is out, on PyPI and as a standalone download that needs nothing installed at all.
pySPWB is two things, and you can use either one without the other:
- a signal processing library you can use directly in a Jupyter notebook or a script — spectra, transfer functions, coherence, spectrograms, adaptive filtering, and HDF5, TDMS, Wave and CSV file reading and writing;
- the desktop application built on top of it, including the multiple-window signal sharing that SPWB is known for.
pip install spwb # the library only - no GUI needed
pip install spwb[gui] # the full application, then run: spwb
(One wheel for Windows, macOS and Linux; Python 3.10 or newer.)
If you have been running the compiled SPWB on this page with the LabVIEW Run-Time Engine, this is what replaces it, and it asks for less than the old one did: no run-time engine, no Python, no installer, no administrator rights. The program, the Python it runs on and every library it needs come in one folder. Unzip it, run it.
| download | to run | |
|---|---|---|
| Windows (64-bit) | SPWB-windows-x64.zip — 95 MB |
unzip, then SPWB.exe |
| macOS (Apple Silicon) | SPWB-macos-apple-silicon.zip — 61 MB |
unzip, then open SPWB.app |
| macOS (Intel) | SPWB-macos-intel.zip — 68 MB |
unzip, then open SPWB.app |
Get them from the latest pySPWB release. And note the second line of that table: SPWB now runs on a Mac, which the LabVIEW version never did.
Like the Windows Installer below, these downloads are not digitally signed, so Windows will show a security warning the first time — More info → Run anyway — and macOS wants you to right-click the app and choose Open once. Each release carries a SPWB-checksums.txt so a download can be verified.
There is a user manual for every analysis window, each working through demonstration data you can create from the application's File menu, with a companion notebook that computes the same numbers in a few lines.
The numbers match. The Python version is not a re-interpretation of the maths: its results are checked automatically against reference data generated by driving LabVIEW 2022 itself, so the spectra, transfer functions and spectrograms you obtained with this LabVIEW software still come out the same.
This makes SPWB useful to a much wider audience — students learning signal processing, engineers doing vibration and acoustic measurements, entrepreneurs and small companies who cannot justify a LabVIEW licence, and researchers who want to script and automate their analysis.
If you do end up downloading and using SPWB, please consider making a donation so that Charette AI Group can continue to open source its various tools.
The SPWB software can be installed in two different ways depending on the user preference:
- Cloning the repo
If the user has LabVIEW professional 2020 or above, then cloning the repo is the easiest way and gives access to all the open source software.
The next method does not require the user to have access to LabVIEW. In this case, the user will have a fully functional software but since it is a compiled version, the user will not have access to the code itself. The get access to the code, LabVIEW is required and option 1 above is the one to use.
- Windows Installer
The second option consist of using a Windows Installer. This implies that the user must have administrator rights to install it. Furthermore, since the download is an *.exe files, Windows 10 will have a series of security warnings during the download and installation since the installer is not digitally signed.