Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CaYaDev Visualizer

CaYaDev Visualizer

🎵 Çoklu monitör + çoklu ses kaynağı destekli, sese duyarlı görselleştirme uygulaması

Windows & macOS · Electron + WebGL · Native WASAPI/CoreAudio loopback

License: MIT Platform Electron cayadev.com


CaYaDev Visualizer; çalan sistem sesine (hoparlör/kulaklık çıkışı) gerçek zamanlı tepki veren, tam ekran görsel efektler üreten bir masaüstü uygulamasıdır. İki panelden oluşur:

  • 🎛️ Yönetici Paneli — tüm ayarların canlı yapıldığı kontrol ekranı.
  • 🖥️ Görselleştirme Ekranı — seçtiğiniz monitörde tam ekran açılan, sese tepki veren görsel.

Ses yakalama, native WASAPI/CoreAudio loopback (audify) ile yalnızca çıkış aygıtından yapılır — mikrofon asla yakalanmaz.


🎬 Demo

Ses görselleştirici (canlı) Frekans barları (canlı)
Görselleştirici demo Bar demo

Yukarıdaki GIF'ler sentetik bir ses sinyaliyle üretilmiştir; gerçek kullanımda çalan müziğe birebir tepki verir.


🎛️ Arayüz (Yönetici Paneli)

Tüm ayarlar tek ekrandan, canlı olarak yapılır ve otomatik kaydedilir — ekran seçimi, ses kaynağı, arkaplan gradyanı, görselleştirici türü, renkler, logo ve performans.

Yönetici Paneli

✨ Görselleştirme Modları & Stilleri

Dört ana mod, sayısız renk şablonu, gökkuşağı/tek renk, ayna, alt/orta/tam yerleşim ve yumuşak/plazma arkaplan gradyanlarıyla birbirinden farklı görünümler:


Barlar · alt yerleşim · gökkuşağı · Aurora

Merkez Barlar · logo · Neon plazma

Barlar · ayna (bas ortada) · Okyanus

Barlar · orta simetrik · Buz

Dalga · kalın · ayna · Gün Batımı

Dalga · ince çizgi · gökkuşağı · Gece

Çember · logo · Lav plazma

Çember · gökkuşağı · logo · Orman

Düz renk arkaplan · marka kırmızısı barlar

🚀 Çalıştırma (geliştirme)

npm install      # bağımlılıkları kurar
npm start        # uygulamayı başlatır

Kurumsal ağ/proxy nedeniyle npm install sertifika hatası verirse: PowerShell'de $env:NODE_OPTIONS="--use-system-ca" ile tekrar deneyin.

Geliştirici modu (DevTools açık): npm run dev

Gereksinim: Sistemde Node.js kurulu olmalıdır — ses yakalama yardımcı süreci (src/main/loopback-helper.js) sistem node ile çalışır.


📦 Derleme / Dağıtım

