музыка · delta machine · sonic pi
8
NES. Sega. консольная эстетика. четыре мира по 90 секунд.
| артист | DELTA MACHINE |
| движок | Sonic Pi |
| треков | 4 |
| длительность | 06:00 |
| формат | 4 × 90.0s |
| тональность | mixolydian · dorian · harmonic minor |
| статус | released · 2026 |
// концепт
«8» — это восемь бит.
Четыре мира. Каждый живёт ровно 90 секунд. NES Quest → Cosmic 1994 → Modern Chip Assault → Delta Glitch Core.
Chiptune не как ностальгия — как ограничение. Ограничение как форма.
// треки
01
NES Quest
классический квест. простой паттерн.
02
Cosmic 1994
fm-синтез. космос через старый чип.
03
Modern Chip Assault
современный ритм в старой форме.
04
Delta Glitch Core
глитч как финал. система ломается красиво.
// код · 02.rb · Cosmic 1994
# Signature: E dorian / FM pad + FM lead / sparse floating groove / echo+reverb space
use_debug false
use_bpm 124
# strict duration lock
start_t = vt
dur = 90.0
roots = (ring :e2, :d2, :a1, :b1)
chords = (ring
(chord :e3, :minor7),
(chord :d3, :sus2),
(chord :a2, :minor7),
(chord :b2, :major7)
)
lead_pool = (scale :e4, :dorian, num_octaves: 2).ring
lead_core = (ring 0,2,4,6, 7,6,4,2, 0,2,4,7)
end_1 = (ring 9,7,6,4)
end_2 = (ring 11,9,7,6)
end_3 = (ring 7,6,4,2)
end_4 = (ring 12,9,7,4)
lead_step = 0
harm_step = 0
with_fx :reverb, mix: 0.30, room: 1 do
with_fx :echo, mix: 0.16, phase: 0.375, decay: 4 do
live_loop :space_drums do
t = vt - start_t
stop if t >= dur
step = tick(:sd) % 16
# floating skeleton: fewer hits
sample :bd_tek, amp: 0.72 if (step == 0 || step == 11)
sample :sn_dolf, amp: 0.50 if step == 8
sample :drum_cymbal_closed, amp: 0.10 if (spread 4,16).tick(:sh)
sample :elec_tick, amp: 0.08 if (step == 4 || step == 12)
sleep 0.125
end
live_loop :fm_pad do
t = vt - start_t
stop if t >= dur
ch = chords[harm_step % chords.length]
use_synth :fm
# 2-note pad to keep event density safe
synth :fm, note: ch[0], amp: 0.22, attack: 0.25, release: 1.6, depth: 1.8, divisor: 2, cutoff: 88
synth :fm, note: ch[2], amp: 0.18, attack: 0.30, release: 1.8, depth: 1.6, divisor: 3, cutoff: 86
harm_step += 1
sleep 2.0
end
live_loop :fm_bass do
t = vt - start_t
stop if t >= dur
root = roots.tick(:rb)
phrase = (ring root, root + 7, root + 9, root + 7)
bn = phrase.tick(:fb)
use_synth :fm
synth :fm, note: bn, amp: 0.34, release: 0.30, depth: 2.0, divisor: 1, cutoff: 84
sleep 0.75
end
live_loop :cosmic_lead do
t = vt - start_t
stop if t >= dur
cyc = (lead_step / 16) % 4
pos = lead_step % 16
idx =
if pos < 12
lead_core[pos]
else
if cyc == 0
end_1[pos - 12]
elsif cyc == 1
end_2[pos - 12]
elsif cyc == 2
end_3[pos - 12]
else
end_4[pos - 12]
end
end
n = lead_pool[idx]
use_synth :fm
synth :fm, note: n, amp: 0.28, release: 0.22, depth: 2.4, divisor: 2, cutoff: 104
if one_in(9)
synth :fm, note: n + 12, amp: 0.10, release: 0.10, depth: 1.2, divisor: 3, cutoff: 110
end
lead_step += 1
sleep 0.25
end
end
end