manifest // signal
Co jest w bibliotece. Jak to działa.
Wszystkie sample wygenerowane w Pythonie + numpy. Łańcuch DSP: VCO → VCF (drabinka Mooga) → VCA → ADSR + LFO, dokładnie tak jak w 2600.
instrumenty melodyczne
15
nuty łącznie
375
drumy
14
sample rate
22050 Hz
Wygenerowanie biblioteki
Wszystkie WAV-y powstają z determinstycznego rendera w Pythonie. Wystarczy mieć Pythona 3.11+ i numpy.
python3 -m venv .venv . .venv/bin/activate pip install -r requirements.txt npm run render # domyślnie C3..C5 python3 synth/render.py --range C2 C6 python3 synth/render.py --only piano,bass_2600,kick
Łańcuch sygnału (geneza 2600)
VCO1 ┐ VCO2 ├─► MIX ─► VCF (24 dB/oct ladder, res 0..4) ─► VCA ─► OUT VCO3 ┘ ▲ ▲ NOISE ────────────┤ │ LFO ── mod ───────┘ │ ADSR ───── env ────────────────────────────────────┘
Implementacja DSP w synth/arp2600.py — VCO z bandlimit (24 harmoniczne), drabinka Mooga z soft-clipem w pętli sprzężenia, ADSR sample-accurate, Schroeder reverb.
Instrumenty melodyczne
Pianino
25 nutFortepian addytywny z młoteczkiem.
slug: piano
E-Piano (Rhodes)
25 nutFM Rhodes — dwa operatory 1:1.
slug: electric_piano
Organy (Hammond)
25 nutHammond-style drawbars + leslie tremolo.
slug: organ
Trąbka
25 nutTrąbka — saw + rezonansowy filtr.
slug: trumpet
Flet
25 nutFlet — sine + szum oddechu.
slug: flute
Harfa
25 nutHarfa — szarpany pluck addytywny.
slug: harp
Skrzypce
25 nutSkrzypce — saw + body resonance.
slug: violin
Wiolonczela
25 nutWiolonczela — niski saw, długi atak.
slug: cello
Gitara (Karplus-Strong)
25 nutKarplus-Strong — gitara akustyczna.
slug: guitar_pluck
Bas ARP 2600
25 nutARP 2600 bas — saw + square + filtr.
slug: bass_2600
Lead ARP 2600
25 nutARP 2600 lead — detune + filter envelope.
slug: lead_2600
Pad ARP 2600
25 nutARP 2600 pad — 3 saws + wolny filtr.
slug: pad_2600
Pluck ARP 2600
25 nutARP 2600 pluck — perkusyjny saw + filtr.
slug: pluck_2600
Bell (FM)
25 nutFM bell — wysoki indeks modulatora.
slug: bell
Sub Bass
25 nutSub — czysta sine z soft-clipem.
slug: sub_bass
Drum kit
Kick
Kick — 909-style sine z pitch sweepem.
slug: kick
Snare
Snare — szum + body tones + drut sprężynowy.
slug: snare
Hi-hat (closed)
Closed hat — squares + biały szum HP.
slug: hihat_closed
Hi-hat (open)
Open hat — dłuższy ogon.
slug: hihat_open
Clap
909 clap — 4 transienty szumu + tail.
slug: clap
Tom (low)
Tom niski.
slug: tom_low
Tom (mid)
Tom środkowy.
slug: tom_mid
Tom (high)
Tom wysoki.
slug: tom_high
Ride
Ride — 7 partialów + szum + long tail.
slug: ride
Crash
Crash — masywny szum + metaliczne partiale.
slug: crash
Shaker
Shaker — krótki HP-noise burst.
slug: shaker
Rimshot
Rimshot — krótki sine click.
slug: rimshot
Cowbell
Cowbell — dwa squares + filtr.
slug: cowbell
Perc Zap
Perc zap — pitch sweep + ring mod.
slug: perc_zap