Thesia: Multi-track Spectrogram / Waveform Viewer
July 12, 2026 ยท View on GitHub
This project is in a beta stage.
Since 2025, this project has incorporated AI-generated code, primarily for:
- WebGL-related functionality using PixiJS
- Audio playback using the
cpalcrate
The core algorithms for rendering spectrograms and waveforms are not AI-generated.
Design Draft
Build Setup
- Install prerequisites
- Common
- macOS
- Xcode
xcode-select --installto install Command Line Tools for Xcode
- Xcode
- Windows
- Webview2
- need to install only on Windows < 10
- see Tauri's prerequisites
- vcpkg & OpenBLAS
git clone https://github.com/microsoft/vcpkg .\vcpkg\bootstrap-vcpkg.bat .\vcpkg\vcpkg integrate install # add vcpkg directory to PATH and restart the terminal, then run: vcpkg install openblas:x64-windows-static openblas:x64-windows-static-md - Linux
- ALSA
- For Debian/Ubuntu:
sudo apt install libasound2-dev
- For Debian/Ubuntu:
- ALSA
- Install npm packages & build
# clone thesia repo & cd to the directory npm install npm run build:wasm
Run in Dev Mode
# if you need the WASM build for debugging, run `npm run build:wasm.debug` first
npm run tauri dev
DevTools
You can use the system webview's developer tools in dev mode.
React DevTools (for frontend)
npm install -g react-devtools
npx react-devtools
# run thesia in dev mode
Tauri DevTools (for backend)
When you run npm run tauri dev, the address of the Tauri devtools is displayed in the terminal (not the web console).
Packaging into an executable binary
npm run tauri build [--debug]
The target binary is under target/release/bundle/<os>/thesia.app.
Plan
- Releasing v1.0
- Selecting audio output device (and exclusive mode)
- Region selection and loop playback
- STFT parameters preset
- pitch / formant tracker
- Adaptive STFT (sth like iZotope RX Editor)
- Showing the average FFT magnitude
- Save normalized audio
- Export as figures