Masaüstü Uygulamaları
Açık Kaynak

AudioLoom v4.0: Tauri & Svelte Ses DAW

RustTypeScriptCSSSvelteTauriSvelteTailwind CSS v4FFmpegWaveSurfer.jsWeb Audio APITokio

Tauri ve Svelte ile geliştirilmiş, çapraz platform bir masaüstü Dijital Ses Çalışma İstasyonu (DAW). Çoklu kanal miksleme, gerçek zamanlı dalga formu (waveform) oluşturma, FFmpeg üzerinden hassas bölge kesme/kırpma ve son derece optimize edilmiş bir Web Audio API oynatma motoru içerir.

Teknoloji Yığını

RustTypeScriptCSSSvelteTauriSvelteTailwind CSS v4FFmpegWaveSurfer.jsWeb Audio APITokio

Sistem Metrikleri

FFmpeg işlemleri bloklamayan Tokio görevleri aracılığıyla yürütülerek, ağır çoklu kanal render aşamasında arayüzün mutlak akıcılığını garanti eder
Tauri uygulama yapısı, geleneksel Electron tabanlı DAW'lara kıyasla çok daha az RAM ve CPU yükü tüketir
Standart HTML5 Audio yerine düşük seviyeli Web Audio API yönlendirmesi kullanılarak, kanallar arası oynatma senkronizasyon kaymaları (drift) ortadan kaldırılmış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ı, 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ü
Bu uygulama, web teknolojilerini ham sistem dosyalarıyla (binaries) kusursuzca birleştirerek yüksek performanslı masaüstü mühendisliğinin bir göstergesi olarak hizmet vermektedir. Svelte'in reaktif UI durumlarını (sürükle-bırak ile yeniden boyutlandırılabilir kenar çubukları ve tema hidratasyonu gibi) yönettiği ve Rust'ın ağır ses manipülasyonunu ve dosya sistemi önbelleklemesini üstlendiği katı bir görev ayrımı (separation of concerns) sayesinde, araç profesyonel düzeyde bir düzenleme deneyimi sunar. Geri al (undo) yığınının uygulanması (bellek korumalı ses durumu geçmişi) ve global klavye kısayolu kancaları (hooks), standart DAW UX paradigmalarına olan derin hakimiyeti yansıtmaktadır.