dmxgus: Improve percussion groupings.

Regroup GUS percussion instruments based on personally having listened
to the samples in the GUS instrument set and identifying similar-
sounding instruments.
This commit is contained in:
Simon Howard 2014-01-29 05:07:21 +00:00
parent ba7d80a188
commit 61aaeeed1d
2 changed files with 28 additions and 20 deletions

View file

@ -313,7 +313,7 @@ SIMILAR_GROUPS = [
('violin', 'viola', 'cello', 'contraba', 'tremstr', 'pizzcato', 'harp', ('violin', 'viola', 'cello', 'contraba', 'tremstr', 'pizzcato', 'harp',
'timpani'), 'timpani'),
# Other stringed (?) # Other stringed (?)
('marcato', 'slowstr', 'synstr1', 'synstr2', 'choir', 'doo', 'voices', ('slowstr', 'marcato', 'synstr1', 'synstr2', 'choir', 'doo', 'voices',
'orchhit'), 'orchhit'),
# Trumpet and other brass. # Trumpet and other brass.
('trumpet', 'trombone', 'tuba', 'mutetrum', 'frenchrn', 'hitbrass', ('trumpet', 'trombone', 'tuba', 'mutetrum', 'frenchrn', 'hitbrass',
@ -334,25 +334,32 @@ SIMILAR_GROUPS = [
'fx-blow', 'seashore', 'jungle', 'telephon', 'helicptr', 'applause', 'fx-blow', 'seashore', 'jungle', 'telephon', 'helicptr', 'applause',
'pistol'), 'pistol'),
# -- Percussion effects. This is probably where the current config is # Percussion sounds. These have been grouped based on listening to
# worst and in dire need of improvement. # the standard GUS patches, and appropriate "leader" instruments
# chosen for each group that sound good.
# Conga/kick # Kick:
('kick1', 'steeldrm', 'taiko', 'kick2', 'congahi1', 'congahi2', ('kick2', 'steeldrm', 'taiko', 'kick1'),
'congalo', 'clave'), # Conga:
# Snare drums ('congahi2', 'congahi1', 'congalo'),
('snare1', 'stickrim', 'claps', 'snare2', 'tamborin', 'vibslap', # Snare drums:
'bongohi', 'bongolo', 'timbaleh', 'timbalel', 'maracas', 'woodblk1', ('snare2', 'claps', 'snare1'),
'woodblk2'), # Toms:
# Hi-hat ('tomlo1', 'toms', 'syntom', 'tomlo2', 'tommid1', 'tommid2', 'tomhi2',
('hihatpd', 'carillon', 'agogo', 'woodblk', 'hihatcl', 'hihatop',
'cowbell', 'agogohi', 'agogolo', 'cabasa', 'whistle1', 'whistle2',
'guiro1', 'guiro2', 'cuica1', 'cuica2', 'triangl1', 'triangl2'),
# Toms
('tommid1', 'toms', 'syntom', 'tomlo2', 'tomlo1', 'tommid2', 'tomhi2',
'tomhi1'), 'tomhi1'),
# Cymbals. # Cymbal crash:
('cymcrsh1', 'revcym', 'cymride1', 'cymchina', 'cymbell', 'cymsplsh', ('cymsplsh', 'cymcrsh2', 'cymcrsh1', 'revcym', 'cymchina'),
'cymcrsh2', 'cymride2'), # Cymbal ride:
('cymride1', 'cymride2', 'cymbell'),
# Hi-hat:
('hihatpd', 'hihatcl', 'hihatop'),
# Metallic sounding:
('bongohi', 'bongolo', 'timbaleh', 'timbalel', 'cowbell',
'agogohi', 'agogolo', 'agogo', 'triangl1', 'triangl2'),
# Click:
('stickrim', 'woodblk1', 'woodblk2','woodblk', 'tamborin', 'clave'),
# Random things.
('carillon', 'cabasa', 'whistle1', 'whistle2', 'vibslap', 'maracas',
'guiro1', 'guiro2', 'cuica1', 'cuica2'),
] ]

View file

@ -131,7 +131,8 @@ def mapping_for_size(size):
# patches that will fit. # patches that will fit.
curr_size = patchset_size(result) curr_size = patchset_size(result)
assert curr_size < size, \ assert curr_size < size, \
"Minimal config for %s will not fit in RAM!" % size "Minimal config for %s will not fit in RAM! (%i)" % \
(size, curr_size)
for patch in patches: for patch in patches:
patch_index = midi_instr_for_name(patch) patch_index = midi_instr_for_name(patch)