GuitarSync Svelte Themes

Guitarsync

Audio-driven video sync — frame-perfect alignment of guitar recordings to processed DAW tracks. Tauri 2 + Svelte 5 + Rust.

GitarSync

Audio-driven video alignment — referans sesi temel alıp videoyu örnek-altı (sub-sample) hassasiyetle hizalar, ardından özelleştirilebilir kalitede MP4'e basar.

Algoritmalar

  • Onset envelope cross-correlation — spectral flux; vuruş zamanlamasına bakar, tını farkından bağımsız
  • Chromagram correlation — 12 pitch class; harmonik içerik eşleştirir
  • MFCC correlation — mel-cepstrum; tını/spektral envelope
  • Ensemble — skorlara göre ağırlıklı ortalama
  • Sub-frame refinement — yüksek-çözünürlüklü onset envelope + parabolik interpolasyon (~1ms)
  • DTW (Sakoe-Chiba) — tempo drift teşhisi, slope ≈ 1.0 ise rijit eşleşme

Çalıştırma

# Dev (HMR ile)
npm run tauri:dev

# Production build (.msi installer + .exe)
npm run tauri:build

İlk build ~5 dk sürer (Rust dependency'leri derler). Sonraki build'ler çok hızlı.

Mimari

src-tauri/
  src/
    audio.rs           WAV decode + linear resample + peak normalize
    ffmpeg.rs          Sidecar wrapper: probe / extract / render + progress events
    commands.rs        Tauri commands (analyze, render, ffmpeg_probe)
    sync/
      onset.rs         Spectral flux onset envelope
      chroma.rs        12-bin chromagram
      mfcc.rs          Mel filterbank + DCT
      dtw.rs           Banded DTW + drift estimation
      correlate.rs     FFT cross-correlation (1D & multi-dim)
      pipeline.rs      Coarse → ensemble → fine refine → DTW
  binaries/
    ffmpeg-x86_64-pc-windows-msvc.exe   (sidecar — bundle'a dahil)
src/
  App.svelte           Main shell
  lib/
    api.ts             Tauri command wrappers + event listeners
    components/
      FileDropZone     Video/audio dosya seçimi
      AlgorithmPanel   Feature seçimi + tüm parametreler
      ResultPanel      Offset, skorlar, DTW raporu, manuel ms slider
      ExportPanel      Codec, CRF, preset, bitrate vs.

Render seçenekleri

  • Video codec: H.264 / H.265 / VP9 / AV1 / Copy
  • Audio codec: AAC / FLAC / PCM 16-bit / PCM 24-bit / Copy
  • CRF, preset, pixel format, faststart — hepsi UI'dan
  • Opsiyonel: orijinal sesi 2. track olarak tutma

Senkron Mantığı

  1. Video container'ından PCM çıkar (mono, 22050 Hz)
  2. Referans WAV'ı oku, gerekirse resample et
  3. Tüm seçili feature'lar (paralel, rayon) için video×referans cross-correlation → kaba offset
  4. Ensemble veya en yüksek skorlu feature'ı seç
  5. Kaba offset ±0.3 sn pencerede yüksek-çözünürlüklü onset envelope ile rafine et
  6. Parabolik interpolasyonla sub-frame hassasiyet (~1 ms)
  7. DTW açıksa eşleşen segment üstünde chroma DTW → drift teşhisi
  8. UI'dan opsiyonel manuel ms delta
  9. FFmpeg ile trim + audio swap + re-encode

Top categories

Loading Svelte Themes