Kod Sözdizimi

Frekans kodu JavaScript sözdizimine yakın çalışır. Pattern yazarken fonksiyonları zincirler, string içinde mini notasyon kullanır ve katmanları $: ile ayırırsın.

Fonksiyon zinciri

note("c3 eb3 g3 bb3").sound("sawtooth").lpf(900).room(.4)

Her nokta yeni bir işlem ekler. Soldan sağa okunur: nota üret, ses seç, filtrele, oda ekle.

String pattern

sound("bd ~ sd hh")

Tırnak içindeki mini notasyon ritmi belirler.

Sayılar

sound("hh*8").gain(.35)

Ondalık sayılar çoğu kontrolde kullanılabilir.

Çok satırlı yazım

Uzun zincirleri satırlara bölebilirsin.

note("c3 eb3 g3 bb3").sound("supersaw")
.lpf(900)
.delay(.25)
.room(.35)

Paralel katmanlar

$: sound("bd ~ sd ~")
$: sound("hh*8").gain(.35)
$: n("0 2 4 7").scale("G:minor").sound("triangle")

Her $: satırı ayrı pattern olarak çalışır.

Yorum satırı

// bu satır çalışmaz, sadece açıklamadır
sound("bd sd")

Değişken kullanımı

let root = "G:minor"
$: n("0 2 4 7").scale(root).sound("piano")

Değişkenler tekrar eden değerleri düzenli tutar.

Dikkat

  • Tırnakları kapat.
  • Parantezleri eşleştir.
  • Zincirin başında mutlaka ses veya nota üreten bir ifade olsun.
  • Kod bloklarında fonksiyon adlarını çevirmeye çalışma; sound, note, scale aynen kalır.