Set di esempio importabili nell’app via il bottone IMPORT. Ognuno è pensato per dimostrare un genere diverso e le feature Pro che lo caratterizzano.
| File | Genere | BPM | Feel |
|—|—|—|—|
| demo-house.json | House / Techno | 124 | 4/4 dritto, build + drop |
| demo-trap.json | Trap / Hip-Hop | 140 | 808 profondo + ratchet hats |
| demo-boombap.json | Boom Bap ’90s | 90 | Swing alto, feel “lazy” Dilla |
| demo-dnb.json | DNB / Amen Break | 170 | Breakbeat jungle, ghost snare |
| demo-makesomenoise.json | NYC Hip-Hop 2011 style | 105 | Kick doppio + rim shaker + cowbell |
| demo-ukhardcore.json | UK Breakbeat Hardcore ‘92-‘93 | 140 | Pre-jungle, 4/4 rave + Amen choppato |
| demo-onedrop.json | Dub / Reggae One-Drop | 80 | ★ Beat sul 3, filosofia invertita |
| File | Ispirato a | Anno | BPM | Perché è iconico |
|—|—|—|—|—|
| demo-billiejean.json | Billie Jean (MJ) | 1982 | 117 | Linn LM-1 metronomica, kick sincopato |
| demo-funkydrummer.json | Funky Drummer (J. Brown) | 1970 | 103 | Break più campionato della storia — ghost + open hat |
| demo-levee.json | When the Levee Breaks (LZ) | 1971 | 72 | Bonham massiccio, half-time, decay lunghi |
| demo-apache.json | Apache (Incredible Bongo B.)| 1973 | 112 | Il break che Kool Herc mixava al Bronx = genesi hip-hop |
| demo-impeach.json | Impeach the President (Honey Drippers) | 1973 | 100 | Intro drum-solo iconica, pulizia chirurgica |
| demo-ashleysroachclip.json | Ashley’s Roachclip (Soul Searchers) | 1974 | 100 | Funky con open hat signature |
| demo-synthsub.json | Synthetic Substitution (Melvin Bliss) | 1973 | 91 | Break sparso che lascia spazio alla voce |
⚠️ Disclaimer per i break storici: questi file ricostruiscono lo scheletro ritmico (kick/snare/percussion placement) dei brani indicati. Non riproducono le melodie, voci, basso, arrangement, sample o timbri specifici, che restano protetti dal copyright dei rispettivi autori/editori. La drum programming è grammatica musicale generale.
Tutte usano gli stessi 8 suoni sintetizzati di DrumAPP — cambia solo come vengono programmati (pattern, velocity, ratchet, pan, pitch). Sono la dimostrazione migliore di quanto il programming conti più del sample in una drum machine.
| Feature | House | Trap | Boom Bap | DNB |
|---|---|---|---|---|
| BPM | 124 | 140 | 90 | 170 |
| Swing | 8% | 0 | 52% ★ | 0 |
| Humanize | on | off | on ★ | off |
| Kick four-on-floor | ✅ | ❌ | ❌ | ❌ |
| Kick 808 profondo | -2 st | -5 st ★ | -2 st | -3 st |
| Ratchet hi-hat | fill | ovunque ★ | - | - |
| Ghost snare | - | - | - | ★ firma Amen |
| Snare roll 4× | - | drop | - | drop ★ |
| Clap layered snare | - | ✅ | muted | muted |
| Cowbell | ✅ R60 | muted | muted | muted |
| Pan stereo | largo | medio | medio | medio |
★ = feature caratterizzante del genere
demo-house.json · House / Techno 124 BPMMini-traccia dance a 124 BPM. 4 pattern: Intro Minimal → Verse Groove → Build-up → Drop Full. Sequence A A B B A B C D D B.
Punti di forza: pan stereo ampio (clap L40, cowbell R60), velocity alternata sugli hi-hat ottavi, build-up con probability decrescente sul kick, snare roll nel fill.
demo-trap.json · Trap 140 BPM (half-time)Beat trap moderno. Kick 808 pitchato -5 con pattern sincopato (non 4/4). Hi-hat con ratchet 2×/3×/4× ovunque — l’essenza del trap moderno.
Punti di forza: ghost kick con probability, rim shot come accent, snare roll 4× esplosivo nel Pattern D. Sequence A A B B C B B C C D.
demo-boombap.json · Boom Bap 90s (J Dilla / Pete Rock)SWING 52% + Humanize ON: è tutto qui. Il classico feel “lazy dietro il beat” che ha fatto la storia dell’hip-hop anni ‘90.
Caratteristiche distintive:
Prova il trucco: porta lo swing a 0 e senti tutto diventare robotico. Poi rimettilo a 52% → magia.
Sequence A A B B A B C D.
demo-dnb.json · DNB / Amen Break 170 BPMIspirato all’Amen Break dei The Winstons (1969), il drum solo di 4 secondi più campionato della storia. Ha fatto nascere jungle, DNB, breakbeat.
Firma classica Amen:
Pattern A/B alternano le due bar dell’Amen originale (il kick si sposta tra le due). Pattern C aggiunge roll e tensione. Pattern D è il big break: snare roll 4× + tom fill ascendente.
Trucco per capire l’Amen: dopo l’import, seleziona la traccia SNARE (click sul nome), poi premi S (solo) → senti isolato il pattern Amen classico col ghost che “fa tutto”.
Sequence A B A B A B C A B D.
demo-makesomenoise.json · NYC Hip-Hop 105 BPMPattern nello stile di “Make Some Noise” dei Beastie Boys (2011) — NYC hip-hop punchy, feel quasi dritto (swing 12%, non boom-bap pesante).
⚠️ Chiarimento: è un pattern originale ispirato al brano, non una cover né una riproduzione. La drum programming (kick/snare placement) è grammatica musicale generale; il brano reale con voci, sample, synth e arrangement resta dei Beastie Boys.
Firma sonora:
Pattern A (intro/skeleton) → B (verse con shaker+cowbell) → C (hook punchy con clap layer) → D (break con tom fill). Sequence A B B C B C C D.
Trucchi interessanti:
I 4 file seguenti ricostruiscono lo scheletro ritmico di break leggendari. Sono un piccolo museo interattivo: puoi ascoltare in 60 secondi la differenza fondamentale fra una drum machine del 1982 (metronomica), un batterista funk del 1970 (pieno di ghost), un hard rock del 1971 (massiccio e half-time) e una band di session tropicale del 1973 (bongos e claves).
demo-billiejean.json · 117 BPM, stile Linn LM-1Ispirato a Billie Jean (Michael Jackson, 1982). La drum machine era una Linn LM-1, strumento che ha cambiato la produzione pop: precisione assolutamente metronomica, niente humanize, niente ghost. Il groove nasce da ciò che è presente (kick sincopato su 1 e 7, snare pulito, hi-hat 16th con accento) e da ciò che è assente (nessuna sottigliezza ritmica).
Trucco: prova ad attivare HUMANIZE → senti come il feel si rovina subito. È una delle rare demo dove il robot è l’obiettivo.
demo-funkydrummer.json · 103 BPM, stile Clyde StubblefieldIspirato a Funky Drummer (James Brown, 1970), eseguito da Clyde Stubblefield. Il break più campionato della storia dell’hip-hop (Public Enemy, N.W.A, LL Cool J, Prince e migliaia di altri). L’anima del pattern sta in due cose:
Test da manuale: metti la traccia OPEN HH a volume 0 durante la riproduzione. Senti il groove che si affloscia. Rimetti su → torna il funk. Tutto il mito sta lì.
demo-levee.json · 72 BPM, stile John BonhamIspirato a When the Levee Breaks (Led Zeppelin IV, 1971). Bonham registrò il drum break nella tromba delle scale di Headley Grange, con due microfoni lontani — da qui il sound enorme. Il pattern è semplicissimo (kick su 1 e 7, snare sul backbeat, hi-hat 8th), ma i parametri lo fanno diventare monumentale:
Campionato da Beastie Boys (Rhymin’ & Stealin’), Eminem (Kim), Dr. Dre, Enigma e molti altri. Prova ad alzare il decay del kick a 2.5 e del snare a 2.0 per amplificare l’effetto “stairwell”.
demo-apache.json · 112 BPM, il break originario dell’hip-hopIspirato ad Apache (Incredible Bongo Band, 1973). Questo è il break che DJ Kool Herc isolava e loopava ai block party del Bronx nel 1973-75 — l’atto di nascita materiale dell’hip-hop. La band era una session tropicale e la drum programming riflette il mix: batteria funk + bongos + claves + cowbell.
Ho mappato i timbri come fa tipicamente chi “interpreta” Apache in una drum machine moderna:
Il Pattern C è il “break di Kool Herc”: kick ridotto, percussioni in roll. È il momento in cui i DJ abbassavano la batteria principale e facevano rappare sopra le congas. Per sentirlo: durante il Pattern C, muta il kick (premi M con la traccia KICK attiva) → hai ricostruito l’esperienza di un block party 1975.
demo-impeach.json · 100 BPM, “Impeach the President”-styleIspirato al break di apertura di Impeach the President (The Honey Drippers, 1973). La lezione di questo break è la pulizia: kick sparse (1 e “and of 2”), snare backbeat “crack”, hi-hat 16th steady. Niente ghost, niente fill. Proprio la semplicità l’ha reso uno dei break più campionati nel golden age hip-hop.
Prova: suona benissimo anche a tempo diverso — porta il BPM a 88 e diventa boom bap West Coast.
demo-ashleysroachclip.json · 100 BPM, “Ashley’s Roachclip”-styleIspirato a Ashley’s Roachclip (The Soul Searchers, 1974). A parità di BPM con Impeach, ha un groove più funky: kick più ricco (1, “and of 1”, 11), ghost snare in mezzo, e soprattutto open hat al step 6 come Funky Drummer. È il “cugino più movimentato” di Impeach.
Prova: porta volume OPEN HH a 0. Il groove diventa più piatto — l’open hat al 6 è il trucco che si porta dal 1970 al 2020.
demo-synthsub.json · 91 BPM, “Synthetic Substitution”-styleIspirato a Synthetic Substitution (Melvin Bliss, 1973). Il punto di forza è lo spazio: kick sincopato su 0, 3, 8, 11, ma hi-hat solo in 8th (non 16th come gli altri break). Questo respiro è il motivo per cui i rapper golden age lo hanno scelto così tanto — c’è aria dentro cui mettere parole.
Prova: imposta lo stesso pattern passando il BPM a 85 e aggiungi un po’ di swing (20%) → diventa un loop boom-bap perfetto per un verso lungo.
demo-onedrop.json · 80 BPM · ★ filosofia ritmica invertitaQuesta non è una ricostruzione di un brano specifico ma del principio ritmico del reggae classico (Studio One, Marley, Sly & Robbie). È la demo più interessante per capire quanto una drum machine pro sia flessibile: se sposti il “centro di gravità” ritmico, cambi genere.
Il colpo di genio del reggae è mettere kick e snare insieme sul beat 3, non sull’1. Nel sequencer: solo step 8 è forte. Il resto del pattern è hi-hat skank (step 4 e 12) + rim shot come cross-stick. Tutto ciò che vedi assente è il groove.
Test che spacca la testa: ascolta Pattern A. Poi cliccando Pattern C passi a “rockers” (aggiunge kick sull’1 in stile Sly & Robbie anni ‘70). Stesso BPM, stessa strumentazione, due epoche reggae diverse.
demo-ukhardcore.json · 140 BPM, rave UK 1992-93 (pre-jungle)L’era dell’hardcore UK (The Prodigy primi EP, SL2, Shut Up & Dance, Acen, Rufige Kru) dove il breakbeat incontrava la 4/4 rave. Qui Pattern A è 4/4 rave dritto (stile hardcore), Pattern B è Amen choppato con ghost snare (stile jungle nascente), Pattern C li fonde con ratchet aggressivi, Pattern D è un fill pre-drop esplosivo (snare roll 4× + tom fill). Nel 1992-93 questi due mondi coesistevano nello stesso brano — ascolti la transizione da hardcore a jungle in un singolo loop.
Trucco mind-blowing: finito l’ascolto, alza il BPM a 170 e muta il kick durante il Pattern B. Hai appena ricostruito la transizione storica hardcore → drum & bass che è avvenuta tra il 1993 e il 1995. Un cambio di velocità + un kick muto = nuovo genere.
.json dal repo (click sui link sopra)SPACE)💡 Prima di cliccare DEMO (che sovrascrive Pattern A e B), salva il set importato in uno SLOT: hold 500 ms su A/B/C/D. Così puoi smanettare liberamente e recuperarlo con un tap.
Due modi per trasformare i JSON in MP3 che puoi mixare in DJApp (o qualsiasi altra DJ app):
.wavffmpeg -i file.wav -codec:a libmp3lame -qscale:a 2 file.mp3
Script Python render_json_to_wav.py incluso in questa cartella. Replica la sintesi Web Audio in numpy, produce WAV identico al BOUNCE del browser. Utile per rigenerare quando modifichi un JSON o per farli tutti in sequenza.
Requisiti: pip install numpy scipy (+ ffmpeg se vuoi MP3)
# Singolo file, usa la song sequence
python3 render_json_to_wav.py demo-house.json house.wav
# Loop lunghi di un pattern specifico (per DJ mix)
python3 render_json_to_wav.py demo-house.json house-loop.wav --loops 20 --pattern B
# Tutte insieme con conversione in MP3
for demo in house boombap trap onedrop; do
python3 render_json_to_wav.py demo-${demo}.json ${demo}.wav --loops 20 --pattern B
ffmpeg -y -i ${demo}.wav -codec:a libmp3lame -qscale:a 2 ${demo}.mp3
done
I JSON hanno BPM molto vari. Per un DJ set coerente conviene avere file allo stesso BPM. Con ffmpeg atempo:
# Es: portare trap (140 BPM) a 124 BPM (per matching con house)
# Fattore: 124/140 = 0.8857
ffmpeg -i trap.wav -filter:a "atempo=0.8857" trap-at124.wav
atempo modifica il tempo senza cambiare il pitch — i suoni restano identici, cambia solo la velocità. Range valido: 0.5 ≤ x ≤ 2.0.
Proof-of-concept creato con:
# Rendering
python3 render_json_to_wav.py demo-house.json house.wav --loops 20 --pattern B
python3 render_json_to_wav.py demo-trap.json trap.wav --loops 22 --pattern B
# Beat-match (trap 140 → 124)
ffmpeg -i trap.wav -filter:a "atempo=0.8857" trap-at124.wav
# Crossfade 10 secondi tra le due
ffmpeg -i house.wav -i trap-at124.wav \
-filter_complex "[0:a][1:a]acrossfade=d=10:c1=tri:c2=tri" \
set.wav
# Export MP3
ffmpeg -i set.wav -codec:a libmp3lame -qscale:a 2 set.mp3
Gli script Python _build_*.py sono i generatori. Usali come template:
cd examples
python3 _build_house.py # ↦ demo-house.json
python3 _build_trap.py # ↦ demo-trap.json
python3 _build_boombap.py # ↦ demo-boombap.json
python3 _build_dnb.py # ↦ demo-dnb.json
La struttura è sempre la stessa — API minimale:
from copy import copy
def cell(vel=0.9, prob=100, ratch=1, nudge=0):
"""Una cella accesa del sequencer"""
return {"vel": vel, "prob": prob, "ratch": ratch, "nudge": nudge}
def set_steps(pattern, track, steps, **kwargs):
"""Attiva gli step (indici 0-based) sulla traccia"""
for s in steps:
pattern[track][s] = cell(**kwargs)
# Esempio: kick four-on-the-floor
set_steps(A, KICK, [0, 4, 8, 12], vel=1.0)
# Esempio: hi-hat trap con ratchet
for s in range(16):
A[HIHAT][s] = cell(vel=0.6)
A[HIHAT][14] = cell(vel=0.8, ratch=3) # tripletta
A[HIHAT][15] = cell(vel=0.9, ratch=4) # roll
Indici tracce: KICK=0, SNARE=1, HIHAT=2, OPENHAT=3, CLAP=4, TOM=5, RIM=6, COW=7.
Vedi il README principale per lo schema completo JSON v2.
Se ne vuoi altre, i generi che si prestano bene a questa drum machine:
Chiedi pure il prossimo.