npm run icons      # SVG'den ikonları üretir (build/icon.ico, .icns, .png)
npm run dist:win   # Windows: NSIS kurulum + portable (dist/ klasörüne)
npm run dist:mac   # macOS: DMG + zip  (YALNIZCA bir Mac'te çalışır)
Platform Çıktı Durum
Windows CaYaDev Visualizer Setup …exe (kurulum), …-portable.exe ✅ Tam çalışır
macOS …-darwin-arm64/, …-darwin-x64/ (.app), DMG (Mac'te) ⚠️ Bkz. not

macOS native ses notu: native ses modülü (audify) Windows'tan macOS'a çapraz derlenemez. Windows'ta üretilen macOS .app paketlerinde arayüz/görseller çalışır ama ses yakalama çalışmaz. Tam çalışan macOS sürümü için bir Mac'te npm install && npm run dist:mac çalıştırın. macOS'ta sistem sesi yakalamak için BlackHole gibi bir sanal ses aygıtı gerekir (mikrofon doğrudan çalışır).


🖥️ Kullanım

  1. Yönetici paneli açılır. Üstten Ekran seçin (varsayılan olarak ikinci monitör seçilir).
  2. ▶ Görselleştirmeyi Aç ile seçilen ekranda tam ekran görsel başlar.
  3. Sağdaki kartlardan görselleştirme türünü, renkleri, logoyu ve performansı canlı olarak değiştirin — değişiklikler anında yansır ve otomatik kaydedilir.
  4. Görselleştirme ekranında ESC tuşu ile çıkılır.

🎨 Özellikler

Arkaplan — Akışkan Gradyan (Sis efekti)

  • Her noktadan akan, sese tepki veren mesh-gradyan fon (WebGL shader).
  • İki stil: Yumuşak (Parlamasız) — pürüzsüz, pastel mesh gradyan; Plazma (Parlamalı) — sese göre patlayan, daha canlı/parlak.
  • 5 renk noktası ayrı ayrı seçilebilir; 10 hazır şablon (Aurora, Gün Batımı, Neon, Lav, Okyanus, Orman, Pastel, Gece, Buz, Tek Renk).
  • Akış hızı, ölçek, bozulma (akışkanlık), ses tepkisi, temel parlaklık, gren, vinyet.
  • Ses Patlaması (Parlaklık) ve Ses ile Renk Kayması ayrı ayrı ayarlanabilir.
  • Alternatif olarak düz renk arkaplan.

Görselleştirici (ön efekt)

  • Barlar — her bar bir logaritmik frekans bandı. Bar sayısı, min/max frekans, boşluk, yerleşim (alt/orta/tam), ayna, tepe noktaları.
  • Merkez — ekranın ortasından yukarı/aşağı simetrik açılan barlar. Logo ile çok uyumlu.
  • Dalga — osiloskop/dalga formu; çizgi kalınlığı, genlik, ayna.
  • Çember — merkez logo ile uyumlu radyal spektrum; bas merkez halkasını nabızlandırır.
  • Gökkuşağı açılıp kapatılabilir; kapalıyken tek renk seçilir. Hassasiyet ve parlama (glow).

Logo / Resim

  • Merkeze resim/logo yerleştirilir; otomatik boyutlandırılır ve konumlandırılır.
  • Boyut, saydamlık, parlama, konum (X/Y) ve sese göre nabız ayarı.

Ses

  • Yalnızca çıkış sesi (hoparlör/kulaklık) yakalanır — mikrofon DAHİL DEĞİLDİR.
  • WASAPI loopback ile seçilen çıkış aygıtının sesi doğrudan alınır (native modül audify).
  • Hassasiyet, yumuşatma, bas vurgusu + canlı seviye göstergeleri (genel / bas / orta / tiz).

Güç / Performans

  • Kare hızı (30/60/120/sınırsız), arkaplan çözünürlük ölçeği, sessizlikte duraklatma, imleç gizleme.

🔊 Ses yakalama nasıl çalışır (önemli)

Ses, çıkış aygıtının WASAPI loopback'i ile yakalanır — yani hoparlöre/kulaklığa giden ses doğrudan alınır. Mikrofon asla yakalanmaz.

Bu, audify adlı native bir modülle yapılır. Native modül Electron'un ABI'sine hazır gelmediği için, yakalama ayrı bir Node alt-süreci (src/main/loopback-helper.js) ile çalıştırılır; bu süreç sesi yakalar, FFT analizini hesaplar ve sonucu ana sürece aktarır.

Gereksinim: Sistemde Node.js kurulu olmalıdır (yakalama yardımcı süreci node ile başlar).

Aygıt seçimi: Yönetici panelinde Çıkış Aygıtı listesinden hoparlör/kulaklık seçebilirsiniz. "Varsayılan Çıkış" o an Windows'ta aktif olan çıkışı kullanır. Liste güncel değilse 🔄 Aygıtları Yenile'ye basın. Bir aygıt başka bir uygulama tarafından özel (exclusive) modda tutuluyorsa yakalama başarısız olabilir; farklı bir aygıt seçin veya o uygulamayı kapatın.


📁 Proje yapısı

src/
  main/                # Electron ana süreç
    main.js            # pencereler, ekran seçimi, IPC, yakalama yaşam döngüsü
    native-audio.js    # loopback-helper alt-sürecini yönetir, kareleri iletir
    loopback-helper.js # SİSTEM node'unda çalışır: audify WASAPI loopback + FFT
    preload-admin.js / preload-visualizer.js
  shared/
    defaults.js        # varsayılan yapılandırma + renk şablonları
  admin/               # Yönetici paneli (kontrol arayüzü)
    index.html / admin.css / admin.js
  visualizer/          # Görselleştirme ekranı
    index.html / visualizer.css / audio.js / visualizer.js
    modes/             # gradient.js, bars.js, centerbars.js, wave.js, circular.js
scripts/
  start.js             # GUI başlatıcı (ELECTRON_RUN_AS_NODE'u temizler)
  gen-icons.js         # SVG -> ikonlar
docs/screenshots/      # README görselleri

Ayarlar otomatik olarak %APPDATA%/soundvisualizer/settings.json (Windows) dosyasına kaydedilir.


⌨️ Kısayollar

Tuş İşlev
ESC Görselleştirme ekranını kapat
Ekrana tıklama Ses başlatılamadıysa yeniden dene

📄 Lisans

Bu proje MIT Lisansı ile lisanslanmıştır — ayrıntılar için LICENSE dosyasına bakın.

Copyright (c) 2026 CaYaDev — https://cayadev.com

cayadev.com tarafından ❤️ ile geliştirildi.

About

Çoklu monitör destekli, sistem sesine gerçek zamanlı tepki veren masaüstü ses görselleştirici (Electron + WebGL, native WASAPI loopback).

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages