subsequence.constants.instruments.roland_tr8s¶
Roland TR-8S instrument definition.
Note assignments and CC mappings for the Roland TR-8S drum machine. Note numbers correspond to the factory default trigger assignments for the 11 instrument tracks. CC numbers are from the official MIDI Implementation Chart (Version 1.10, 2018-10-04).
Three ways to use this module:
As a drum_note_map - pass
ROLAND_TR8S_DRUM_MAPto thedrum_note_mapparameter of@composition.pattern()and use track names like"bd"or"sd"in your pattern builder calls:import subsequence.constants.instruments.roland_tr8s as tr8s @composition.pattern(channel=9, beats=4, drum_note_map=tr8s.ROLAND_TR8S_DRUM_MAP) def drums (p): p.hit_steps("bd", [0, 4, 8, 12], velocity=127)
As a cc_name_map - pass
ROLAND_TR8S_CC_MAPto thecc_name_mapparameter of@composition.pattern()and use human-readable CC names:import subsequence.constants.instruments.roland_tr8s as tr8s @composition.pattern(channel=9, beats=4, drum_note_map=tr8s.ROLAND_TR8S_DRUM_MAP, cc_name_map=tr8s.ROLAND_TR8S_CC_MAP) def drums (p): p.hit_steps("bd", [0, 4, 8, 12], velocity=127) p.cc("bd_tune", 64) p.cc_ramp("bd_decay", 40, 100, shape="ease_in")
As constants - reference note numbers and CC numbers directly:
import subsequence.constants.instruments.roland_tr8s as tr8s p.hit_steps(tr8s.BD, [0, 4, 8, 12], velocity=127) p.cc(tr8s.BD_TUNE, 64)
ROLAND_TR8S_DRUM_MAP also accepts General MIDI drum names — the unnumbered
"kick" / "snare" / "crash" / "ride" primaries as well as the
numbered "kick_1", "hi_hat_closed", "side_stick", etc. — as aliases
for the matching TR-8S voices, a faithful subset only, covering the voices
the machine genuinely has. This lets GM-named patterns play on the TR-8S and
lets it take part in symbolic mirroring (each device re-resolves a shared drum
name through its own map). Voices the TR-8S lacks (cowbell, tambourine,
congas, splash/Chinese cymbals, …) are intentionally not aliased — naming one
anyway is dropped with a one-time warning (never a wrong voice). Canonical
GM names come from pymididefs.drums
(GM_DRUM_MAP).
Note: The TR-8S CC assignments are instrument-specific and overlap with standard GM CC numbers in incompatible ways (e.g. CC 9 = Shuffle on the TR-8S, not a standard GM assignment). This map does NOT extend GM_CC_MAP.