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ı, seslendirme (voiceover) miksajı veya hızlı kırpma işlemleri için genellikle gereğinden fazla karmaşıktır. AudioLoom'u şimşek hızında, native bir masaüstü alternatifi sunmak için geliştirdim. Tauri'nin hafif WebView yapısını ve arka planda (headless) FFmpeg komutlarını agresif bir şekilde sarmalayan çok iş parçacıklı (multi-threaded) Rust backend'ini birleştirerek; modern bir Svelte web uygulamasının UI esnekliğiyle native bir C++ düzenleyicinin ham işlem gücünü sunar. Geleneksel DAW'ların hantallığı olmadan çoklu ses kanallarını hızlıca mikslemek, dengelemek (pan), kırpmak ve dışa aktarmak isteyen üreticiler için tasarlandı."
Mimari & Kararlar
Mimari, reaktif Svelte 5 ön yüzü (frontend) ile çok iş parçacıklı Rust/Tauri arka ucunu birbirine bağlar. Arayüz, ses tamponlarının (audio buffers) görsel, donanım hızlandırmalı DOM render işlemleri için `wavesurfer.js` kullanır. Ancak asıl ses oynatımı, stereo sağ/sol dengesi (`StereoPannerNode`) ve ses düzeyi ayarı (`GainNode`), sıfır gecikmeli önizleme ve senkronizasyon için doğrudan yerel Web Audio API üzerinden yönlendirilir. Çoklu kanal birleştirme (concatenation), sample-rate dönüştürme ve bölge kesme gibi ağır, bloklamayan (non-blocking) I/O işlemleri Rust arka ucuna devredilir. Rust, paketlenmiş bir FFmpeg binary'sini hedefleyen izole `tokio::process::Command` görevleri başlatır; bu sayede devasa WAV/FLAC derlemeleri sırasında arayüz (frontend event loop) kesinlikle donmaz.
Temel Özellikler
- 01.Gerçek zamanlı Stereo Pan (L/C/R) ve Gain kontrolü sunan çoklu kanal (multi-track) miks motoru
- 02.Yerel FFmpeg alt süreçleri (subprocesses) üzerinden güvenle yürütülen tahribatsız (non-destructive) ses bölgesi düzenleme (Kes/Kırp)
- 03.`wavesurfer.js` ve özel DOM gözlemcileri kullanan donanım hızlandırmalı dalga formu görselleştirmesi
- 04.Tailwind v4 CSS değişkenleri üzerinden haritalandırılmış dinamik özel tema motoru (Modern, Retro, Ghibli vb.)
- 05.WAV, FLAC, MP3, OGG ve AAC formatlarına doğrudan dışa aktarımı destekleyen çok formatlı mixdown protokolü