cleoanka

etkileşimli bir sayfa · ses

Her uygulamaya kendi sesi

Üç sahte uygulama, üç ayrı ses kanalı. Seviyeyi, ekolayzeri ve güçlendirmeyi uygulama başına ayarla, spektrumu canlı izle.

canvas ve kod, bağımlılık yok · GitHub’da auricle


1

Her uygulamaya kendi kanalı

macOS tek bir ses düğmesi verir: müzik de, görüntülü arama da, bildirim sesi de aynı anda kısılır ya da açılır. Toplantıdayken müziği biraz kısmak, bildirimleri kulaklığa, konuşmayı hoparlöre yollamak için uygulama başına ayrı bir kanal gerekir. auricle bunu Core Audio’nun process tap’leriyle yapar: her uygulamanın sesini sisteme ulaşmadan yakalar, kendi zincirinden geçirir ve istediğin çıkışa yollar.

FIG. 1 — “Sesi başlat”a bas. Üç uygulama da tarayıcıda sentezleniyor. Her kanalın kendi seviyesi, %200’e kadar güçlendirmesi (bozulmayı önleyen bir sınırlayıcıyla), EQ’su ve yönü var. Tarayıcılar çıkış cihazı seçimine her yerde izin vermediği için yönlendirme burada sol ve sağ kanal ile taklit ediliyor.

Güçlendirme, sesi kısık bir uygulamayı diğerlerinin seviyesine çıkarmak içindir. Ama sayısal ses tavanı olan bir sistemdir: sinyali ikiye katlarsan tepe noktaları kırpılır. Bu yüzden auricle güçlendirmenin arkasına bir sınırlayıcı koyar; seviye yükselir ama dalga biçimi tavana çarpıp kırılmaz.

2

Ekolayzerin gerçek eğrisi

Bir ekolayzer bantların toplamı değil, filtrelerin çarpımıdır. Her bant bir biquad filtredir ve komşu bantlar birbirinin eteğine taşar; bu yüzden tek bir düğmeyi oynatmak eğrinin tamamını hafifçe değiştirir. Aşağıdaki eğri bir çizim değil: tarayıcının ses motorundaki gerçek filtrelerin frekans yanıtı, doğrudan motorun kendisinden okunuyor.

FIG. 2 — Noktaları yukarı aşağı ve sağa sola sürükle. Soluk çizgiler tek tek bantlar, kalın çizgi toplam yanıt. Ses açıksa bu EQ doğrudan müzik kanalına uygulanır ve farkı hemen duyarsın.
process tap
Bir uygulamanın sesini sisteme ulaşmadan yakalayan Core Audio özelliği.
sınırlayıcı
Güçlendirmeden sonra tepeleri yumuşakça bastırır; kırpılmayı önler.
biquad
EQ bantlarının yapı taşı; toplam yanıt filtrelerin çarpımıdır.