Masaüstü Uygulamaları
Açık Kaynak

AudioLoom v4.0: Tauri & Svelte Tabanlı Masaüstü DAW

RustTypeScriptCSSSvelteTauriSvelteKitTailwind CSS v4FFmpegWaveSurfer.jsWeb Audio APITokio

Tauri ve SvelteKit üzerine inşa edilmiş, düşük seviyeli I/O işlemlerini ve gerçek zamanlı ses manipülasyonunu yöneten hafif ve çapraz platform bir Dijital Ses Çalışma İstasyonu (DAW).

Teknoloji Yığını

RustTypeScriptCSSSvelteTauriSvelteKitTailwind CSS v4FFmpegWaveSurfer.jsWeb Audio APITokio

Sistem Metrikleri

Ağır medya derleme ve render operasyonları asenkron Tokio görevlerine devredilerek arayüz donmaları tamamen engellenmiştir
Geleneksel Electron altyapısı yerine Tauri/Wry WebView kullanımı, sistem RAM ve CPU yükünü dramatik şekilde azaltır
Standart HTML5 Audio limiti aşılarak, düşük seviyeli Web Audio API üzerinden mikrosaniye hassasiyetinde çoklu oynatma senkronizasyonu sağlanmıştır

Bunu Neden İnşa Ettim?

"Tarayıcı tabanlı ses düzenleyiciler ciddi bellek sınırlarına takılırken, profesyonel DAW'lar basit podcast kurguları veya hızlı kırpma işlemleri için genellikle hantal kalır. AudioLoom, masaüstü donanım gücünü Svelte'in reaktif UI mimarisiyle birleştirmek için tasarlandı. Rust/Tauri katmanı ile dosya sistemi işlemlerini izole ederek, modern bir arayüzde sıfır gecikme (zero-latency) ile çok kanallı ses işleme yeteneği sunar."

Mimari & Kararlar

Ön yüz (frontend), yüksek performanslı reaktif state yönetimi için Svelte 5 runes (`$state`, `$derived`) kullanır. Ses dalgaları (waveforms) `wavesurfer.js` ile donanım hızlandırmalı olarak DOM'a çizilirken, oynatım kanallar arası senkronizasyon kaymalarını (drift) önlemek için doğrudan native Web Audio API (`GainNode`, `StereoPannerNode`) üzerinden yönlendirilir. Kesme, kırpma ve çok kanallı mixdown gibi ağır ve bloklayıcı (blocking) I/O işlemleri Tauri'nin Rust arka ucuna (backend) devredilir. Rust, paketlenmiş bir FFmpeg binary'sini izole edilmiş asenkron `tokio` alt süreçlerinde (subprocesses) çalıştırarak, arayüz iş parçacığının (main-thread) kesinlikle donmamasını garanti eder.

Temel Özellikler

  • 01.Bağımsız ses seviyesi, sağ/sol (pan), solo ve mute kontrollerine sahip gerçek zamanlı çoklu kanal (multi-track) miks motoru
  • 02.Donanım hızlandırmalı DOM render işlemleri ve interaktif bölge (region) seçim algoritmaları
  • 03.Tokio destekli FFmpeg alt süreçleri (subprocesses) üzerinden güvenle yürütülen tahribatsız (non-destructive) bölge kesme ve kırpma
  • 04.WAV, MP3, FLAC, OGG ve AAC formatlarını destekleyen, parametrik pan (L/C/R) yönlendirmeli çoklu kanal mixdown protokolü
  • 05.Tailwind v4 tabanlı dinamik tema motoru ve kalıcı I/O senkronizasyonu
Bu proje, web teknolojilerinin sistem seviyesi araçlarla nasıl entegre edilebileceğini gösteren agresif bir mühendislik örneğidir. Svelte'in reaktivitesi ile UI anında tepki verirken, dosya okuma/yazma ve medya manipülasyonu gibi süreçlerin tamamı bellek güvenli (memory-safe) Rust katmanında çözülür. Özel paketlenmiş FFmpeg binary'sini çağıran arka uç mimarisi, projenin kullanıcı bilgisayarında dış bağımlılıklara ihtiyaç duymadan, işletim sisteminden bağımsız portatif bir executable (binary) olarak çalışmasını garanti eder.