56 lines
3.5 KiB
JavaScript
56 lines
3.5 KiB
JavaScript
// Скорость джазового свинга
|
||
setcpm(30)
|
||
|
||
// 1. Ударные (используют стандартные сэмплы 's')
|
||
const drums = stack(
|
||
s("bd [~ bd] bd ~"),
|
||
s("~ sd ~ sd"),
|
||
s("hh*4")
|
||
.degradeBy(0.2)
|
||
.fast(1.5)
|
||
.slow(1)
|
||
).gain(0.3)
|
||
|
||
// 2. Джазовые аккорды (используют генератор 'sound')
|
||
const piano = chord("<Dm7 G7 C^7 C^7>*6")
|
||
.voicing()
|
||
.scale("D:dorian") // Карта нот (Дорийский лад)
|
||
.scramble(4) // Случайно путает порядок нот в каждом цикле)
|
||
.sound("piano")
|
||
.speed("0.9 1.0 0.8 0.7")
|
||
.lpf(1100) // Мягкий фильтр, убирает резкость пилы
|
||
.attack(0.04)
|
||
.release(2.5)
|
||
.voice(4) // Разрешаем звучать одновременно только 6 нотам.
|
||
.gain(0.15)
|
||
|
||
// 3. Бас (низкий синусоидальный синтезатор)
|
||
const bass = chord("<Dm7 G7 C^7 C^7>")
|
||
.rootNotes(2) // Сразу извлекаем тонику во 2-й (низкой) октаве
|
||
.sound("sine") // Чистый бас
|
||
.gain(0.6)
|
||
|
||
// 4. Случайная джазовая импровизация
|
||
// Мы просто перечисляем ноты в джазовой сетке, а метод scramble перемешивает их на ходу!
|
||
const sax = note("[0 2 4 6 7 9 11 12]*2")
|
||
.scale("D:dorian") // Карта нот (Дорийский лад)
|
||
.scramble(4) // Случайно путает порядок нот в каждом цикле)
|
||
.slow("<1.2 0.9 0.7 1.8>") // Фирменный разгон и замедление фразы
|
||
.degradeBy(0.25) // Случайно пропускает 25% нот, создавая живые паузы
|
||
.s("<sax_stacc*3 sax_stacc*2 sax sax_vib>") // Стакатто играет на быстрых пассажах, вибрато — на длинных финалах
|
||
// --- НАСТРОЙКА ХАРАКТЕРА САКСОФОНА ---
|
||
.speed("0.3 0.4 0.2 0.3") // Замедляем сам аудиофайл/ Он звучит дольше, жирнее и глубже
|
||
.attack(0.02) // Fade-in: убирает резкий щелчок, звук плавно «раздувается»
|
||
.hold(0.2) // Удержание: пик громкости в середине ноты
|
||
.release(2.0) // Fade-out: хвост звука плавно затухает после окончания ноты
|
||
.legato("<0.6 0.8 1.1 2.0>") // Связность: ноты немного наслаиваются, как при игре на одном дыхании. Для стаккато — короткое, для вибрато — длинное
|
||
.lpf(2800) // Фильтр: слегка приглушает ядовитые высокие частоты MIDI-сэмпла
|
||
.velocity("<1 0.7 0.9 0.6>") // Акценты: сильная доля громкая, слабая — тише
|
||
.slide("<0 0.03 0 -0.03>") // Крошечный слайд для джазовой небрежности
|
||
.gain("[1 0.3 0.8 0.4]*2") // Динамическая волна громкости: проваливает звук между нотами до 0.3 и взрывает до 1.0 на старте
|
||
.room(0.3)
|
||
.delay(0.3).delaytime(0.25).delayfeedback(0.2) // Легкое эхо для джазовой атмосферы
|
||
|
||
// Финальный микс
|
||
//stack(drums, piano, bass, sax)
|
||
stack(piano, sax) |