Skip to content

Thesia is a Multi-track Spectrogram / Waveform viewer

License

Notifications You must be signed in to change notification settings

Sytronik/thesia

Repository files navigation

Thesia: Multi-track Spectrogram / Waveform Viewer

This project is in a very early stage.

Design Draft

design_draft

Build Setup

  1. Install prerequisites
    • Common
      • Rust
      • node.js v16.20.2 ~ v21
        • The most recent version tested: v21.6.1
    • Windows
      • vcpkg & OpenbLAS
        git clone https://github.com/microsoft/vcpkg
        .\vcpkg\bootstrap-vcpkg.bat
        .\vcpkg\vcpkg integrate install
        vcpkg install openblas --triplet x64-windows-static
    • Linux
      • ALSA
        • For Debian/Ubuntu: sudo apt install libasound2-dev
  2. Install npm packages & build
    # clone thesia repo & cd to the directory
    npm install -g @napi-rs/cli
    npm run build:backend
    npm install

Run in Dev Mode

npm run start

Packaging into an executable binary

npm run package

The target binary is under release/build/<os>/thesia.app.

Plan

  • dB colorbar
  • Hi-DPI display support
  • time / frequency info on mouse hover
  • waveform amplitude zoom in/out slider
  • selecting spectrogram mode / waveform mode
  • configurable STFT parameters
  • peak / RMS / LUFS / LKFS level calculator
  • volume normalization
  • Audio Player
  • STFT parameters preset
  • pitch / formant tracker
  • Adaptive STFT (sth like iZotope RX Editor)