Skip to content

Instantly share code, notes, and snippets.

@RyanScottLewis
Created April 22, 2011 05:14
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save RyanScottLewis/936074 to your computer and use it in GitHub Desktop.
Save RyanScottLewis/936074 to your computer and use it in GitHub Desktop.
require 'benchmark'
this_files_dir = File.dirname(__FILE__)
$LOAD_PATH.unshift(this_files_dir)
Benchmark.bm do|b|
b.report("load YAML") do
require 'yaml'
doc = YAML.load_file(File.join(this_files_dir, "doc.yml"))
puts '', doc["manufacturers"]["Roland"]
end
b.report("load Consts") do
require 'consts'
puts '', MIDI::CC_FOOT_CONTROLLER
end
b.report("load Manufacturers") do
require 'manufacturers'
puts '', MIDI::Manufacturers["Roland Corporation"]
end
end
module MIDI
# Number of MIDI channels
MIDI_CHANNELS = 16
# Number of note per MIDI channel
NOTES_PER_CHANNEL = 128
#--
# Standard MIDI File meta event defs.
#++
META_EVENT = 0xff
META_SEQ_NUM = 0x00
META_TEXT = 0x01
META_COPYRIGHT = 0x02
META_SEQ_NAME = 0x03
META_INSTRUMENT = 0x04
META_LYRIC = 0x05
META_MARKER = 0x06
META_CUE = 0x07
META_MIDI_CHAN_PREFIX = 0x20
META_TRACK_END = 0x2f
META_SET_TEMPO = 0x51
META_SMPTE = 0x54
META_TIME_SIG = 0x58
META_KEY_SIG = 0x59
META_SEQ_SPECIF = 0x7f
#--
# Channel messages
#++
# Note, val
NOTE_OFF = 0x80
# Note, val
NOTE_ON = 0x90
# Note, val
POLY_PRESSURE = 0xA0
# Controller #, val
CONTROLLER = 0xB0
# Program number
PROGRAM_CHANGE = 0xC0
# Channel pressure
CHANNEL_PRESSURE = 0xD0
# LSB, MSB
PITCH_BEND = 0xE0
#--
# System common messages
#++
# System exclusive start
SYSEX = 0xF0
# Beats from top: LSB/MSB 6 ticks = 1 beat
SONG_POINTER = 0xF2
# Val = number of song
SONG_SELECT = 0xF3
# Tune request
TUNE_REQUEST = 0xF6
# End of system exclusive
EOX = 0xF7
#--
# System realtime messages
#++
# MIDI clock (24 per quarter note)
CLOCK = 0xF8
# Sequence start
START = 0xFA
# Sequence continue
CONTINUE = 0xFB
# Sequence stop
STOP = 0xFC
# Active sensing (sent every 300 ms when nothing else being sent)
ACTIVE_SENSE = 0xFE
# System reset
SYSTEM_RESET = 0xFF
# Controller numbers
# = 0 - 31 = continuous, LSB
# = 32 - 63 = continuous, MSB
# = 64 - 97 = switches
CC_MOD_WHEEL = 1
CC_BREATH_CONTROLLER = 2
CC_FOOT_CONTROLLER = 4
CC_PORTAMENTO_TIME = 5
CC_DATA_ENTRY_MSB = 6
CC_VOLUME = 7
CC_BALANCE = 8
CC_PAN = 10
CC_EXPRESSION_CONTROLLER = 11
CC_GEN_PURPOSE_1 = 16
CC_GEN_PURPOSE_2 = 17
CC_GEN_PURPOSE_3 = 18
CC_GEN_PURPOSE_4 = 19
# [32 - 63] are LSB for [0 - 31]
CC_DATA_ENTRY_LSB = 38
#--
# Momentaries:
#++
CC_SUSTAIN = 64
CC_PORTAMENTO = 65
CC_SUSTENUTO = 66
CC_SOFT_PEDAL = 67
CC_HOLD_2 = 69
CC_GEN_PURPOSE_5 = 50
CC_GEN_PURPOSE_6 = 51
CC_GEN_PURPOSE_7 = 52
CC_GEN_PURPOSE_8 = 53
CC_TREMELO_DEPTH = 92
CC_CHORUS_DEPTH = 93
CC_DETUNE_DEPTH = 94
CC_PHASER_DEPTH = 95
CC_DATA_INCREMENT = 96
CC_DATA_DECREMENT = 97
CC_NREG_PARAM_LSB = 98
CC_NREG_PARAM_MSB = 99
CC_REG_PARAM_LSB = 100
CC_REG_PARAM_MSB = 101
#--
# Channel mode message values
#++
# Val 0 == off, 0x7f == on
CM_LOCAL_CONTROL = 0x7A
CM_ALL_NOTES_OFF = 0x7B # Val must be 0
CM_OMNI_MODE_OFF = 0x7C # Val must be 0
CM_OMNI_MODE_ON = 0x7D # Val must be 0
CM_MONO_MODE_ON = 0x7E # Val = # chans
CM_POLY_MODE_ON = 0x7F # Val must be 0
# Controller names
CONTROLLER_NAMES = [
"0",
"Modulation",
"Breath Control",
"3",
"Foot Controller",
"Portamento Time",
"Data Entry",
"Volume",
"Balance",
"9",
"Pan",
"Expression Control",
"12", "13", "14", "15",
"General Controller 1",
"General Controller 2",
"General Controller 3",
"General Controller 4",
"20", "21", "22", "23", "24", "25", "26", "27", "28", "29",
"30", "31",
"32", "33", "34", "35", "36", "37", "38", "39", "40", "41",
"42", "43", "44", "45", "46", "47", "48", "49", "50", "51",
"52", "53", "54", "55", "56", "57", "58", "59", "60", "61",
"62", "63",
"Sustain Pedal",
"Portamento",
"Sostenuto",
"Soft Pedal",
"68",
"Hold 2",
"70", "71", "72", "73", "74", "75", "76", "77", "78", "79",
"General Controller 5",
"Tempo Change",
"General Controller 7",
"General Controller 8",
"84", "85", "86", "87", "88", "89", "90",
"External Effects Depth",
"Tremolo Depth",
"Chorus Depth",
"Detune (Celeste) Depth",
"Phaser Depth",
"Data Increment",
"Data Decrement",
"Non-Registered Param LSB",
"Non-Registered Param MSB",
"Registered Param LSB",
"Registered Param MSB",
"102", "103", "104", "105", "106", "107", "108", "109",
"110", "111", "112", "113", "114", "115", "116", "117",
"118", "119", "120",
"Reset All Controllers",
"Local Control",
"All Notes Off",
"Omni Mode Off",
"Omni Mode On",
"Mono Mode On",
"Poly Mode On"
]
# General MIDI patch names
GM_PATCH_NAMES = [
#--
# Pianos
#++
"Acoustic Grand Piano",
"Bright Acoustic Piano",
"Electric Grand Piano",
"Honky-tonk Piano",
"Electric Piano 1",
"Electric Piano 2",
"Harpsichord",
"Clavichord",
#--
# Tuned Idiophones
#++
"Celesta",
"Glockenspiel",
"Music Box",
"Vibraphone",
"Marimba",
"Xylophone",
"Tubular Bells",
"Dulcimer",
#--
# Organs
#++
"Drawbar Organ",
"Percussive Organ",
"Rock Organ",
"Church Organ",
"Reed Organ",
"Accordion",
"Harmonica",
"Tango Accordion",
#--
# Guitars
#++
"Acoustic Guitar (nylon)",
"Acoustic Guitar (steel)",
"Electric Guitar (jazz)",
"Electric Guitar (clean)",
"Electric Guitar (muted)",
"Overdriven Guitar",
"Distortion Guitar",
"Guitar harmonics",
#--
# Basses
#++
"Acoustic Bass",
"Electric Bass (finger)",
"Electric Bass (pick)",
"Fretless Bass",
"Slap Bass 1",
"Slap Bass 2",
"Synth Bass 1",
"Synth Bass 2",
#--
# Strings
#++
"Violin",
"Viola",
"Cello",
"Contrabass",
"Tremolo Strings",
"Pizzicato Strings",
"Orchestral Harp",
"Timpani",
#--
# Ensemble strings and voices
#++
"String Ensemble 1",
"String Ensemble 2",
"SynthStrings 1",
"SynthStrings 2",
"Choir Aahs",
"Voice Oohs",
"Synth Voice",
"Orchestra Hit",
#--
# Brass
#++
"Trumpet",
"Trombone",
"Tuba",
"Muted Trumpet",
"French Horn",
"Brass Section",
"SynthBrass 1",
"SynthBrass 2",
#--
# Reeds
#++
"Soprano Sax", # 64
"Alto Sax",
"Tenor Sax",
"Baritone Sax",
"Oboe",
"English Horn",
"Bassoon",
"Clarinet",
#--
# Pipes
#++
"Piccolo",
"Flute",
"Recorder",
"Pan Flute",
"Blown Bottle",
"Shakuhachi",
"Whistle",
"Ocarina",
#--
# Synth Leads
#++
"Lead 1 (square)",
"Lead 2 (sawtooth)",
"Lead 3 (calliope)",
"Lead 4 (chiff)",
"Lead 5 (charang)",
"Lead 6 (voice)",
"Lead 7 (fifths)",
"Lead 8 (bass + lead)",
#--
# Synth Pads
#++
"Pad 1 (new age)",
"Pad 2 (warm)",
"Pad 3 (polysynth)",
"Pad 4 (choir)",
"Pad 5 (bowed)",
"Pad 6 (metallic)",
"Pad 7 (halo)",
"Pad 8 (sweep)",
#--
# Effects
#++
"FX 1 (rain)",
"FX 2 (soundtrack)",
"FX 3 (crystal)",
"FX 4 (atmosphere)",
"FX 5 (brightness)",
"FX 6 (goblins)",
"FX 7 (echoes)",
"FX 8 (sci-fi)",
#--
# Ethnic
#++
"Sitar",
"Banjo",
"Shamisen",
"Koto",
"Kalimba",
"Bag pipe",
"Fiddle",
"Shanai",
#--
# Percussion
#++
"Tinkle Bell",
"Agogo",
"Steel Drums",
"Woodblock",
"Taiko Drum",
"Melodic Tom",
"Synth Drum",
"Reverse Cymbal",
#--
# Sound Effects
#++
"Guitar Fret Noise",
"Breath Noise",
"Seashore",
"Bird Tweet",
"Telephone Ring",
"Helicopter",
"Applause",
"Gunshot"
]
# GM drum notes start at 35 (C), so subtrack GM_DRUM_NOTE_LOWEST from your
# note number before using this array.
GM_DRUM_NOTE_LOWEST = 35
# General MIDI drum channel note names.
GM_DRUM_NOTE_NAMES = [
"Acoustic Bass Drum", # 35, C
"Bass Drum 1", # 36, C#
"Side Stick", # 37, D
"Acoustic Snare", # 38, D#
"Hand Clap", # 39, E
"Electric Snare", # 40, F
"Low Floor Tom", # 41, F#
"Closed Hi Hat", # 42, G
"High Floor Tom", # 43, G#
"Pedal Hi-Hat", # 44, A
"Low Tom", # 45, A#
"Open Hi-Hat", # 46, B
"Low-Mid Tom", # 47, C
"Hi Mid Tom", # 48, C#
"Crash Cymbal 1", # 49, D
"High Tom", # 50, D#
"Ride Cymbal 1", # 51, E
"Chinese Cymbal", # 52, F
"Ride Bell", # 53, F#
"Tambourine", # 54, G
"Splash Cymbal", # 55, G#
"Cowbell", # 56, A
"Crash Cymbal 2", # 57, A#
"Vibraslap", # 58, B
"Ride Cymbal 2", # 59, C
"Hi Bongo", # 60, C#
"Low Bongo", # 61, D
"Mute Hi Conga", # 62, D#
"Open Hi Conga", # 63, E
"Low Conga", # 64, F
"High Timbale", # 65, F#
"Low Timbale", # 66, G
"High Agogo", # 67, G#
"Low Agogo", # 68, A
"Cabasa", # 69, A#
"Maracas", # 70, B
"Short Whistle", # 71, C
"Long Whistle", # 72, C#
"Short Guiro", # 73, D
"Long Guiro", # 74, D#
"Claves", # 75, E
"Hi Wood Block", # 76, F
"Low Wood Block", # 77, F#
"Mute Cuica", # 78, G
"Open Cuica", # 79, G#
"Mute Triangle", # 80, A
"Open Triangle" # 81, A#
]
end
controller:
Bank Select: 0
Modulation Wheel: 1
Breath Controller: 2
Foot Controller: 4
Portamento Time: 5
Data Entry MSB: 6
Channel Volume: 7
Balance: 8
Pan: 10
Expression Controller: 11
General Purpose Controllers: 16
General Purpose Controllers: 17
General Purpose Controllers: 18
General Purpose Controllers: 19
LSB for controller 0: 32
LSB for controller 1: 33
LSB for controller 2: 34
LSB for controller 3: 35
LSB for controller 4: 36
LSB for controller 5: 37
LSB for controller 6: 38
LSB for controller 7: 39
LSB for controller 8: 40
LSB for controller 9: 41
LSB for controller 10: 42
LSB for controller 11: 43
LSB for controller 12: 44
LSB for controller 13: 45
LSB for controller 14: 46
LSB for controller 15: 47
LSB for controller 16: 48
LSB for controller 17: 49
LSB for controller 18: 50
LSB for controller 19: 51
LSB for controller 20: 52
LSB for controller 21: 53
LSB for controller 22: 54
LSB for controller 23: 55
LSB for controller 24: 56
LSB for controller 25: 57
LSB for controller 26: 58
LSB for controller 27: 59
LSB for controller 28: 60
LSB for controller 29: 61
LSB for controller 30: 62
LSB for controller 31: 63
Hold Pedal: 64
Portamento: 65
control_mode:
All Sound Off: 120
All Controllers Off: 121
Local Keyboard Toggle: 122
All Notes Off: 123
Omni Mode Off: 124
Omni Mode On: 125
Mono: 126
Poly: 127
system_realtime:
Start: 0xFA
Clock: 0xF8
Continue: 0xFB
Stop: 0xFC
Reset: 0xFF
ActiveSense: 0xFE
manufacturers:
SequentialCircuits: 1
BigBriar: 2
Octave: 3
Moog: 4
Passport: 5
Lexicon: 6
PAIA: 0x11
Simmons: 0x12
GentleElectric: 0x13
Fairlight: 0x14
BonTempi: 0x20
SIEL: 0x21
SyntheAxe: 0x23
Kawai: 0x40
Roland: 0x41
Korg: 0x42
Yamaha: 0x43
Casio: 0x44
Akai: 0x47
Emagic: [0x00, 0x20, 0x31]
Behringer: [0x00, 0x20, 0x32]
module MIDI
# Source: http://www.midi.org/techspecs/manid.php
Manufacturers = {
"Ta Horng Musical Instrument" => [0x00, 0x00, 0x74],
"e-Tek Labs (Forte Tech)" => [0x00, 0x00, 0x75],
"Electro-Voice" => [0x00, 0x00, 0x76],
"Midisoft Corporation" => [0x00, 0x00, 0x77],
"QSound Labs" => [0x00, 0x00, 0x78],
"Westrex" => [0x00, 0x00, 0x79],
"Nvidia" => [0x00, 0x00, 0x7A],
"ESS Technology" => [0x00, 0x00, 0x7B],
"Media Trix Peripherals" => [0x00, 0x00, 0x7C],
"Brooktree Corp" => [0x00, 0x00, 0x7D],
"Otari Corp" => [0x00, 0x00, 0x7E],
"Key Electronics, Inc." => [0x00, 0x00, 0x7F],
"Shure incorporated" => [0x00, 0x01, 0x00],
"AuraSound" => [0x00, 0x01, 0x01],
"Crystal Semiconductor" => [0x00, 0x01, 0x02],
"Conexant (Rockwell)" => [0x00, 0x01, 0x03],
"Silicon Graphics" => [0x00, 0x01, 0x04],
"M-Audio (Midiman)" => [0x00, 0x01, 0x05],
"PreSonus" => [0x00, 0x01, 0x06],
"Topaz Enterprises" => [0x00, 0x01, 0x08],
"Cast Lighting" => [0x00, 0x01, 0x09],
"Microsoft" => [0x00, 0x01, 0x0A],
"Sonic Foundry" => [0x00, 0x01, 0x0B],
"Line 6 (Fast Forward)" => [0x00, 0x01, 0x0C],
"Beatnik Inc" => [0x00, 0x01, 0x0D],
"Van Koevering Company" => [0x00, 0x01, 0x0E],
"Altech Systems" => [0x00, 0x01, 0x0F],
"S & S Research" => [0x00, 0x01, 0x10],
"VLSI Technology" => [0x00, 0x01, 0x11],
"Chromatic Research" => [0x00, 0x01, 0x12],
"Sapphire" => [0x00, 0x01, 0x13],
"IDRC" => [0x00, 0x01, 0x14],
"Justonic Tuning" => [0x00, 0x01, 0x15],
"TorComp Research Inc." => [0x00, 0x01, 0x16],
"Newtek Inc." => [0x00, 0x01, 0x17],
"Sound Sculpture" => [0x00, 0x01, 0x18],
"Walker Technical" => [0x00, 0x01, 0x19],
"Digital Harmony (PAVO)" => [0x00, 0x01, 0x1A],
"InVision Interactive" => [0x00, 0x01, 0x1B],
"T-Square Design" => [0x00, 0x01, 0x1C],
"Nemesys Music Technology" => [0x00, 0x01, 0x1D],
"DBX Professional (Harman Intl)" => [0x00, 0x01, 0x1E],
"Syndyne Corporation" => [0x00, 0x01, 0x1F],
"Bitheadz" => [0x00, 0x01, 0x20],
"Cakewalk Music Software" => [0x00, 0x01, 0x21],
"Analog Devices" => [0x00, 0x01, 0x22],
"National Semiconductor" => [0x00, 0x01, 0x23],
"Boom Theory / Adinolfi Alternative Percussion" => [0x00, 0x01, 0x24],
"Virtual DSP Corporation" => [0x00, 0x01, 0x25],
"Antares Systems" => [0x00, 0x01, 0x26],
"Angel Software" => [0x00, 0x01, 0x27],
"St Louis Music" => [0x00, 0x01, 0x28],
"Lyrrus dba G-VOX" => [0x00, 0x01, 0x29],
"Ashley Audio Inc." => [0x00, 0x01, 0x2A],
"Vari-Lite Inc." => [0x00, 0x01, 0x2B],
"Summit Audio Inc." => [0x00, 0x01, 0x2C],
"Aureal Semiconductor Inc." => [0x00, 0x01, 0x2D],
"SeaSound LLC" => [0x00, 0x01, 0x2E],
"U.S. Robotics" => [0x00, 0x01, 0x2F],
"Aurisis Research" => [0x00, 0x01, 0x30],
"Nearfield Research" => [0x00, 0x01, 0x31],
"FM7 Inc" => [0x00, 0x01, 0x32],
"Swivel Systems" => [0x00, 0x01, 0x33],
"Hyperactive Audio Systems" => [0x00, 0x01, 0x34],
"MidiLite (Castle Studios Productions)" => [0x00, 0x01, 0x35],
"Radikal Technologies" => [0x00, 0x01, 0x36],
"Roger Linn Design" => [0x00, 0x01, 0x37],
"TC-Helicon Vocal Technologies" => [0x00, 0x01, 0x38],
"Event Electronics" => [0x00, 0x01, 0x39],
"Sonic Network Inc" => [0x00, 0x01, 0x3A],
"Realtime Music Solutions" => [0x00, 0x01, 0x3B],
"Apogee Digital" => [0x00, 0x01, 0x3C],
"Classical Organs, Inc." => [0x00, 0x01, 0x3D],
"Microtools Inc." => [0x00, 0x01, 0x3E],
"Numark Industries" => [0x00, 0x01, 0x3F],
"Frontier Design Group, LLC" => [0x00, 0x01, 0x40],
"Recordare LLC" => [0x00, 0x01, 0x41],
"Starr Labs" => [0x00, 0x01, 0x42],
"Voyager Sound Inc." => [0x00, 0x01, 0x43],
"Manifold Labs" => [0x00, 0x01, 0x44],
"Aviom Inc." => [0x00, 0x01, 0x45],
"Mixmeister Technology" => [0x00, 0x01, 0x46],
"Notation Software" => [0x00, 0x01, 0x47],
"Mercurial Communications" => [0x00, 0x01, 0x48],
"Wave Arts" => [0x00, 0x01, 0x49],
"Logic Sequencing Devices" => [0x00, 0x01, 0x4A],
"Axess Electronics" => [0x00, 0x01, 0x4B],
"Muse Research" => [0x00, 0x01, 0x4C],
"Open Labs" => [0x00, 0x01, 0x4D],
"Guillemot R&D Inc" => [0x00, 0x01, 0x4E],
"Samson Technologies" => [0x00, 0x01, 0x4F],
"Electronic Theatre Controls" => [0x00, 0x01, 0x50],
"Research in Motion" => [0x00, 0x01, 0x51],
"Mobileer" => [0x00, 0x01, 0x52],
"Synthogy" => [0x00, 0x01, 0x53],
"Lynx Studio Technology Inc." => [0x00, 0x01, 0x54],
"Damage Control Engineering LLC" => [0x00, 0x01, 0x55],
"Yost Engineering, Inc." => [0x00, 0x01, 0x56],
"Brooks & Forsman Designs LLC / DrumLite" => [0x00, 0x01, 0x57],
"Infinite Response" => [0x00, 0x01, 0x58],
"Garritan Corp" => [0x00, 0x01, 0x59],
"Plogue Art et Technologie, Inc" => [0x00, 0x01, 0x5A],
"RJM Music Technology" => [0x00, 0x01, 0x5B],
"Custom Solutions Software" => [0x00, 0x01, 0x5C],
"Sonarcana LLC" => [0x00, 0x01, 0x5D],
"Centrance" => [0x00, 0x01, 0x5E],
"Kesumo LLC" => [0x00, 0x01, 0x5F],
"Stanton" => [0x00, 0x01, 0x60],
"Livid Instruments" => [0x00, 0x01, 0x61],
"First Act / 745 Media" => [0x00, 0x01, 0x62],
"Pygraphics, Inc." => [0x00, 0x01, 0x63],
"Panadigm Innovations Ltd" => [0x00, 0x01, 0x64],
"Avedis Zildjian Co" => [0x00, 0x01, 0x65],
"Auvital Music Corp" => [0x00, 0x01, 0x66],
"Inspired Instruments Inc" => [0x00, 0x01, 0x67],
"Chris Grigg Designs" => [0x00, 0x01, 0x68],
"Slate Digital LLC" => [0x00, 0x01, 0x69],
"American Audio/DJ" => [0x00, 0x01, 0x70],
"Mega Control Systems" => [0x00, 0x01, 0x71],
"Kilpatrick Audio" => [0x00, 0x01, 0x72],
"iConnectivity" => [0x00, 0x01, 0x73],
"Fractal Audio" => [0x00, 0x01, 0x74],
"NetLogic Microsystems" => [0x00, 0x01, 0x75],
"Music Computing" => [0x00, 0x01, 0x76],
"Nektar Technology Inc" => [0x00, 0x01, 0x77],
"Zenph Sound Innovations" => [0x00, 0x01, 0x78],
"Novation Digital Music System" => [0x00, 0x20, 0x29],
"Samkyung Mechatronics" => [0x00, 0x20, 0x2A],
"Medeli Electronics Co." => [0x00, 0x20, 0x2B],
"Charlie Lab SRL" => [0x00, 0x20, 0x2C],
"Blue Chip Music Technology" => [0x00, 0x20, 0x2D],
"BEE OH Corp" => [0x00, 0x20, 0x2E],
"LG Semicon America" => [0x00, 0x20, 0x2F],
"TESI" => [0x00, 0x20, 0x30],
"EMAGIC" => [0x00, 0x20, 0x31],
"Behringer GmbH" => [0x00, 0x20, 0x32],
"Access Music Electronics" => [0x00, 0x20, 0x33],
"Synoptic" => [0x00, 0x20, 0x34],
"Hanmesoft" => [0x00, 0x20, 0x35],
"Terratec Electronic GmbH" => [0x00, 0x20, 0x36],
"Proel SpA" => [0x00, 0x20, 0x37],
"IBK MIDI" => [0x00, 0x20, 0x38],
"IRCAM" => [0x00, 0x20, 0x39],
"Propellerhead Software" => [0x00, 0x20, 0x3A],
"Red Sound Systems Ltd" => [0x00, 0x20, 0x3B],
"Elektron ESI AB" => [0x00, 0x20, 0x3C],
"Sintefex Audio" => [0x00, 0x20, 0x3D],
"MAM (Music and More)" => [0x00, 0x20, 0x3E],
"Amsaro GmbH" => [0x00, 0x20, 0x3F],
"CDS Advanced Technology BV" => [0x00, 0x20, 0x40],
"Touched By Sound GmbH" => [0x00, 0x20, 0x41],
"DSP Arts" => [0x00, 0x20, 0x42],
"Phil Rees Music Tech" => [0x00, 0x20, 0x43],
"Stamer Muiskanlagen GmbH" => [0x00, 0x20, 0x44],
"Musical Muntaner S.A. dba Soundart" => [0x00, 0x20, 0x45],
"C-Mexx Software" => [0x00, 0x20, 0x46],
"Klavis Technologies" => [0x00, 0x20, 0x47],
"Noteheads AB" => [0x00, 0x20, 0x48],
"Algorithmix" => [0x00, 0x20, 0x49],
"Skrydstrup R&D" => [0x00, 0x20, 0x4A],
"Professional Audio Company" => [0x00, 0x20, 0x4B],
"NewWave Labs (MadWaves)" => [0x00, 0x20, 0x4C],
"Vermona" => [0x00, 0x20, 0x4D],
"Nokia" => [0x00, 0x20, 0x4E],
"Wave Idea" => [0x00, 0x20, 0x4F],
"Hartmann GmbH" => [0x00, 0x20, 0x50],
"Lion's Tracs" => [0x00, 0x20, 0x51],
"Analogue Systems" => [0x00, 0x20, 0x52],
"Focal-JMlab" => [0x00, 0x20, 0x53],
"Ringway Electronics (Chang-Zhou) Co Ltd" => [0x00, 0x20, 0x54],
"Faith Technologies (Digiplug)" => [0x00, 0x20, 0x55],
"Showworks" => [0x00, 0x20, 0x56],
"Manikin Electronic" => [0x00, 0x20, 0x57],
"1 Come Tech" => [0x00, 0x20, 0x58],
"Phonic Corp" => [0x00, 0x20, 0x59],
"Dolby Australia (Lake)" => [0x00, 0x20, 0x5A],
"Silansys Technologies" => [0x00, 0x20, 0x5B],
"Winbond Electronics" => [0x00, 0x20, 0x5C],
"Cinetix Medien und Interface GmbH" => [0x00, 0x20, 0x5D],
"A&G Soluzioni Digitali" => [0x00, 0x20, 0x5E],
"Sequentix Music Systems" => [0x00, 0x20, 0x5F],
"Oram Pro Audio" => [0x00, 0x20, 0x60],
"Be4 Ltd" => [0x00, 0x20, 0x61],
"Infection Music" => [0x00, 0x20, 0x62],
"Central Music Co. (CME)" => [0x00, 0x20, 0x63],
"genoQs Machines GmbH" => [0x00, 0x20, 0x64],
"Medialon" => [0x00, 0x20, 0x65],
"Waves Audio Ltd" => [0x00, 0x20, 0x66],
"Jerash Labs" => [0x00, 0x20, 0x67],
"Da Fact" => [0x00, 0x20, 0x68],
"Elby Designs" => [0x00, 0x20, 0x69],
"Spectral Audio" => [0x00, 0x20, 0x6A],
"Arturia" => [0x00, 0x20, 0x6B],
"Vixid" => [0x00, 0x20, 0x6C],
"C-Thru Music" => [0x00, 0x20, 0x6D],
"Ya Horng Electronic Co LTD" => [0x00, 0x20, 0x6E],
"SM Pro Audio" => [0x00, 0x20, 0x6F],
"OTO MACHINES" => [0x00, 0x20, 0x70],
"ELZAB S.A., G LAB" => [0x00, 0x20, 0x71],
"Blackstar Amplification Ltd" => [0x00, 0x20, 0x72],
"M3i Technologies GmbH" => [0x00, 0x20, 0x73],
"Xiring" => [0x00, 0x20, 0x74],
"Prostage SL" => [0x00, 0x20, 0x75],
"Teenage Engineering" => [0x00, 0x20, 0x76],
"Tobias Erichsen" => [0x00, 0x20, 0x77],
"Nixer Ltd" => [0x00, 0x20, 0x78],
"Hanpin Electron Co Ltd" => [0x00, 0x20, 0x79],
"MIDI-hardware R.Sowa" => [0x00, 0x20, 0x7A],
"Beyond Music Industrial Ltd" => [0x00, 0x20, 0x7B],
"Kiss Box B.V." => [0x00, 0x20, 0x7C],
"Misa Digital Technologies Ltd" => [0x00, 0x20, 0x7D],
"AI Musics Technology Inc" => [0x00, 0x20, 0x7E],
"Kawai Musical Instruments MFG. CO. Ltd" => [0x40],
"Roland Corporation" => [0x41],
"Korg Inc." => [0x42],
"Yamaha Corporation" => [0x43],
"Casio Computer Co. Ltd" => [0x44],
"Kamiya Studio Co. Ltd" => [0x46],
"Akai Electric Co. Ltd." => [0x47],
"Victor Company of Japan, Ltd." => [0x48],
"Fujitsu Limited" => [0x4B],
"Sony Corporation" => [0x4C],
"Teac Corporation" => [0x4E],
"Matsushita Electric Industrial Co. , Ltd" => [0x50],
"Fostex Corporation" => [0x51],
"Zoom Corporation" => [0x52],
"Matsushita Communication Industrial Co., Ltd." => [0x54],
"Suzuki Musical Instruments MFG. Co., Ltd." => [0x55],
"Fuji Sound Corporation Ltd." => [0x56],
"Acoustic Technical Laboratory, Inc." => [0x57],
"Faith, Inc." => [0x59],
"Internet Corporation" => [0x5A],
"Seekers Co. Ltd." => [0x5C],
"SD Card Association" => [0x5F],
"Crimson Technology Inc." => [0x00, 0x40, 0x00],
"Softbank Mobile Corp" => [0x00, 0x40, 0x01],
"D&M Holdings Inc." => [0x00, 0x40, 0x03]
}
end
user system total real
load YAML
doc["manufacturers"]["Roland"] 65
0.093000 0.156000 0.249000 ( 0.241016)
load Consts
MIDI::CC_FOOT_CONTROLLER: 4
0.000000 0.000000 0.000000 ( 0.003001)
load Manufacturers
Roland Corporation: [65]
0.000000 0.000000 0.000000 ( 0.004000)
[Finished]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment