Skip to content

Sytronik/thesia

Repository files navigation

Thesia: Multi-track Spectrogram / Waveform Viewer

This project is in a very early stage.

Design Draft

design_draft

Setup

macOS, Linux

  1. Install Rust

  2. Install node.js v16.20.2 ~ v21 (The most recent version tested: v21.6.1)

    • Example using nvm on macOS
      brew install nvm
      nvm install 21.6.1
      nvm use 21.6.1
  3. Install napi-rs/cli and dependencies

    # clone thesia repo & cd to the directory
    npm install -g @napi-rs/cli
    npm run build:backend
    npm install

Windows

  1. Install Rust

  2. Install vcpkg and openblas

    git clone https://github.com/microsoft/vcpkg
    .\vcpkg\bootstrap-vcpkg.bat
    .\vcpkg\vcpkg integrate install
    vcpkg install openblas --triplet x64-windows-static
  3. Install nvm-windows (using a GUI installer)

  4. Install node.js v16.20.2 ~ v21 (The most recent version tested: v21.6.1)

    nvm install 21.6.1
    nvm use 21.6.1
  5. Install napi-rs/cli and dependencies

    # 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

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)