diff --git a/code/modules/instruments/instrument_data/_instrument_data.dm b/code/modules/instruments/instrument_data/_instrument_data.dm new file mode 100644 index 00000000000..aa827d627c9 --- /dev/null +++ b/code/modules/instruments/instrument_data/_instrument_data.dm @@ -0,0 +1,107 @@ +/proc/path_to_instrument_ids(path) + if(!ispath(path)) + path = text2path(path) + if(!ispath(path)) + return + if(!ispath(path, /datum/instrument)) + return + . = list() + for(var/i in typesof(path)) + var/datum/instrument/I = i + var/init_id = initial(I.id) + if(init_id) + . |= init_id + +/// Get all non admin_only instruments. +/proc/get_allowed_instrument_ids() + . = list() + for(var/id in SSinstruments.instrument_data) + var/datum/instrument/I = SSinstruments.instrument_data[id] + if(!I.admin_only) + . += I.id + +/datum/instrument + /// Name of the instrument + var/name = "Generic instrument" + /// Uniquely identifies this instrument so runtime changes are possible as opposed to paths. If this is unset, things will use path instead. + var/id + /// Category + var/category = "Unsorted" + /// Used for categorization subtypes + var/abstract_type = /datum/instrument + /// Write here however many samples, follow this syntax: "%note num%"='%sample file%' eg. "27"='synthesizer/e2.ogg'. Key must never be lower than 0 and higher than 127 + var/list/real_samples + /// assoc list key = /datum/instrument_key. do not fill this yourself! + var/list/samples + /// See __DEFINES/flags/instruments.dm + var/instrument_flags = NONE + /// For legacy instruments, the path to our notes + var/legacy_instrument_path + /// For legacy instruments, our file extension + var/legacy_instrument_ext + /// What songs are using us + var/list/datum/song/songs_using = list() + /// Don't touch this + var/static/HIGHEST_KEY = 127 + /// Don't touch this x2 + var/static/LOWEST_KEY = 0 + /// Oh no - For truly troll instruments. + var/admin_only = FALSE + /// Volume multiplier. Synthesized instruments are quite loud and I don't like to cut off potential detail via editing. (someone correct me if this isn't a thing) + var/volume_multiplier = 1/3 + +/datum/instrument/New() + if(isnull(id)) + id = "[type]" + +/datum/instrument/proc/Initialize() + if(CHECK_BITFIELD(instrument_flags, INSTRUMENT_LEGACY | INSTRUMENT_DO_NOT_AUTOSAMPLE)) + return + calculate_samples() + +/datum/instrument/proc/ready() + if(CHECK_BITFIELD(instrument_flags, INSTRUMENT_LEGACY)) + return legacy_instrument_path && legacy_instrument_ext + else if(CHECK_BITFIELD(instrument_flags, INSTRUMENT_DO_NOT_AUTOSAMPLE)) + return length(samples) + return (length(samples) >= 128) + +/datum/instrument/Destroy() + SSinstruments.instrument_data -= id + for(var/i in songs_using) + var/datum/song/S = i + S.set_instrument(null) + real_samples = null + samples = null + songs_using = null + return ..() + +/datum/instrument/proc/calculate_samples() + if(!length(real_samples)) + CRASH("No real samples defined for [id] [type] on calculate_samples() call.") + var/list/real_keys = list() + samples = list() + for(var/key in real_samples) + real_keys += text2num(key) + sortTim(real_keys, /proc/cmp_numeric_asc, associative = FALSE) + + for(var/i in 1 to (length(real_keys) - 1)) + var/from_key = real_keys[i] + var/to_key = real_keys[i+1] + var/sample1 = real_samples[num2text(from_key)] + var/sample2 = real_samples[num2text(to_key)] + var/pivot = FLOOR((from_key + to_key) / 2, 1) //original code was a round but I replaced it because that's effectively a floor, thanks Baystation! who knows what was intended. + for(var/key in from_key to pivot) + samples[num2text(key)] = new /datum/instrument_key(sample1, key, key - from_key) + for(var/key in (pivot + 1) to to_key) + samples[num2text(key)] = new /datum/instrument_key(sample2, key, key - to_key) + + // Fill in 0 to first key and last key to 127 + var/first_key = real_keys[1] + var/last_key = real_keys[length(real_keys)] + var/first_sample = real_samples[num2text(first_key)] + var/last_sample = real_samples[num2text(last_key)] + for(var/key in LOWEST_KEY to (first_key - 1)) + samples[num2text(key)] = new /datum/instrument_key(first_sample, key, key - first_key) + for(var/key in last_key to HIGHEST_KEY) + samples[num2text(key)] = new /datum/instrument_key(last_sample, key, key - last_key) diff --git a/code/modules/instruments/instrument_data/_instrument_key.dm b/code/modules/instruments/instrument_data/_instrument_key.dm new file mode 100644 index 00000000000..570b8e18811 --- /dev/null +++ b/code/modules/instruments/instrument_data/_instrument_key.dm @@ -0,0 +1,20 @@ +/datum/instrument_key + var/key //1 to 127 + var/sample //file + var/frequency //frequency generated + var/deviation //deviation up/down towards pivot from sample (??) + +/datum/instrument_key/New(sample = src.sample, key = src.key, deviation = src.deviation, frequency = src.frequency) + src.sample = sample + src.key = key + src.deviation = deviation + src.frequency = frequency + if(!frequency && deviation) + calculate() + +/datum/instrument_key/proc/calculate() + if(!deviation) + CRASH("Invalid calculate call: No deviation or sample in instrument_key") + #define KEY_TWELTH (1/12) + frequency = 2 ** (KEY_TWELTH * deviation) + #undef KEY_TWELTH diff --git a/code/modules/instruments/instrument_data/brass.dm b/code/modules/instruments/instrument_data/brass.dm new file mode 100644 index 00000000000..2733805ab87 --- /dev/null +++ b/code/modules/instruments/instrument_data/brass.dm @@ -0,0 +1,26 @@ +/datum/instrument/brass + name = "Generic brass instrument" + category = "Brass" + abstract_type = /datum/instrument/brass + +/datum/instrument/brass/crisis_section + name = "Crisis Brass Section" + id = "crbrass" + real_samples = list("36"='sound/instruments/synthesis_samples/brass/crisis_brass/c2.ogg', + "48"='sound/instruments/synthesis_samples/brass/crisis_brass/c3.ogg', + "60"='sound/instruments/synthesis_samples/brass/crisis_brass/c4.ogg', + "72"='sound/instruments/synthesis_samples/brass/crisis_brass/c5.ogg') + +/datum/instrument/brass/crisis_trombone + name = "Crisis Trombone" + id = "crtrombone" + real_samples = list("36"='sound/instruments/synthesis_samples/brass/crisis_trombone/c2.ogg', + "48"='sound/instruments/synthesis_samples/brass/crisis_trombone/c3.ogg', + "60"='sound/instruments/synthesis_samples/brass/crisis_trombone/c4.ogg', + "72"='sound/instruments/synthesis_samples/brass/crisis_trombone/c5.ogg') + +/datum/instrument/brass/crisis_trumpet + name = "Crisis Trumpet" + id = "crtrumpet" + real_samples = list("60"='sound/instruments/synthesis_samples/brass/crisis_trumpet/c4.ogg', + "72"='sound/instruments/synthesis_samples/brass/crisis_trumpet/c5.ogg') diff --git a/code/modules/instruments/instrument_data/chromatic_percussion.dm b/code/modules/instruments/instrument_data/chromatic_percussion.dm new file mode 100644 index 00000000000..32590e5c54f --- /dev/null +++ b/code/modules/instruments/instrument_data/chromatic_percussion.dm @@ -0,0 +1,31 @@ +/datum/instrument/chromatic + name = "Generic chromatic percussion instrument" + category = "Chromatic percussion" + abstract_type = /datum/instrument/chromatic + +/datum/instrument/chromatic/vibraphone1 + name = "Crisis Vibraphone" + id = "crvibr" + real_samples = list("36"='sound/instruments/synthesis_samples/chromatic/vibraphone1/c2.ogg', + "48"='sound/instruments/synthesis_samples/chromatic/vibraphone1/c3.ogg', + "60"='sound/instruments/synthesis_samples/chromatic/vibraphone1/c4.ogg', + "72"='sound/instruments/synthesis_samples/chromatic/vibraphone1/c5.ogg') + +/datum/instrument/chromatic/musicbox1 + name = "SGM Music Box" + id = "sgmmbox" + real_samples = list("36"='sound/instruments/synthesis_samples/chromatic/sgmbox/c2.ogg', + "48"='sound/instruments/synthesis_samples/chromatic/sgmbox/c3.ogg', + "60"='sound/instruments/synthesis_samples/chromatic/sgmbox/c4.ogg', + "72"='sound/instruments/synthesis_samples/chromatic/sgmbox/c5.ogg') + +/datum/instrument/chromatic/fluid_celeste + name = "FluidR3 Celeste" + id = "r3celeste" + real_samples = list("36"='sound/instruments/synthesis_samples/chromatic/fluid_celeste/c2.ogg', + "48"='sound/instruments/synthesis_samples/chromatic/fluid_celeste/c3.ogg', + "60"='sound/instruments/synthesis_samples/chromatic/fluid_celeste/c4.ogg', + "72"='sound/instruments/synthesis_samples/chromatic/fluid_celeste/c5.ogg', + "84"='sound/instruments/synthesis_samples/chromatic/fluid_celeste/c6.ogg', + "96"='sound/instruments/synthesis_samples/chromatic/fluid_celeste/c7.ogg', + "108"='sound/instruments/synthesis_samples/chromatic/fluid_celeste/c8.ogg') diff --git a/code/modules/instruments/instrument_data/fun.dm b/code/modules/instruments/instrument_data/fun.dm new file mode 100644 index 00000000000..5bb4663f354 --- /dev/null +++ b/code/modules/instruments/instrument_data/fun.dm @@ -0,0 +1,25 @@ +/datum/instrument/fun + name = "Generic Fun Instrument" + category = "Fun" + abstract_type = /datum/instrument/fun + +/datum/instrument/fun/honk + name = "!!HONK!!" + id = "honk" + real_samples = list("74"='sound/items/bikehorn.ogg') // Cluwne Heaven + +/datum/instrument/fun/signal + name = "Ping" + id = "ping" + real_samples = list("79"='sound/machines/ping.ogg') + +/datum/instrument/fun/chime + name = "Chime" + id = "chime" + real_samples = list("79"='sound/machines/chime.ogg') + +/datum/instrument/fun/nya + name = "NYA NYA NYA" + id = "nyanyanya" + real_samples = list("79" = 'modular_citadel/sound/voice/nya.ogg') + admin_only = TRUE diff --git a/code/modules/instruments/instrument_data/guitar.dm b/code/modules/instruments/instrument_data/guitar.dm new file mode 100644 index 00000000000..e36fce97494 --- /dev/null +++ b/code/modules/instruments/instrument_data/guitar.dm @@ -0,0 +1,36 @@ +/datum/instrument/guitar + name = "Generic guitar-like instrument" + category = "Guitar" + abstract_type = /datum/instrument/guitar + +/datum/instrument/guitar/steel_crisis + name = "Crisis Steel String Guitar" + id = "csteelgt" + real_samples = list("36"='sound/instruments/synthesis_samples/guitar/crisis_steel/c2.ogg', + "48"='sound/instruments/synthesis_samples/guitar/crisis_steel/c3.ogg', + "60"='sound/instruments/synthesis_samples/guitar/crisis_steel/c4.ogg', + "72"='sound/instruments/synthesis_samples/guitar/crisis_steel/c5.ogg') + +/datum/instrument/guitar/nylon_crisis + name = "Crisis Nylon String Guitar" + id = "cnylongt" + real_samples = list("36"='sound/instruments/synthesis_samples/guitar/crisis_nylon/c2.ogg', + "48"='sound/instruments/synthesis_samples/guitar/crisis_nylon/c3.ogg', + "60"='sound/instruments/synthesis_samples/guitar/crisis_nylon/c4.ogg', + "72"='sound/instruments/synthesis_samples/guitar/crisis_nylon/c5.ogg') + +/datum/instrument/guitar/clean_crisis + name = "Crisis Clean Guitar" + id = "ccleangt" + real_samples = list("36"='sound/instruments/synthesis_samples/guitar/crisis_clean/c2.ogg', + "48"='sound/instruments/synthesis_samples/guitar/crisis_clean/c3.ogg', + "60"='sound/instruments/synthesis_samples/guitar/crisis_clean/c4.ogg', + "72"='sound/instruments/synthesis_samples/guitar/crisis_clean/c5.ogg') + +/datum/instrument/guitar/muted_crisis + name = "Crisis Muted Guitar" + id = "cmutedgt" + real_samples = list("36"='sound/instruments/synthesis_samples/guitar/crisis_muted/c2.ogg', + "48"='sound/instruments/synthesis_samples/guitar/crisis_muted/c3.ogg', + "60"='sound/instruments/synthesis_samples/guitar/crisis_muted/c4.ogg', + "72"='sound/instruments/synthesis_samples/guitar/crisis_muted/c5.ogg') diff --git a/code/modules/instruments/instrument_data/hardcoded.dm b/code/modules/instruments/instrument_data/hardcoded.dm new file mode 100644 index 00000000000..33639d3ca9a --- /dev/null +++ b/code/modules/instruments/instrument_data/hardcoded.dm @@ -0,0 +1,86 @@ +//THESE ARE HARDCODED INSTRUMENT SAMPLES. +//SONGS WILL BE AUTOMATICALLY SWITCHED TO LEGACY MODE IF THEY USE THIS KIND OF INSTRUMENT! +//I'd prefer these stayed. They sound different from the mechanical synthesis of synthed instruments, and I quite like them that way. It's not legacy, it's hardcoded, old style. - kevinz000 +/datum/instrument/hardcoded + abstract_type = /datum/instrument/hardcoded + category = "Non-Synthesized" + instrument_flags = INSTRUMENT_LEGACY + volume_multiplier = 1 //not as loud as synth'd + +/datum/instrument/hardcoded/accordian + name = "Accordian" + id = "accordian" + legacy_instrument_ext = "mid" + legacy_instrument_path = "accordian" + +/datum/instrument/hardcoded/bikehorn + name = "Bike Horn" + id = "bikehorn" + legacy_instrument_ext = "ogg" + legacy_instrument_path = "bikehorn" + +/datum/instrument/hardcoded/eguitar + name = "Electric Guitar" + id = "eguitar" + legacy_instrument_ext = "ogg" + legacy_instrument_path = "eguitar" + +/datum/instrument/hardcoded/glockenspiel + name = "Glockenspiel" + id = "glockenspiel" + legacy_instrument_ext = "mid" + legacy_instrument_path = "glockenspiel" + +/datum/instrument/hardcoded/guitar + name = "Guitar" + id = "guitar" + legacy_instrument_ext = "ogg" + legacy_instrument_path = "guitar" + +/datum/instrument/hardcoded/harmonica + name = "Harmonica" + id = "harmonica" + legacy_instrument_ext = "mid" + legacy_instrument_path = "harmonica" + +/datum/instrument/hardcoded/piano + name = "Piano" + id = "piano" + legacy_instrument_ext = "ogg" + legacy_instrument_path = "piano" + +/datum/instrument/hardcoded/recorder + name = "Recorder" + id = "recorder" + legacy_instrument_ext = "mid" + legacy_instrument_path = "recorder" + +/datum/instrument/hardcoded/saxophone + name = "Saxophone" + id = "saxophone" + legacy_instrument_ext = "mid" + legacy_instrument_path = "saxophone" + +/datum/instrument/hardcoded/trombone + name = "Trombone" + id = "trombone" + legacy_instrument_ext = "mid" + legacy_instrument_path = "trombone" + +/datum/instrument/hardcoded/violin + name = "Violin" + id = "violin" + legacy_instrument_ext = "mid" + legacy_instrument_path = "violin" + +/datum/instrument/hardcoded/xylophone + name = "Xylophone" + id = "xylophone" + legacy_instrument_ext = "mid" + legacy_instrument_path = "xylophone" + +/datum/instrument/hardcoded/banjo + name = "Banjo" + id = "banjo" + legacy_instrument_ext = "ogg" + legacy_instrument_path = "banjo" diff --git a/code/modules/instruments/instrument_data/organ.dm b/code/modules/instruments/instrument_data/organ.dm new file mode 100644 index 00000000000..75fcd1727b5 --- /dev/null +++ b/code/modules/instruments/instrument_data/organ.dm @@ -0,0 +1,43 @@ +/datum/instrument/organ + name = "Generic organ" + category = "Organ" + abstract_type = /datum/instrument/organ + +/datum/instrument/organ/crisis_church + name = "Crisis Church Organ" + id = "crichugan" + real_samples = list("36"='sound/instruments/synthesis_samples/organ/crisis_church/c2.ogg', + "48"='sound/instruments/synthesis_samples/organ/crisis_church/c3.ogg', + "60"='sound/instruments/synthesis_samples/organ/crisis_church/c4.ogg', + "72"='sound/instruments/synthesis_samples/organ/crisis_church/c5.ogg') + +/datum/instrument/organ/crisis_hammond + name = "Crisis Hammond Organ" + id = "crihamgan" + real_samples = list("36"='sound/instruments/synthesis_samples/organ/crisis_hammond/c2.ogg', + "48"='sound/instruments/synthesis_samples/organ/crisis_hammond/c3.ogg', + "60"='sound/instruments/synthesis_samples/organ/crisis_hammond/c4.ogg', + "72"='sound/instruments/synthesis_samples/organ/crisis_hammond/c5.ogg') + +/datum/instrument/organ/crisis_accordian + name = "Crisis Accordian" + id = "crack" + real_samples = list("36"='sound/instruments/synthesis_samples/organ/crisis_accordian/c2.ogg', + "48"='sound/instruments/synthesis_samples/organ/crisis_accordian/c3.ogg', + "60"='sound/instruments/synthesis_samples/organ/crisis_accordian/c4.ogg', + "72"='sound/instruments/synthesis_samples/organ/crisis_accordian/c5.ogg') + +/datum/instrument/organ/crisis_harmonica + name = "Crisis Harmonica" + id = "crharmony" + real_samples = list("48"='sound/instruments/synthesis_samples/organ/crisis_harmonica/c3.ogg', + "60"='sound/instruments/synthesis_samples/organ/crisis_harmonica/c4.ogg', + "72"='sound/instruments/synthesis_samples/organ/crisis_harmonica/c5.ogg') + +/datum/instrument/organ/crisis_tango_accordian + name = "Crisis Tango Accordian" + id = "crtango" + real_samples = list("36"='sound/instruments/synthesis_samples/organ/crisis_tangaccordian/c2.ogg', + "48"='sound/instruments/synthesis_samples/organ/crisis_tangaccordian/c3.ogg', + "60"='sound/instruments/synthesis_samples/organ/crisis_tangaccordian/c4.ogg', + "72"='sound/instruments/synthesis_samples/organ/crisis_tangaccordian/c5.ogg') diff --git a/code/modules/instruments/instrument_data/piano.dm b/code/modules/instruments/instrument_data/piano.dm new file mode 100644 index 00000000000..e5058058fb3 --- /dev/null +++ b/code/modules/instruments/instrument_data/piano.dm @@ -0,0 +1,56 @@ +/datum/instrument/piano + name = "Generic piano" + category = "Piano" + abstract_type = /datum/instrument/piano + +/datum/instrument/piano/fluid_piano + name = "FluidR3 Grand Piano" + id = "r3grand" + real_samples = list("36"='sound/instruments/synthesis_samples/piano/fluid_piano/c2.ogg', + "48"='sound/instruments/synthesis_samples/piano/fluid_piano/c3.ogg', + "60"='sound/instruments/synthesis_samples/piano/fluid_piano/c4.ogg', + "72"='sound/instruments/synthesis_samples/piano/fluid_piano/c5.ogg', + "84"='sound/instruments/synthesis_samples/piano/fluid_piano/c6.ogg', + "96"='sound/instruments/synthesis_samples/piano/fluid_piano/c7.ogg', + "108"='sound/instruments/synthesis_samples/piano/fluid_piano/c8.ogg') + +/datum/instrument/piano/fluid_harpsichord + name = "FluidR3 Harpsichord" + id = "r3harpsi" + real_samples = list("36"='sound/instruments/synthesis_samples/piano/fluid_harpsi/c2.ogg', + "48"='sound/instruments/synthesis_samples/piano/fluid_harpsi/c3.ogg', + "60"='sound/instruments/synthesis_samples/piano/fluid_harpsi/c4.ogg', + "72"='sound/instruments/synthesis_samples/piano/fluid_harpsi/c5.ogg', + "84"='sound/instruments/synthesis_samples/piano/fluid_harpsi/c6.ogg', + "96"='sound/instruments/synthesis_samples/piano/fluid_harpsi/c7.ogg', + "108"='sound/instruments/synthesis_samples/piano/fluid_harpsi/c8.ogg') + +/datum/instrument/piano/crisis_harpsichord + name = "Crisis Harpsichord" + id = "crharpsi" + real_samples = list("36"='sound/instruments/synthesis_samples/piano/crisis_harpsichord/c2.ogg', + "48"='sound/instruments/synthesis_samples/piano/crisis_harpsichord/c3.ogg', + "60"='sound/instruments/synthesis_samples/piano/crisis_harpsichord/c4.ogg', + "72"='sound/instruments/synthesis_samples/piano/crisis_harpsichord/c5.ogg') + +/datum/instrument/piano/crisis_grandpiano_uni + name = "Crisis Grand Piano One" + id = "crgrand1" + real_samples = list("36"='sound/instruments/synthesis_samples/piano/crisis_grand_piano/c2.ogg', + "48"='sound/instruments/synthesis_samples/piano/crisis_grand_piano/c3.ogg', + "60"='sound/instruments/synthesis_samples/piano/crisis_grand_piano/c4.ogg', + "72"='sound/instruments/synthesis_samples/piano/crisis_grand_piano/c5.ogg', + "84"='sound/instruments/synthesis_samples/piano/crisis_grand_piano/c6.ogg', + "96"='sound/instruments/synthesis_samples/piano/crisis_grand_piano/c7.ogg', + "108"='sound/instruments/synthesis_samples/piano/crisis_grand_piano/c8.ogg') + +/datum/instrument/piano/crisis_brightpiano_uni + name = "Crisis Bright Piano One" + id = "crbright1" + real_samples = list("36"='sound/instruments/synthesis_samples/piano/crisis_bright_piano/c2.ogg', + "48"='sound/instruments/synthesis_samples/piano/crisis_bright_piano/c3.ogg', + "60"='sound/instruments/synthesis_samples/piano/crisis_bright_piano/c4.ogg', + "72"='sound/instruments/synthesis_samples/piano/crisis_bright_piano/c5.ogg', + "84"='sound/instruments/synthesis_samples/piano/crisis_bright_piano/c6.ogg', + "96"='sound/instruments/synthesis_samples/piano/crisis_bright_piano/c7.ogg', + "108"='sound/instruments/synthesis_samples/piano/crisis_bright_piano/c8.ogg') diff --git a/code/modules/instruments/instrument_data/synth_tones.dm b/code/modules/instruments/instrument_data/synth_tones.dm new file mode 100644 index 00000000000..cfdf7f0df2f --- /dev/null +++ b/code/modules/instruments/instrument_data/synth_tones.dm @@ -0,0 +1,19 @@ +/datum/instrument/tones + name = "Ideal tone" + category = "Tones" + abstract_type = /datum/instrument/tones + +/datum/instrument/tones/square_wave + name = "Ideal square wave" + id = "square" + real_samples = list("81"='sound/instruments/synthesis_samples/tones/Square.ogg') + +/datum/instrument/tones/sine_wave + name = "Ideal sine wave" + id = "sine" + real_samples = list("81"='sound/instruments/synthesis_samples/tones/Sine.ogg') + +/datum/instrument/tones/saw_wave + name = "Ideal sawtooth wave" + id = "saw" + real_samples = list("81"='sound/instruments/synthesis_samples/tones/Sawtooth.ogg') diff --git a/code/modules/instruments/instruments/item.dm b/code/modules/instruments/instruments/item.dm new file mode 100644 index 00000000000..a453c6c530a --- /dev/null +++ b/code/modules/instruments/instruments/item.dm @@ -0,0 +1,298 @@ +//copy pasta of the space piano, don't hurt me -Pete +/obj/item/instrument + name = "generic instrument" + force = 10 + max_integrity = 100 + resistance_flags = FLAMMABLE + icon = 'icons/obj/musician.dmi' + lefthand_file = 'icons/mob/inhands/equipment/instruments_lefthand.dmi' + righthand_file = 'icons/mob/inhands/equipment/instruments_righthand.dmi' + var/datum/song/handheld/song + var/list/allowed_instrument_ids + var/tune_time_left = 0 + +/obj/item/instrument/Initialize(mapload) + . = ..() + song = new(src, allowed_instrument_ids) + allowed_instrument_ids = null //We don't need this clogging memory after it's used. + +/obj/item/instrument/Destroy() + QDEL_NULL(song) + if(tune_time_left) + STOP_PROCESSING(SSprocessing, src) + return ..() + +/obj/item/instrument/proc/should_stop_playing(mob/user) + return !user.CanReach(src) || !user.canUseTopic(src, FALSE, TRUE, FALSE, FALSE) + +/obj/item/instrument/process(wait) + if(is_tuned()) + if (song.playing) + for (var/mob/living/M in song.hearing_mobs) + M.dizziness = max(0,M.dizziness-2) + M.jitteriness = max(0,M.jitteriness-2) + M.confused = max(M.confused-1) + SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "goodmusic", /datum/mood_event/goodmusic) + tune_time_left -= wait + else + tune_time_left = 0 + if (song.playing) + loc.visible_message("[src] starts sounding a little off...") + STOP_PROCESSING(SSprocessing, src) + +/obj/item/instrument/suicide_act(mob/user) + user.visible_message("[user] begins to play 'Gloomy Sunday'! It looks like [user.p_theyre()] trying to commit suicide!") + return (BRUTELOSS) + +/obj/item/instrument/attack_self(mob/user) + if(!user.IsAdvancedToolUser()) + to_chat(user, "You don't have the dexterity to do this!") + return TRUE + interact(user) + +/obj/item/instrument/attackby(obj/item/W, mob/user, params) + if(istype(W, /obj/item/musicaltuner)) + var/mob/living/carbon/human/H = user + if (HAS_TRAIT(H, TRAIT_MUSICIAN)) + if (!is_tuned()) + H.visible_message("[H] tunes the [src] to perfection!", "You tune the [src] to perfection!") + tune_time_left = 600 SECONDS + START_PROCESSING(SSprocessing, src) + else + to_chat(H, "[src] is already well tuned!") + else + to_chat(H, "You have no idea how to use this.") + +/obj/item/instrument/proc/is_tuned() + return tune_time_left > 0 + +/obj/item/instrument/interact(mob/user) + ui_interact(user) + +/obj/item/instrument/ui_interact(mob/living/user) + if(!isliving(user) || user.stat || user.restrained()) + return + + user.set_machine(src) + song.ui_interact(user) + +/obj/item/instrument/violin + name = "space violin" + desc = "A wooden musical instrument with four strings and a bow. \"The devil went down to space, he was looking for an assistant to grief.\"" + icon_state = "violin" + item_state = "violin" + hitsound = "swing_hit" + allowed_instrument_ids = "violin" + +/obj/item/instrument/violin/golden + name = "golden violin" + desc = "A golden musical instrument with four strings and a bow. \"The devil went down to space, he was looking for an assistant to grief.\"" + icon_state = "golden_violin" + item_state = "golden_violin" + resistance_flags = LAVA_PROOF | FIRE_PROOF | ACID_PROOF + +/obj/item/instrument/piano_synth + name = "synthesizer" + desc = "An advanced electronic synthesizer that can be used as various instruments." + icon_state = "synth" + item_state = "synth" + allowed_instrument_ids = "piano" + +/obj/item/instrument/piano_synth/Initialize() + . = ..() + song.allowed_instrument_ids = get_allowed_instrument_ids() + +/obj/item/instrument/guitar + name = "guitar" + desc = "It's made of wood and has bronze strings." + icon_state = "guitar" + item_state = "guitar" + attack_verb = list("played metal on", "serenaded", "crashed", "smashed") + hitsound = 'sound/weapons/stringsmash.ogg' + allowed_instrument_ids = "guitar" + +/obj/item/instrument/eguitar + name = "electric guitar" + desc = "Makes all your shredding needs possible." + icon_state = "eguitar" + item_state = "eguitar" + force = 12 + attack_verb = list("played metal on", "shredded", "crashed", "smashed") + hitsound = 'sound/weapons/stringsmash.ogg' + allowed_instrument_ids = "eguitar" + +/obj/item/instrument/glockenspiel + name = "glockenspiel" + desc = "Smooth metal bars perfect for any marching band." + icon_state = "glockenspiel" + item_state = "glockenspiel" + allowed_instrument_ids = "glockenspiel" + +/obj/item/instrument/accordion + name = "accordion" + desc = "Pun-Pun not included." + icon_state = "accordion" + item_state = "accordion" + allowed_instrument_ids = "accordion" + +/obj/item/instrument/trumpet + name = "trumpet" + desc = "To announce the arrival of the king!" + icon_state = "trumpet" + item_state = "trombone" + allowed_instrument_ids = "trombone" + +/obj/item/instrument/trumpet/spectral + name = "spectral trumpet" + desc = "Things are about to get spooky!" + icon_state = "trumpet" + item_state = "trombone" + force = 0 + attack_verb = list("played","jazzed","trumpeted","mourned","dooted","spooked") + +/obj/item/instrument/trumpet/spectral/Initialize() + . = ..() + AddComponent(/datum/component/spooky) + +/obj/item/instrument/trumpet/spectral/attack(mob/living/carbon/C, mob/user) + playsound (loc, 'sound/instruments/trombone/En4.mid', 100,1,-1) + ..() + +/obj/item/instrument/saxophone + name = "saxophone" + desc = "This soothing sound will be sure to leave your audience in tears." + icon_state = "saxophone" + item_state = "saxophone" + allowed_instrument_ids = "saxophone" + +/obj/item/instrument/saxophone/spectral + name = "spectral saxophone" + desc = "This spooky sound will be sure to leave mortals in bones." + icon_state = "saxophone" + item_state = "saxophone" + force = 0 + attack_verb = list("played","jazzed","saxxed","mourned","dooted","spooked") + +/obj/item/instrument/saxophone/spectral/Initialize() + . = ..() + AddComponent(/datum/component/spooky) + +/obj/item/instrument/saxophone/spectral/attack(mob/living/carbon/C, mob/user) + playsound(loc, 'sound/instruments/saxophone/En4.mid', 100,1,-1) + ..() + +/obj/item/instrument/trombone + name = "trombone" + desc = "How can any pool table ever hope to compete?" + icon_state = "trombone" + item_state = "trombone" + allowed_instrument_ids = "trombone" + +/obj/item/instrument/trombone/spectral + name = "spectral trombone" + desc = "A skeleton's favorite instrument. Apply directly on the mortals." + icon_state = "trombone" + item_state = "trombone" + force = 0 + attack_verb = list("played","jazzed","tromboned","mourned","dooted","spooked") + +/obj/item/instrument/trombone/spectral/Initialize() + . = ..() + AddComponent(/datum/component/spooky) + +/obj/item/instrument/trombone/spectral/attack(mob/living/carbon/C, mob/user) + playsound (loc, 'sound/instruments/trombone/Cn4.mid', 100,1,-1) + ..() + +/obj/item/instrument/recorder + name = "recorder" + desc = "Just like in school, playing ability and all." + force = 5 + icon_state = "recorder" + item_state = "recorder" + allowed_instrument_ids = "recorder" + +/obj/item/instrument/harmonica + name = "harmonica" + desc = "For when you get a bad case of the space blues." + icon_state = "harmonica" + item_state = "harmonica" + allowed_instrument_ids = "harmonica" + slot_flags = ITEM_SLOT_MASK + force = 5 + w_class = WEIGHT_CLASS_SMALL + actions_types = list(/datum/action/item_action/instrument) + +/obj/item/instrument/harmonica/proc/handle_speech(datum/source, list/speech_args) + if(song.playing && ismob(loc)) + to_chat(loc, "You stop playing the harmonica to talk...") + song.playing = FALSE + +/obj/item/instrument/harmonica/equipped(mob/M, slot) + . = ..() + RegisterSignal(M, COMSIG_MOB_SAY, .proc/handle_speech) + +/obj/item/instrument/harmonica/dropped(mob/M) + . = ..() + UnregisterSignal(M, COMSIG_MOB_SAY) + +/obj/item/instrument/bikehorn + name = "gilded bike horn" + desc = "An exquisitely decorated bike horn, capable of honking in a variety of notes." + icon_state = "bike_horn" + item_state = "bike_horn" + lefthand_file = 'icons/mob/inhands/equipment/horns_lefthand.dmi' + righthand_file = 'icons/mob/inhands/equipment/horns_righthand.dmi' + attack_verb = list("beautifully honks") + allowed_instrument_ids = "bikehorn" + w_class = WEIGHT_CLASS_TINY + force = 0 + throw_speed = 3 + throw_range = 15 + hitsound = 'sound/items/bikehorn.ogg' + +/obj/item/instrument/banjo + name = "banjo" + desc = "A 'Mura' brand banjo. It's pretty much just a drum with a neck and strings." + icon_state = "banjo" + item_state = "banjo" + attack_verb = list("scruggs-styled", "hum-diggitied", "shin-digged", "clawhammered") + hitsound = 'sound/weapons/banjoslap.ogg' + allowed_instrument_ids = "banjo" + +/obj/item/musicaltuner + name = "musical tuner" + desc = "A device for tuning musical instruments both manual and electronic alike." + icon = 'icons/obj/device.dmi' + icon_state = "musicaltuner" + slot_flags = ITEM_SLOT_BELT + w_class = WEIGHT_CLASS_SMALL + item_state = "electronic" + lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi' + righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi' + +/obj/item/choice_beacon/music + name = "instrument delivery beacon" + desc = "Summon your tool of art." + icon_state = "gangtool-red" + +/obj/item/choice_beacon/music/generate_display_names() + var/static/list/instruments + if(!instruments) + instruments = list() + var/list/templist = list(/obj/item/instrument/violin, + /obj/item/instrument/piano_synth, + /obj/item/instrument/guitar, + /obj/item/instrument/eguitar, + /obj/item/instrument/glockenspiel, + /obj/item/instrument/accordion, + /obj/item/instrument/trumpet, + /obj/item/instrument/saxophone, + /obj/item/instrument/trombone, + /obj/item/instrument/recorder, + /obj/item/instrument/harmonica + ) + for(var/V in templist) + var/atom/A = V + instruments[initial(A.name)] = A + return instruments diff --git a/code/modules/instruments/instruments/stationary.dm b/code/modules/instruments/instruments/stationary.dm new file mode 100644 index 00000000000..8183624c0f5 --- /dev/null +++ b/code/modules/instruments/instruments/stationary.dm @@ -0,0 +1,52 @@ +/obj/structure/musician + name = "Not A Piano" + desc = "Something broke, contact coderbus." + interaction_flags_atom = INTERACT_ATOM_ATTACK_HAND | INTERACT_ATOM_UI_INTERACT | INTERACT_ATOM_REQUIRES_DEXTERITY + var/can_play_unanchored = FALSE + var/list/allowed_instrument_ids + var/datum/song/song + +/obj/structure/musician/Initialize(mapload) + . = ..() + song = new(src, allowed_instrument_ids) + allowed_instrument_ids = null + +/obj/structure/musician/Destroy() + QDEL_NULL(song) + return ..() + +/obj/structure/musician/proc/should_stop_playing(mob/user) + if(!(anchored || can_play_unanchored)) + return TRUE + if(!user) + return FALSE + return !user.canUseTopic(src, FALSE, TRUE, FALSE, FALSE) //can play with TK and while resting because fun. + +/obj/structure/musician/ui_interact(mob/user) + . = ..() + song.ui_interact(user) + +/obj/structure/musician/wrench_act(mob/living/user, obj/item/I) + default_unfasten_wrench(user, I, 40) + return TRUE + +/obj/structure/musician/piano + name = "space minimoog" + icon = 'icons/obj/musician.dmi' + icon_state = "minimoog" + anchored = TRUE + density = TRUE + +/obj/structure/musician/piano/unanchored + anchored = FALSE + +/obj/structure/musician/piano/Initialize(mapload) + . = ..() + if(prob(50) && icon_state == initial(icon_state)) + name = "space minimoog" + desc = "This is a minimoog, like a space piano, but more spacey!" + icon_state = "minimoog" + else + name = "space piano" + desc = "This is a space piano, like a regular piano, but always in tune! Even if the musician isn't." + icon_state = "piano" diff --git a/code/modules/instruments/songs/_song.dm b/code/modules/instruments/songs/_song.dm new file mode 100644 index 00000000000..4f9e1de42e7 --- /dev/null +++ b/code/modules/instruments/songs/_song.dm @@ -0,0 +1,301 @@ +#define MUSICIAN_HEARCHECK_MINDELAY 4 +#define MUSIC_MAXLINES 1000 +#define MUSIC_MAXLINECHARS 300 + +/datum/song + /// Name of the song + var/name = "Untitled" + + /// The atom we're attached to/playing from + var/atom/parent + + /// Our song lines + var/list/lines + + /// delay between notes in deciseconds + var/tempo = 5 + + /// Are we currently playing? + var/playing = FALSE + + /// Are we currently editing? + var/editing = TRUE + /// Is the help screen open? + var/help = FALSE + + /// Repeats left + var/repeat = 0 + /// Maximum times we can repeat + var/max_repeats = 10 + + /// Our volume + var/volume = 75 + /// Max volume + var/max_volume = 75 + /// Min volume - This is so someone doesn't decide it's funny to set it to 0 and play invisible songs. + var/min_volume = 1 + + /// What instruments our built in picker can use. The picker won't show unless this is longer than one. + var/list/allowed_instrument_ids = list("r3grand") + + //////////// Cached instrument variables ///////////// + /// Instrument we are currently using + var/datum/instrument/using_instrument + /// Cached legacy ext for legacy instruments + var/cached_legacy_ext + /// Cached legacy dir for legacy instruments + var/cached_legacy_dir + /// Cached list of samples, referenced directly from the instrument for synthesized instruments + var/list/cached_samples + /// Are we operating in legacy mode (so if the instrument is a legacy instrument) + var/legacy = FALSE + ////////////////////////////////////////////////////// + + /////////////////// Playing variables //////////////// + /** + * Only used in synthesized playback - The chords we compiled. Non assoc list of lists: + * list(list(key1, key2, key3..., tempo_divisor), list(key1, key2..., tempo_divisor), ...) + * tempo_divisor always exists + * if key1 (and so if there's no keys) doesn't exist it's a rest + * Compilation happens when we start playing and is cleared after we finish playing. + */ + var/list/compiled_chords + /// Channel as text = current volume percentage but it's 0 to 100 instead of 0 to 1. + var/list/channels_playing = list() + /// List of channels that aren't being used, as text. This is to prevent unnecessary freeing and reallocations from SSsounds/SSinstruments. + var/list/channels_idle = list() + ////////////////////////////////////////////////////// + + /// Last world.time we checked for who can hear us + var/last_hearcheck = 0 + /// The list of mobs that can hear us + var/list/hearing_mobs + /// If this is enabled, some things won't be strictly cleared when they usually are (liked compiled_chords on play stop) + var/debug_mode = FALSE + /// Last time we processed decay + var/last_process_decay + /// Max sound channels to occupy + var/max_sound_channels = CHANNELS_PER_INSTRUMENT + /// Current channels, so we can save a length() call. + var/using_sound_channels = 0 + /// Last channel to play. text. + var/last_channel_played + /// Should we not decay our last played note? + var/full_sustain_held_note = TRUE + + /////////////////////// DO NOT TOUCH THESE /////////////////// + var/octave_min = INSTRUMENT_MIN_OCTAVE + var/octave_max = INSTRUMENT_MAX_OCTAVE + var/key_min = INSTRUMENT_MIN_KEY + var/key_max = INSTRUMENT_MAX_KEY + var/static/list/note_offset_lookup = list(9, 11, 0, 2, 4, 5, 7) + var/static/list/accent_lookup = list("b" = -1, "s" = 1, "#" = 1, "n" = 0) + ////////////////////////////////////////////////////////////// + + ///////////// !!FUN!! - Only works in synthesized mode! ///////////////// + /// Note numbers to shift. + var/note_shift = 0 + var/note_shift_min = -100 + var/note_shift_max = 100 + var/can_noteshift = TRUE + /// The kind of sustain we're using + var/sustain_mode = SUSTAIN_LINEAR + /// When a note is considered dead if it is below this in volume + var/sustain_dropoff_volume = 0 + /// Total duration of linear sustain for 100 volume note to get to SUSTAIN_DROPOFF + var/sustain_linear_duration = 5 + /// Exponential sustain dropoff rate per decisecond + var/sustain_exponential_dropoff = 1.4 + ////////// DO NOT DIRECTLY SET THESE! + /// Do not directly set, use update_sustain() + var/cached_linear_dropoff = 10 + /// Do not directly set, use update_sustain() + var/cached_exponential_dropoff = 1.045 + ///////////////////////////////////////////////////////////////////////// + +/datum/song/New(atom/parent, list/instrument_ids) + SSinstruments.on_song_new(src) + lines = list() + tempo = sanitize_tempo(tempo) + src.parent = parent + if(instrument_ids) + allowed_instrument_ids = islist(instrument_ids)? instrument_ids : list(instrument_ids) + if(length(allowed_instrument_ids)) + set_instrument(allowed_instrument_ids[1]) + hearing_mobs = list() + volume = clamp(volume, min_volume, max_volume) + update_sustain() + +/datum/song/Destroy() + stop_playing() + SSinstruments.on_song_del(src) + lines = null + using_instrument = null + allowed_instrument_ids = null + parent = null + return ..() + +/datum/song/proc/do_hearcheck() + last_hearcheck = world.time + var/list/old = hearing_mobs.Copy() + hearing_mobs.len = 0 + var/turf/source = get_turf(parent) + for(var/mob/M in get_hearers_in_view(15, source)) + if(!(M?.client?.prefs?.toggles & SOUND_INSTRUMENTS)) + continue + hearing_mobs[M] = get_dist(M, source) + var/list/exited = old - hearing_mobs + for(var/i in exited) + terminate_sound_mob(i) + +/// I can either be a datum, id, or path (if the instrument has no id). +/datum/song/proc/set_instrument(datum/instrument/I) + if(using_instrument) + using_instrument.songs_using -= src + using_instrument = null + cached_samples = null + cached_legacy_ext = null + cached_legacy_dir = null + legacy = null + if(istext(I) || ispath(I)) + I = SSinstruments.instrument_data[I] + if(istype(I)) + using_instrument = I + I.songs_using += src + var/instrument_legacy = CHECK_BITFIELD(I.instrument_flags, INSTRUMENT_LEGACY) + if(instrument_legacy) + cached_legacy_ext = I.legacy_instrument_ext + cached_legacy_dir = I.legacy_instrument_path + legacy = TRUE + else + cached_samples = I.samples + legacy = FALSE + +/// THIS IS A BLOCKING CALL. +/datum/song/proc/start_playing(mob/user) + if(playing) + return + if(!using_instrument?.ready()) + to_chat(user, "An error has occured with [src]. Please reset the instrument.") + return + playing = TRUE + updateDialog() + //we can not afford to runtime, since we are going to be doing sound channel reservations and if we runtime it means we have a channel allocation leak. + //wrap the rest of the stuff to ensure stop_playing() is called. + last_process_decay = world.time + START_PROCESSING(SSinstruments, src) + . = do_play_lines(user) + stop_playing() + +/datum/song/proc/stop_playing() + if(!playing) + return + playing = FALSE + if(!debug_mode) + compiled_chords = null + STOP_PROCESSING(SSinstruments, src) + terminate_all_sounds(TRUE) + hearing_mobs.len = 0 + updateDialog() + +/// THIS IS A BLOCKING CALL. +/datum/song/proc/do_play_lines(user) + if(!playing) + return + do_hearcheck() + if(legacy) + do_play_lines_legacy(user) + else + do_play_lines_synthesized(user) + +/datum/song/proc/should_stop_playing(mob/user) + return QDELETED(parent) || !using_instrument || !playing + +/datum/song/proc/sanitize_tempo(new_tempo) + new_tempo = abs(new_tempo) + return CLAMP(round(new_tempo, world.tick_lag), world.tick_lag, 5 SECONDS) + +/datum/song/proc/get_bpm() + return 600 / tempo + +/datum/song/proc/set_bpm(bpm) + tempo = sanitize_tempo(600 / bpm) + +/// Updates the window for our user. Override in subtypes. +/datum/song/proc/updateDialog(mob/user) + ui_interact(user) + +/datum/song/process(wait) + if(!playing) + return PROCESS_KILL + var/delay = world.time - last_process_decay + process_decay(delay) + last_process_decay = world.time + +/datum/song/proc/update_sustain() + // Exponential is easy + cached_exponential_dropoff = sustain_exponential_dropoff + // Linear, not so much, since it's a target duration from 100 volume rather than an exponential rate. + var/target_duration = sustain_linear_duration + var/volume_diff = max(0, 100 - sustain_dropoff_volume) + var/volume_decrease_per_decisecond = volume_diff / target_duration + cached_linear_dropoff = volume_decrease_per_decisecond + +/datum/song/proc/set_volume(volume) + src.volume = CLAMP(volume, max(0, min_volume), min(100, max_volume)) + update_sustain() + updateDialog() + +/datum/song/proc/set_dropoff_volume(volume) + sustain_dropoff_volume = CLAMP(volume, INSTRUMENT_MIN_SUSTAIN_DROPOFF, 100) + update_sustain() + updateDialog() + +/datum/song/proc/set_exponential_drop_rate(drop) + sustain_exponential_dropoff = CLAMP(drop, INSTRUMENT_EXP_FALLOFF_MIN, INSTRUMENT_EXP_FALLOFF_MAX) + update_sustain() + updateDialog() + +/datum/song/proc/set_linear_falloff_duration(duration) + sustain_linear_duration = CLAMP(duration, 0.1, INSTRUMENT_MAX_TOTAL_SUSTAIN) + update_sustain() + updateDialog() + +/datum/song/vv_edit_var(var_name, var_value) + . = ..() + if(.) + switch(var_name) + if(NAMEOF(src, volume)) + set_volume(var_value) + if(NAMEOF(src, sustain_dropoff_volume)) + set_dropoff_volume(var_value) + if(NAMEOF(src, sustain_exponential_dropoff)) + set_exponential_drop_rate(var_value) + if(NAMEOF(src, sustain_linear_duration)) + set_linear_falloff_duration(var_value) + +// subtype for handheld instruments, like violin +/datum/song/handheld + +/datum/song/handheld/updateDialog(mob/user) + parent.ui_interact(user || usr) + +/datum/song/handheld/should_stop_playing(mob/user) + . = ..() + if(.) + return TRUE + var/obj/item/instrument/I = parent + return I.should_stop_playing(user) + +// subtype for stationary structures, like pianos +/datum/song/stationary + +/datum/song/stationary/updateDialog(mob/user) + parent.ui_interact(user || usr) + +/datum/song/stationary/should_stop_playing(mob/user) + . = ..() + if(.) + return TRUE + var/obj/structure/musician/M = parent + return M.should_stop_playing(user) diff --git a/code/modules/instruments/songs/editor.dm b/code/modules/instruments/songs/editor.dm new file mode 100644 index 00000000000..29c02297c24 --- /dev/null +++ b/code/modules/instruments/songs/editor.dm @@ -0,0 +1,246 @@ +/datum/song/proc/instrument_status_ui() + . = list() + . += "
" + . += "Current instrument: " + if(!using_instrument) + . += "No instrument loaded!
" + else + . += "[using_instrument.name]
" + . += "Playback Settings:
" + if(can_noteshift) + . += "Note Shift/Note Transpose: [note_shift] keys / [round(note_shift / 12, 0.01)] octaves
" + var/smt + var/modetext = "" + switch(sustain_mode) + if(SUSTAIN_LINEAR) + smt = "Linear" + modetext = "Linear Sustain Duration: [sustain_linear_duration / 10] seconds
" + if(SUSTAIN_EXPONENTIAL) + smt = "Exponential" + modetext = "Exponential Falloff Factor: [sustain_exponential_dropoff]% per decisecond
" + . += "Sustain Mode: [smt]
" + . += modetext + . += using_instrument?.ready()? "Status: Ready
" : "Status: !Instrument Definition Error!
" + . += "Instrument Type: [legacy? "Legacy" : "Synthesized"]
" + . += "Volume: [volume]
" + . += "Volume Dropoff Threshold: [sustain_dropoff_volume]
" + . += "Sustain indefinitely last held note: [full_sustain_held_note? "Enabled" : "Disabled"].
" + . += "
" + +/datum/song/ui_interact(mob/user) + var/list/dat = list() + + dat += instrument_status_ui() + + if(lines.len > 0) + dat += "

Playback

" + if(!playing) + dat += "Play Stop

" + dat += "Repeat Song: " + dat += repeat > 0 ? "--" : "--" + dat += " [repeat] times " + dat += repeat < max_repeats ? "++" : "++" + dat += "
" + else + dat += "Play Stop
" + dat += "Repeats left: [repeat]
" + if(!editing) + dat += "
Show Editor
" + else + dat += "

Editing

" + dat += "Hide Editor" + dat += " Start a New Song" + dat += " Import a Song

" + var/bpm = round(600 / tempo) + dat += "Tempo: - [bpm] BPM +

" + var/linecount = 0 + for(var/line in lines) + linecount += 1 + dat += "Line [linecount]: Edit X [line]
" + dat += "Add Line

" + if(help) + dat += "Hide Help
" + dat += {" + Lines are a series of chords, separated by commas (,), each with notes separated by hyphens (-).
+ Every note in a chord will play together, with chord timed by the tempo.
+
+ Notes are played by the names of the note, and optionally, the accidental, and/or the octave number.
+ By default, every note is natural and in octave 3. Defining otherwise is remembered for each note.
+ Example: C,D,E,F,G,A,B will play a C major scale.
+ After a note has an accidental placed, it will be remembered: C,C4,C,C3 is C3,C4,C4,C3
+ Chords can be played simply by seperating each note with a hyphon: A-C#,Cn-E,E-G#,Gn-B
+ A pause may be denoted by an empty chord: C,E,,C,G
+ To make a chord be a different time, end it with /x, where the chord length will be length
+ defined by tempo / x: C,G/2,E/4
+ Combined, an example is: E-E4/4,F#/2,G#/8,B/8,E3-E4/4 +
+ Lines may be up to [MUSIC_MAXLINECHARS] characters.
+ A song may only contain up to [MUSIC_MAXLINES] lines.
+ "} + else + dat += "Show Help
" + + var/datum/browser/popup = new(user, "instrument", parent?.name || "instrument", 700, 500) + popup.set_content(dat.Join("")) + popup.set_title_image(user.browse_rsc_icon(parent.icon, parent.icon_state)) + popup.open() + +/datum/song/proc/ParseSong(text) + set waitfor = FALSE + //split into lines + lines = splittext(text, "\n") + if(lines.len) + var/bpm_string = "BPM: " + if(findtext(lines[1], bpm_string, 1, length(bpm_string) + 1)) + var/divisor = text2num(copytext(lines[1], length(bpm_string) + 1)) || 120 // default + tempo = sanitize_tempo(600 / round(divisor, 1)) + lines.Cut(1, 2) + else + tempo = sanitize_tempo(5) // default 120 BPM + if(lines.len > MUSIC_MAXLINES) + to_chat(usr, "Too many lines!") + lines.Cut(MUSIC_MAXLINES + 1) + var/linenum = 1 + for(var/l in lines) + if(length_char(l) > MUSIC_MAXLINECHARS) + to_chat(usr, "Line [linenum] too long!") + lines.Remove(l) + else + linenum++ + updateDialog(usr) // make sure updates when complete + +/datum/song/Topic(href, href_list) + if(!usr.canUseTopic(parent, TRUE, FALSE, FALSE, FALSE)) + usr << browse(null, "window=instrument") + usr.unset_machine() + return + + parent.add_fingerprint(usr) + + if(href_list["newsong"]) + lines = new() + tempo = sanitize_tempo(5) // default 120 BPM + name = "" + + else if(href_list["import"]) + var/t = "" + do + t = html_encode(input(usr, "Please paste the entire song, formatted:", text("[]", name), t) as message) + if(!in_range(parent, usr)) + return + + if(length_char(t) >= MUSIC_MAXLINES * MUSIC_MAXLINECHARS) + var/cont = input(usr, "Your message is too long! Would you like to continue editing it?", "", "yes") in list("yes", "no") + if(cont == "no") + break + while(length_char(t) > MUSIC_MAXLINES * MUSIC_MAXLINECHARS) + ParseSong(t) + + else if(href_list["help"]) + help = text2num(href_list["help"]) - 1 + + else if(href_list["edit"]) + editing = text2num(href_list["edit"]) - 1 + + if(href_list["repeat"]) //Changing this from a toggle to a number of repeats to avoid infinite loops. + if(playing) + return //So that people cant keep adding to repeat. If the do it intentionally, it could result in the server crashing. + repeat += round(text2num(href_list["repeat"])) + if(repeat < 0) + repeat = 0 + if(repeat > max_repeats) + repeat = max_repeats + + else if(href_list["tempo"]) + tempo = sanitize_tempo(tempo + text2num(href_list["tempo"])) + + else if(href_list["play"]) + INVOKE_ASYNC(src, .proc/start_playing, usr) + + else if(href_list["newline"]) + var/newline = html_encode(input("Enter your line: ", parent.name) as text|null) + if(!newline || !in_range(parent, usr)) + return + if(lines.len > MUSIC_MAXLINES) + return + if(length(newline) > MUSIC_MAXLINECHARS) + newline = copytext(newline, 1, MUSIC_MAXLINECHARS) + lines.Add(newline) + + else if(href_list["deleteline"]) + var/num = round(text2num(href_list["deleteline"])) + if(num > lines.len || num < 1) + return + lines.Cut(num, num+1) + + else if(href_list["modifyline"]) + var/num = round(text2num(href_list["modifyline"]),1) + var/content = stripped_input(usr, "Enter your line: ", parent.name, lines[num], MUSIC_MAXLINECHARS) + if(!content || !in_range(parent, usr)) + return + if(num > lines.len || num < 1) + return + lines[num] = content + + else if(href_list["stop"]) + stop_playing() + + else if(href_list["setlinearfalloff"]) + var/amount = input(usr, "Set linear sustain duration in seconds", "Linear Sustain Duration") as null|num + if(!isnull(amount)) + set_linear_falloff_duration(round(amount * 10, world.tick_lag)) + + else if(href_list["setexpfalloff"]) + var/amount = input(usr, "Set exponential sustain factor", "Exponential sustain factor") as null|num + if(!isnull(amount)) + set_exponential_drop_rate(round(amount, 0.00001)) + + else if(href_list["setvolume"]) + var/amount = input(usr, "Set volume", "Volume") as null|num + if(!isnull(amount)) + set_volume(round(amount, 1)) + + else if(href_list["setdropoffvolume"]) + var/amount = input(usr, "Set dropoff threshold", "Dropoff Threshold Volume") as null|num + if(!isnull(amount)) + set_dropoff_volume(round(amount, 0.01)) + + else if(href_list["switchinstrument"]) + if(!length(allowed_instrument_ids)) + return + else if(length(allowed_instrument_ids) == 1) + set_instrument(allowed_instrument_ids[1]) + return + var/list/categories = list() + for(var/i in allowed_instrument_ids) + var/datum/instrument/I = SSinstruments.get_instrument(i) + if(I) + LAZYSET(categories[I.category || "ERROR CATEGORY"], I.name, I.id) + var/cat = input(usr, "Select Category", "Instrument Category") as null|anything in categories + if(!cat) + return + var/list/instruments = categories[cat] + var/choice = input(usr, "Select Instrument", "Instrument Selection") as null|anything in instruments + if(!choice) + return + choice = instruments[choice] //get id + if(choice) + set_instrument(choice) + + else if(href_list["setnoteshift"]) + var/amount = input(usr, "Set note shift", "Note Shift") as null|num + if(!isnull(amount)) + note_shift = CLAMP(amount, note_shift_min, note_shift_max) + + else if(href_list["setsustainmode"]) + var/choice = input(usr, "Choose a sustain mode", "Sustain Mode") as null|anything in list("Linear", "Exponential") + switch(choice) + if("Linear") + sustain_mode = SUSTAIN_LINEAR + if("Exponential") + sustain_mode = SUSTAIN_EXPONENTIAL + + else if(href_list["togglesustainhold"]) + full_sustain_held_note = !full_sustain_held_note + + updateDialog() diff --git a/code/modules/instruments/songs/play_legacy.dm b/code/modules/instruments/songs/play_legacy.dm new file mode 100644 index 00000000000..52b4507f3dd --- /dev/null +++ b/code/modules/instruments/songs/play_legacy.dm @@ -0,0 +1,82 @@ +/// Playing legacy instruments - None of the "advanced" like sound reservations and decay are invoked. +/datum/song/proc/do_play_lines_legacy(mob/user) + while(repeat >= 0) + var/cur_oct[7] + var/cur_acc[7] + for(var/i = 1 to 7) + cur_oct[i] = 3 + cur_acc[i] = "n" + + for(var/line in lines) + for(var/beat in splittext(lowertext(line), ",")) + if(should_stop_playing(user)) + return + var/list/notes = splittext(beat, "/") + if(length(notes)) //because some jack-butts are going to do ,,,, to symbolize 3 rests instead of something reasonable like ,/1. + for(var/note in splittext(notes[1], "-")) + if(length(note) == 0) + continue + var/cur_note = text2ascii(note) - 96 + if(cur_note < 1 || cur_note > 7) + continue + for(var/i=2 to length(note)) + var/ni = copytext(note,i,i+1) + if(!text2num(ni)) + if(ni == "#" || ni == "b" || ni == "n") + cur_acc[cur_note] = ni + else if(ni == "s") + cur_acc[cur_note] = "#" // so shift is never required + else + cur_oct[cur_note] = text2num(ni) + playnote_legacy(cur_note, cur_acc[cur_note], cur_oct[cur_note]) + if(notes.len >= 2 && text2num(notes[2])) + sleep(sanitize_tempo(tempo / text2num(notes[2]))) + else + sleep(tempo) + if(should_stop_playing(user)) + return + repeat-- + updateDialog() + repeat = 0 + +// note is a number from 1-7 for A-G +// acc is either "b", "n", or "#" +// oct is 1-8 (or 9 for C) +/datum/song/proc/playnote_legacy(note, acc as text, oct) + // handle accidental -> B<>C of E<>F + if(acc == "b" && (note == 3 || note == 6)) // C or F + if(note == 3) + oct-- + note-- + acc = "n" + else if(acc == "#" && (note == 2 || note == 5)) // B or E + if(note == 2) + oct++ + note++ + acc = "n" + else if(acc == "#" && (note == 7)) //G# + note = 1 + acc = "b" + else if(acc == "#") // mass convert all sharps to flats, octave jump already handled + acc = "b" + note++ + + // check octave, C is allowed to go to 9 + if(oct < 1 || (note == 3 ? oct > 9 : oct > 8)) + return + + // now generate name + var/soundfile = "sound/instruments/[cached_legacy_dir]/[ascii2text(note+64)][acc][oct].[cached_legacy_ext]" + soundfile = file(soundfile) + // make sure the note exists + if(!fexists(soundfile)) + return + // and play + var/turf/source = get_turf(parent) + if((world.time - MUSICIAN_HEARCHECK_MINDELAY) > last_hearcheck) + do_hearcheck() + var/sound/music_played = sound(soundfile) + for(var/i in hearing_mobs) + var/mob/M = i + M.playsound_local(source, null, volume * using_instrument.volume_multiplier, falloff = 5, S = music_played) + // Could do environment and echo later but not for now diff --git a/code/modules/instruments/songs/play_synthesized.dm b/code/modules/instruments/songs/play_synthesized.dm new file mode 100644 index 00000000000..f70e1a86d3c --- /dev/null +++ b/code/modules/instruments/songs/play_synthesized.dm @@ -0,0 +1,135 @@ +/datum/song/proc/do_play_lines_synthesized(mob/user) + compile_lines() + while(repeat >= 0) + if(should_stop_playing(user)) + return + var/warned = FALSE + for(var/_chord in compiled_chords) + if(should_stop_playing(user)) + return + var/list/chord = _chord + var/tempodiv = chord[chord.len] + for(var/i in 1 to chord.len - 1) + var/key = chord[i] + if(!playkey_synth(key)) + if(!warned) + warned = TRUE + to_chat(user, "Your instrument has ran out of channels. You might be playing your song too fast or be setting sustain to too high of a value. This warning will be suppressed for the rest of this cycle.") + sleep(sanitize_tempo(tempo / (tempodiv || 1))) + repeat-- + updateDialog() + repeat = 0 + +/// C-Db2-A-A4/2,A-B#4-C/3,/4,A,A-B-C as an example +/datum/song/proc/compile_lines() + if(!length(src.lines)) + return + var/list/lines = src.lines //cache for hyepr speed! + compiled_chords = list() + var/list/octaves = list(3, 3, 3, 3, 3, 3, 3) + var/list/accents = list("n", "n", "n", "n", "n", "n", "n") + for(var/line in lines) + var/list/chords = splittext(lowertext(line), ",") + for(var/chord in chords) + var/list/compiled_chord = list() + var/tempodiv = 1 + var/list/notes_tempodiv = splittext(chord, "/") + var/len = length(notes_tempodiv) + if(len >= 2) + tempodiv = text2num(notes_tempodiv[2]) + if(len) //some dunkass is going to do ,,,, to make 3 rests instead of ,/1 because there's no standardization so let's be prepared for that. + var/list/notes = splittext(notes_tempodiv[1], "-") + for(var/note in notes) + if(length(note) == 0) + continue + // 1-7, A-G + var/key = text2ascii(note) - 96 + if((key < 1) || (key > 7)) + continue + for(var/i in 2 to length(note)) + var/oct_acc = copytext(note, i, i + 1) + var/num = text2num(oct_acc) + if(!num) //it's an accidental + accents[key] = oct_acc //if they misspelled it/fucked up that's on them lmao, no safety checks. + else //octave + octaves[key] = CLAMP(num, octave_min, octave_max) + compiled_chord += CLAMP((note_offset_lookup[key] + octaves[key] * 12 + accent_lookup[accents[key]]), key_min, key_max) + compiled_chord += tempodiv //this goes last + if(length(compiled_chord)) + compiled_chords[++compiled_chords.len] = compiled_chord + CHECK_TICK + return compiled_chords + +/datum/song/proc/playkey_synth(key) + if(can_noteshift) + key = clamp(key + note_shift, key_min, key_max) + if((world.time - MUSICIAN_HEARCHECK_MINDELAY) > last_hearcheck) + do_hearcheck() + var/datum/instrument_key/K = using_instrument.samples[num2text(key)] //See how fucking easy it is to make a number text? You don't need a complicated 9 line proc! + //Should probably add channel limiters here at some point but I don't care right now. + var/channel = pop_channel() + if(isnull(channel)) + return FALSE + . = TRUE + var/sound/copy = sound(K.sample) + var/volume = src.volume * using_instrument.volume_multiplier + copy.frequency = K.frequency + copy.volume = volume + var/channel_text = num2text(channel) + channels_playing[channel_text] = 100 + last_channel_played = channel_text + for(var/i in hearing_mobs) + var/mob/M = i + M.playsound_local(get_turf(parent), null, volume, FALSE, K.frequency, INSTRUMENT_DISTANCE_NO_FALLOFF, channel, null, copy, distance_multiplier = INSTRUMENT_DISTANCE_FALLOFF_BUFF) + // Could do environment and echo later but not for now + +/datum/song/proc/terminate_all_sounds(clear_channels = TRUE) + for(var/i in hearing_mobs) + terminate_sound_mob(i) + if(clear_channels) + channels_playing.len = 0 + channels_idle.len = 0 + SSinstruments.current_instrument_channels -= using_sound_channels + using_sound_channels = 0 + SSsounds.free_datum_channels(src) + +/datum/song/proc/terminate_sound_mob(mob/M) + for(var/channel in channels_playing) + M.stop_sound_channel(text2num(channel)) + +/datum/song/proc/pop_channel() + if(length(channels_idle)) //just pop one off of here if we have one available + . = text2num(channels_idle[1]) + channels_idle.Cut(1,2) + return + if(using_sound_channels >= max_sound_channels) + return + . = SSinstruments.reserve_instrument_channel(src) + if(!isnull(.)) + using_sound_channels++ + +/datum/song/proc/process_decay(wait_ds) + var/linear_dropoff = cached_linear_dropoff * wait_ds + var/exponential_dropoff = cached_exponential_dropoff ** wait_ds + for(var/channel in channels_playing) + if(full_sustain_held_note && (channel == last_channel_played)) + continue + var/current_volume = channels_playing[channel] + switch(sustain_mode) + if(SUSTAIN_LINEAR) + current_volume -= linear_dropoff + if(SUSTAIN_EXPONENTIAL) + current_volume /= exponential_dropoff + channels_playing[channel] = current_volume + var/dead = current_volume <= sustain_dropoff_volume + var/channelnumber = text2num(channel) + if(dead) + channels_playing -= channel + channels_idle += channel + for(var/i in hearing_mobs) + var/mob/M = i + M.stop_sound_channel(channelnumber) + else + for(var/i in hearing_mobs) + var/mob/M = i + M.set_sound_channel_volume(channelnumber, (current_volume * 0.01) * volume * using_instrument.volume_multiplier) diff --git a/sound/instruments/accordion/Ab2.mid b/sound/instruments/accordion/Ab2.mid new file mode 100644 index 00000000000..0be99493a6c Binary files /dev/null and b/sound/instruments/accordion/Ab2.mid differ diff --git a/sound/instruments/accordion/Ab3.mid b/sound/instruments/accordion/Ab3.mid new file mode 100644 index 00000000000..df3fbb658b2 Binary files /dev/null and b/sound/instruments/accordion/Ab3.mid differ diff --git a/sound/instruments/accordion/Ab4.mid b/sound/instruments/accordion/Ab4.mid new file mode 100644 index 00000000000..81cc7dd887c Binary files /dev/null and b/sound/instruments/accordion/Ab4.mid differ diff --git a/sound/instruments/accordion/Ab5.mid b/sound/instruments/accordion/Ab5.mid new file mode 100644 index 00000000000..8a6f9b63a4c Binary files /dev/null and b/sound/instruments/accordion/Ab5.mid differ diff --git a/sound/instruments/accordion/Ab6.mid b/sound/instruments/accordion/Ab6.mid new file mode 100644 index 00000000000..c636071299e Binary files /dev/null and b/sound/instruments/accordion/Ab6.mid differ diff --git a/sound/instruments/accordion/An2.mid b/sound/instruments/accordion/An2.mid new file mode 100644 index 00000000000..fcae8a3be76 Binary files /dev/null and b/sound/instruments/accordion/An2.mid differ diff --git a/sound/instruments/accordion/An3.mid b/sound/instruments/accordion/An3.mid new file mode 100644 index 00000000000..0eaea1a1fd7 Binary files /dev/null and b/sound/instruments/accordion/An3.mid differ diff --git a/sound/instruments/accordion/An4.mid b/sound/instruments/accordion/An4.mid new file mode 100644 index 00000000000..2ae28df7a3a Binary files /dev/null and b/sound/instruments/accordion/An4.mid differ diff --git a/sound/instruments/accordion/An5.mid b/sound/instruments/accordion/An5.mid new file mode 100644 index 00000000000..c955b7f2d93 Binary files /dev/null and b/sound/instruments/accordion/An5.mid differ diff --git a/sound/instruments/accordion/An6.mid b/sound/instruments/accordion/An6.mid new file mode 100644 index 00000000000..76c44f3bb37 Binary files /dev/null and b/sound/instruments/accordion/An6.mid differ diff --git a/sound/instruments/accordion/Bb2.mid b/sound/instruments/accordion/Bb2.mid new file mode 100644 index 00000000000..8af7ec2a6c5 Binary files /dev/null and b/sound/instruments/accordion/Bb2.mid differ diff --git a/sound/instruments/accordion/Bb3.mid b/sound/instruments/accordion/Bb3.mid new file mode 100644 index 00000000000..2fdaae5d9de Binary files /dev/null and b/sound/instruments/accordion/Bb3.mid differ diff --git a/sound/instruments/accordion/Bb4.mid b/sound/instruments/accordion/Bb4.mid new file mode 100644 index 00000000000..b360ccbc9b7 Binary files /dev/null and b/sound/instruments/accordion/Bb4.mid differ diff --git a/sound/instruments/accordion/Bb5.mid b/sound/instruments/accordion/Bb5.mid new file mode 100644 index 00000000000..d1ed0340d5f Binary files /dev/null and b/sound/instruments/accordion/Bb5.mid differ diff --git a/sound/instruments/accordion/Bb6.mid b/sound/instruments/accordion/Bb6.mid new file mode 100644 index 00000000000..45973b3eef2 Binary files /dev/null and b/sound/instruments/accordion/Bb6.mid differ diff --git a/sound/instruments/accordion/Bn2.mid b/sound/instruments/accordion/Bn2.mid new file mode 100644 index 00000000000..b2dec87c97a Binary files /dev/null and b/sound/instruments/accordion/Bn2.mid differ diff --git a/sound/instruments/accordion/Bn3.mid b/sound/instruments/accordion/Bn3.mid new file mode 100644 index 00000000000..19aa78aded9 Binary files /dev/null and b/sound/instruments/accordion/Bn3.mid differ diff --git a/sound/instruments/accordion/Bn4.mid b/sound/instruments/accordion/Bn4.mid new file mode 100644 index 00000000000..1caba6169c5 Binary files /dev/null and b/sound/instruments/accordion/Bn4.mid differ diff --git a/sound/instruments/accordion/Bn5.mid b/sound/instruments/accordion/Bn5.mid new file mode 100644 index 00000000000..4a41cbbd746 Binary files /dev/null and b/sound/instruments/accordion/Bn5.mid differ diff --git a/sound/instruments/accordion/Bn6.mid b/sound/instruments/accordion/Bn6.mid new file mode 100644 index 00000000000..7d267c4b5ab Binary files /dev/null and b/sound/instruments/accordion/Bn6.mid differ diff --git a/sound/instruments/accordion/Cn2.mid b/sound/instruments/accordion/Cn2.mid new file mode 100644 index 00000000000..dfc8a56b9b0 Binary files /dev/null and b/sound/instruments/accordion/Cn2.mid differ diff --git a/sound/instruments/accordion/Cn3.mid b/sound/instruments/accordion/Cn3.mid new file mode 100644 index 00000000000..494b4114e2f Binary files /dev/null and b/sound/instruments/accordion/Cn3.mid differ diff --git a/sound/instruments/accordion/Cn4.mid b/sound/instruments/accordion/Cn4.mid new file mode 100644 index 00000000000..2ac47a442dc Binary files /dev/null and b/sound/instruments/accordion/Cn4.mid differ diff --git a/sound/instruments/accordion/Cn5.mid b/sound/instruments/accordion/Cn5.mid new file mode 100644 index 00000000000..636502e6295 Binary files /dev/null and b/sound/instruments/accordion/Cn5.mid differ diff --git a/sound/instruments/accordion/Cn6.mid b/sound/instruments/accordion/Cn6.mid new file mode 100644 index 00000000000..57a674e7beb Binary files /dev/null and b/sound/instruments/accordion/Cn6.mid differ diff --git a/sound/instruments/accordion/Db2.mid b/sound/instruments/accordion/Db2.mid new file mode 100644 index 00000000000..602e4523eea Binary files /dev/null and b/sound/instruments/accordion/Db2.mid differ diff --git a/sound/instruments/accordion/Db3.mid b/sound/instruments/accordion/Db3.mid new file mode 100644 index 00000000000..4c32f61c8d0 Binary files /dev/null and b/sound/instruments/accordion/Db3.mid differ diff --git a/sound/instruments/accordion/Db4.mid b/sound/instruments/accordion/Db4.mid new file mode 100644 index 00000000000..99439056170 Binary files /dev/null and b/sound/instruments/accordion/Db4.mid differ diff --git a/sound/instruments/accordion/Db5.mid b/sound/instruments/accordion/Db5.mid new file mode 100644 index 00000000000..b4db898b292 Binary files /dev/null and b/sound/instruments/accordion/Db5.mid differ diff --git a/sound/instruments/accordion/Db6.mid b/sound/instruments/accordion/Db6.mid new file mode 100644 index 00000000000..b0cb648759c Binary files /dev/null and b/sound/instruments/accordion/Db6.mid differ diff --git a/sound/instruments/accordion/Dn2.mid b/sound/instruments/accordion/Dn2.mid new file mode 100644 index 00000000000..a6c30398b12 Binary files /dev/null and b/sound/instruments/accordion/Dn2.mid differ diff --git a/sound/instruments/accordion/Dn3.mid b/sound/instruments/accordion/Dn3.mid new file mode 100644 index 00000000000..b64354f8109 Binary files /dev/null and b/sound/instruments/accordion/Dn3.mid differ diff --git a/sound/instruments/accordion/Dn4.mid b/sound/instruments/accordion/Dn4.mid new file mode 100644 index 00000000000..670b2ec4d35 Binary files /dev/null and b/sound/instruments/accordion/Dn4.mid differ diff --git a/sound/instruments/accordion/Dn5.mid b/sound/instruments/accordion/Dn5.mid new file mode 100644 index 00000000000..aea9116fb80 Binary files /dev/null and b/sound/instruments/accordion/Dn5.mid differ diff --git a/sound/instruments/accordion/Dn6.mid b/sound/instruments/accordion/Dn6.mid new file mode 100644 index 00000000000..84c9e9359ca Binary files /dev/null and b/sound/instruments/accordion/Dn6.mid differ diff --git a/sound/instruments/accordion/Eb2.mid b/sound/instruments/accordion/Eb2.mid new file mode 100644 index 00000000000..9d274b6baf4 Binary files /dev/null and b/sound/instruments/accordion/Eb2.mid differ diff --git a/sound/instruments/accordion/Eb3.mid b/sound/instruments/accordion/Eb3.mid new file mode 100644 index 00000000000..9a32aee1238 Binary files /dev/null and b/sound/instruments/accordion/Eb3.mid differ diff --git a/sound/instruments/accordion/Eb4.mid b/sound/instruments/accordion/Eb4.mid new file mode 100644 index 00000000000..257ed5e9048 Binary files /dev/null and b/sound/instruments/accordion/Eb4.mid differ diff --git a/sound/instruments/accordion/Eb5.mid b/sound/instruments/accordion/Eb5.mid new file mode 100644 index 00000000000..de3edcd18cc Binary files /dev/null and b/sound/instruments/accordion/Eb5.mid differ diff --git a/sound/instruments/accordion/Eb6.mid b/sound/instruments/accordion/Eb6.mid new file mode 100644 index 00000000000..a43a976ffc8 Binary files /dev/null and b/sound/instruments/accordion/Eb6.mid differ diff --git a/sound/instruments/accordion/En2.mid b/sound/instruments/accordion/En2.mid new file mode 100644 index 00000000000..1ebe0e081d8 Binary files /dev/null and b/sound/instruments/accordion/En2.mid differ diff --git a/sound/instruments/accordion/En3.mid b/sound/instruments/accordion/En3.mid new file mode 100644 index 00000000000..b24ef90118f Binary files /dev/null and b/sound/instruments/accordion/En3.mid differ diff --git a/sound/instruments/accordion/En4.mid b/sound/instruments/accordion/En4.mid new file mode 100644 index 00000000000..df0b16b1968 Binary files /dev/null and b/sound/instruments/accordion/En4.mid differ diff --git a/sound/instruments/accordion/En5.mid b/sound/instruments/accordion/En5.mid new file mode 100644 index 00000000000..760c5e1f514 Binary files /dev/null and b/sound/instruments/accordion/En5.mid differ diff --git a/sound/instruments/accordion/En6.mid b/sound/instruments/accordion/En6.mid new file mode 100644 index 00000000000..92639712044 Binary files /dev/null and b/sound/instruments/accordion/En6.mid differ diff --git a/sound/instruments/accordion/Fn2.mid b/sound/instruments/accordion/Fn2.mid new file mode 100644 index 00000000000..31eb932cb7d Binary files /dev/null and b/sound/instruments/accordion/Fn2.mid differ diff --git a/sound/instruments/accordion/Fn3.mid b/sound/instruments/accordion/Fn3.mid new file mode 100644 index 00000000000..c1c2a4a197d Binary files /dev/null and b/sound/instruments/accordion/Fn3.mid differ diff --git a/sound/instruments/accordion/Fn4.mid b/sound/instruments/accordion/Fn4.mid new file mode 100644 index 00000000000..701c5ea46c5 Binary files /dev/null and b/sound/instruments/accordion/Fn4.mid differ diff --git a/sound/instruments/accordion/Fn5.mid b/sound/instruments/accordion/Fn5.mid new file mode 100644 index 00000000000..49d44d3de84 Binary files /dev/null and b/sound/instruments/accordion/Fn5.mid differ diff --git a/sound/instruments/accordion/Fn6.mid b/sound/instruments/accordion/Fn6.mid new file mode 100644 index 00000000000..acb192950bd Binary files /dev/null and b/sound/instruments/accordion/Fn6.mid differ diff --git a/sound/instruments/accordion/Gb2.mid b/sound/instruments/accordion/Gb2.mid new file mode 100644 index 00000000000..4625e867af0 Binary files /dev/null and b/sound/instruments/accordion/Gb2.mid differ diff --git a/sound/instruments/accordion/Gb3.mid b/sound/instruments/accordion/Gb3.mid new file mode 100644 index 00000000000..3ce6d7ba923 Binary files /dev/null and b/sound/instruments/accordion/Gb3.mid differ diff --git a/sound/instruments/accordion/Gb4.mid b/sound/instruments/accordion/Gb4.mid new file mode 100644 index 00000000000..1106ebf9039 Binary files /dev/null and b/sound/instruments/accordion/Gb4.mid differ diff --git a/sound/instruments/accordion/Gb5.mid b/sound/instruments/accordion/Gb5.mid new file mode 100644 index 00000000000..9ff54c7af0f Binary files /dev/null and b/sound/instruments/accordion/Gb5.mid differ diff --git a/sound/instruments/accordion/Gb6.mid b/sound/instruments/accordion/Gb6.mid new file mode 100644 index 00000000000..05b05b9870f Binary files /dev/null and b/sound/instruments/accordion/Gb6.mid differ diff --git a/sound/instruments/accordion/Gn2.mid b/sound/instruments/accordion/Gn2.mid new file mode 100644 index 00000000000..def96a74d17 Binary files /dev/null and b/sound/instruments/accordion/Gn2.mid differ diff --git a/sound/instruments/accordion/Gn3.mid b/sound/instruments/accordion/Gn3.mid new file mode 100644 index 00000000000..4c88ab05076 Binary files /dev/null and b/sound/instruments/accordion/Gn3.mid differ diff --git a/sound/instruments/accordion/Gn4.mid b/sound/instruments/accordion/Gn4.mid new file mode 100644 index 00000000000..b76b5a22c63 Binary files /dev/null and b/sound/instruments/accordion/Gn4.mid differ diff --git a/sound/instruments/accordion/Gn5.mid b/sound/instruments/accordion/Gn5.mid new file mode 100644 index 00000000000..0fb395db34c Binary files /dev/null and b/sound/instruments/accordion/Gn5.mid differ diff --git a/sound/instruments/accordion/Gn6.mid b/sound/instruments/accordion/Gn6.mid new file mode 100644 index 00000000000..b6117319ad5 Binary files /dev/null and b/sound/instruments/accordion/Gn6.mid differ diff --git a/sound/instruments/banjo/Ab3.ogg b/sound/instruments/banjo/Ab3.ogg new file mode 100644 index 00000000000..66e263bd615 Binary files /dev/null and b/sound/instruments/banjo/Ab3.ogg differ diff --git a/sound/instruments/banjo/Ab4.ogg b/sound/instruments/banjo/Ab4.ogg new file mode 100644 index 00000000000..f003e03233a Binary files /dev/null and b/sound/instruments/banjo/Ab4.ogg differ diff --git a/sound/instruments/banjo/Ab5.ogg b/sound/instruments/banjo/Ab5.ogg new file mode 100644 index 00000000000..c405725208e Binary files /dev/null and b/sound/instruments/banjo/Ab5.ogg differ diff --git a/sound/instruments/banjo/An3.ogg b/sound/instruments/banjo/An3.ogg new file mode 100644 index 00000000000..1700704c9c1 Binary files /dev/null and b/sound/instruments/banjo/An3.ogg differ diff --git a/sound/instruments/banjo/An4.ogg b/sound/instruments/banjo/An4.ogg new file mode 100644 index 00000000000..eb7279f869e Binary files /dev/null and b/sound/instruments/banjo/An4.ogg differ diff --git a/sound/instruments/banjo/An5.ogg b/sound/instruments/banjo/An5.ogg new file mode 100644 index 00000000000..d9cf57c0feb Binary files /dev/null and b/sound/instruments/banjo/An5.ogg differ diff --git a/sound/instruments/banjo/Bb3.ogg b/sound/instruments/banjo/Bb3.ogg new file mode 100644 index 00000000000..d3f757c0ace Binary files /dev/null and b/sound/instruments/banjo/Bb3.ogg differ diff --git a/sound/instruments/banjo/Bb4.ogg b/sound/instruments/banjo/Bb4.ogg new file mode 100644 index 00000000000..a9d869091bf Binary files /dev/null and b/sound/instruments/banjo/Bb4.ogg differ diff --git a/sound/instruments/banjo/Bb5.ogg b/sound/instruments/banjo/Bb5.ogg new file mode 100644 index 00000000000..a56e6c25005 Binary files /dev/null and b/sound/instruments/banjo/Bb5.ogg differ diff --git a/sound/instruments/banjo/Bn2.ogg b/sound/instruments/banjo/Bn2.ogg new file mode 100644 index 00000000000..3154f974193 Binary files /dev/null and b/sound/instruments/banjo/Bn2.ogg differ diff --git a/sound/instruments/banjo/Bn3.ogg b/sound/instruments/banjo/Bn3.ogg new file mode 100644 index 00000000000..6c72ec2fd5a Binary files /dev/null and b/sound/instruments/banjo/Bn3.ogg differ diff --git a/sound/instruments/banjo/Bn4.ogg b/sound/instruments/banjo/Bn4.ogg new file mode 100644 index 00000000000..b0e9a2b3b2f Binary files /dev/null and b/sound/instruments/banjo/Bn4.ogg differ diff --git a/sound/instruments/banjo/Bn5.ogg b/sound/instruments/banjo/Bn5.ogg new file mode 100644 index 00000000000..1b002140b87 Binary files /dev/null and b/sound/instruments/banjo/Bn5.ogg differ diff --git a/sound/instruments/banjo/Cn3.ogg b/sound/instruments/banjo/Cn3.ogg new file mode 100644 index 00000000000..6ef414d9d01 Binary files /dev/null and b/sound/instruments/banjo/Cn3.ogg differ diff --git a/sound/instruments/banjo/Cn4.ogg b/sound/instruments/banjo/Cn4.ogg new file mode 100644 index 00000000000..4a26a6741db Binary files /dev/null and b/sound/instruments/banjo/Cn4.ogg differ diff --git a/sound/instruments/banjo/Cn5.ogg b/sound/instruments/banjo/Cn5.ogg new file mode 100644 index 00000000000..901ed3bc08b Binary files /dev/null and b/sound/instruments/banjo/Cn5.ogg differ diff --git a/sound/instruments/banjo/Cn6.ogg b/sound/instruments/banjo/Cn6.ogg new file mode 100644 index 00000000000..5cdbbb17cea Binary files /dev/null and b/sound/instruments/banjo/Cn6.ogg differ diff --git a/sound/instruments/banjo/Db3.ogg b/sound/instruments/banjo/Db3.ogg new file mode 100644 index 00000000000..1ebffdf5025 Binary files /dev/null and b/sound/instruments/banjo/Db3.ogg differ diff --git a/sound/instruments/banjo/Db4.ogg b/sound/instruments/banjo/Db4.ogg new file mode 100644 index 00000000000..5b939365086 Binary files /dev/null and b/sound/instruments/banjo/Db4.ogg differ diff --git a/sound/instruments/banjo/Db5.ogg b/sound/instruments/banjo/Db5.ogg new file mode 100644 index 00000000000..6ee4dde9479 Binary files /dev/null and b/sound/instruments/banjo/Db5.ogg differ diff --git a/sound/instruments/banjo/Db6.ogg b/sound/instruments/banjo/Db6.ogg new file mode 100644 index 00000000000..fd73894fda6 Binary files /dev/null and b/sound/instruments/banjo/Db6.ogg differ diff --git a/sound/instruments/banjo/Dn3.ogg b/sound/instruments/banjo/Dn3.ogg new file mode 100644 index 00000000000..77491b01b8c Binary files /dev/null and b/sound/instruments/banjo/Dn3.ogg differ diff --git a/sound/instruments/banjo/Dn4.ogg b/sound/instruments/banjo/Dn4.ogg new file mode 100644 index 00000000000..11f68b5a157 Binary files /dev/null and b/sound/instruments/banjo/Dn4.ogg differ diff --git a/sound/instruments/banjo/Dn5.ogg b/sound/instruments/banjo/Dn5.ogg new file mode 100644 index 00000000000..2e9ebe49891 Binary files /dev/null and b/sound/instruments/banjo/Dn5.ogg differ diff --git a/sound/instruments/banjo/Dn6.ogg b/sound/instruments/banjo/Dn6.ogg new file mode 100644 index 00000000000..89ae62361dc Binary files /dev/null and b/sound/instruments/banjo/Dn6.ogg differ diff --git a/sound/instruments/banjo/Eb3.ogg b/sound/instruments/banjo/Eb3.ogg new file mode 100644 index 00000000000..1d1e43049d2 Binary files /dev/null and b/sound/instruments/banjo/Eb3.ogg differ diff --git a/sound/instruments/banjo/Eb4.ogg b/sound/instruments/banjo/Eb4.ogg new file mode 100644 index 00000000000..2722655f5a3 Binary files /dev/null and b/sound/instruments/banjo/Eb4.ogg differ diff --git a/sound/instruments/banjo/Eb5.ogg b/sound/instruments/banjo/Eb5.ogg new file mode 100644 index 00000000000..7a109dfdf79 Binary files /dev/null and b/sound/instruments/banjo/Eb5.ogg differ diff --git a/sound/instruments/banjo/En3.ogg b/sound/instruments/banjo/En3.ogg new file mode 100644 index 00000000000..4610efdd4f0 Binary files /dev/null and b/sound/instruments/banjo/En3.ogg differ diff --git a/sound/instruments/banjo/En4.ogg b/sound/instruments/banjo/En4.ogg new file mode 100644 index 00000000000..64c14daf915 Binary files /dev/null and b/sound/instruments/banjo/En4.ogg differ diff --git a/sound/instruments/banjo/En5.ogg b/sound/instruments/banjo/En5.ogg new file mode 100644 index 00000000000..8e0b6c1637e Binary files /dev/null and b/sound/instruments/banjo/En5.ogg differ diff --git a/sound/instruments/banjo/Fn3.ogg b/sound/instruments/banjo/Fn3.ogg new file mode 100644 index 00000000000..5cdc4f13fb3 Binary files /dev/null and b/sound/instruments/banjo/Fn3.ogg differ diff --git a/sound/instruments/banjo/Fn4.ogg b/sound/instruments/banjo/Fn4.ogg new file mode 100644 index 00000000000..78d5454f186 Binary files /dev/null and b/sound/instruments/banjo/Fn4.ogg differ diff --git a/sound/instruments/banjo/Fn5.ogg b/sound/instruments/banjo/Fn5.ogg new file mode 100644 index 00000000000..b21559b4656 Binary files /dev/null and b/sound/instruments/banjo/Fn5.ogg differ diff --git a/sound/instruments/banjo/Gb3.ogg b/sound/instruments/banjo/Gb3.ogg new file mode 100644 index 00000000000..fd055b74717 Binary files /dev/null and b/sound/instruments/banjo/Gb3.ogg differ diff --git a/sound/instruments/banjo/Gb4.ogg b/sound/instruments/banjo/Gb4.ogg new file mode 100644 index 00000000000..f2c62510ed0 Binary files /dev/null and b/sound/instruments/banjo/Gb4.ogg differ diff --git a/sound/instruments/banjo/Gb5.ogg b/sound/instruments/banjo/Gb5.ogg new file mode 100644 index 00000000000..ab17347912b Binary files /dev/null and b/sound/instruments/banjo/Gb5.ogg differ diff --git a/sound/instruments/banjo/Gn3.ogg b/sound/instruments/banjo/Gn3.ogg new file mode 100644 index 00000000000..ad52ef85c08 Binary files /dev/null and b/sound/instruments/banjo/Gn3.ogg differ diff --git a/sound/instruments/banjo/Gn4.ogg b/sound/instruments/banjo/Gn4.ogg new file mode 100644 index 00000000000..2ddb13b86b3 Binary files /dev/null and b/sound/instruments/banjo/Gn4.ogg differ diff --git a/sound/instruments/banjo/Gn5.ogg b/sound/instruments/banjo/Gn5.ogg new file mode 100644 index 00000000000..d5a7886c4cf Binary files /dev/null and b/sound/instruments/banjo/Gn5.ogg differ diff --git a/sound/instruments/bikehorn/Ab2.ogg b/sound/instruments/bikehorn/Ab2.ogg new file mode 100644 index 00000000000..516dc5f1a51 Binary files /dev/null and b/sound/instruments/bikehorn/Ab2.ogg differ diff --git a/sound/instruments/bikehorn/Ab3.ogg b/sound/instruments/bikehorn/Ab3.ogg new file mode 100644 index 00000000000..6110ccc005b Binary files /dev/null and b/sound/instruments/bikehorn/Ab3.ogg differ diff --git a/sound/instruments/bikehorn/Ab4.ogg b/sound/instruments/bikehorn/Ab4.ogg new file mode 100644 index 00000000000..b69bc30a425 Binary files /dev/null and b/sound/instruments/bikehorn/Ab4.ogg differ diff --git a/sound/instruments/bikehorn/An2.ogg b/sound/instruments/bikehorn/An2.ogg new file mode 100644 index 00000000000..29c97fc38e2 Binary files /dev/null and b/sound/instruments/bikehorn/An2.ogg differ diff --git a/sound/instruments/bikehorn/An3.ogg b/sound/instruments/bikehorn/An3.ogg new file mode 100644 index 00000000000..f9f67aaa530 Binary files /dev/null and b/sound/instruments/bikehorn/An3.ogg differ diff --git a/sound/instruments/bikehorn/An4.ogg b/sound/instruments/bikehorn/An4.ogg new file mode 100644 index 00000000000..74b9fa6adc2 Binary files /dev/null and b/sound/instruments/bikehorn/An4.ogg differ diff --git a/sound/instruments/bikehorn/Bb2.ogg b/sound/instruments/bikehorn/Bb2.ogg new file mode 100644 index 00000000000..5cee07e1920 Binary files /dev/null and b/sound/instruments/bikehorn/Bb2.ogg differ diff --git a/sound/instruments/bikehorn/Bb3.ogg b/sound/instruments/bikehorn/Bb3.ogg new file mode 100644 index 00000000000..f655ba973ce Binary files /dev/null and b/sound/instruments/bikehorn/Bb3.ogg differ diff --git a/sound/instruments/bikehorn/Bb4.ogg b/sound/instruments/bikehorn/Bb4.ogg new file mode 100644 index 00000000000..54dc87781eb Binary files /dev/null and b/sound/instruments/bikehorn/Bb4.ogg differ diff --git a/sound/instruments/bikehorn/Bn2.ogg b/sound/instruments/bikehorn/Bn2.ogg new file mode 100644 index 00000000000..ff86ec97190 Binary files /dev/null and b/sound/instruments/bikehorn/Bn2.ogg differ diff --git a/sound/instruments/bikehorn/Bn3.ogg b/sound/instruments/bikehorn/Bn3.ogg new file mode 100644 index 00000000000..c639f34e8e5 Binary files /dev/null and b/sound/instruments/bikehorn/Bn3.ogg differ diff --git a/sound/instruments/bikehorn/Bn4.ogg b/sound/instruments/bikehorn/Bn4.ogg new file mode 100644 index 00000000000..ea0bc643c54 Binary files /dev/null and b/sound/instruments/bikehorn/Bn4.ogg differ diff --git a/sound/instruments/bikehorn/Cn3.ogg b/sound/instruments/bikehorn/Cn3.ogg new file mode 100644 index 00000000000..129a67d6bdf Binary files /dev/null and b/sound/instruments/bikehorn/Cn3.ogg differ diff --git a/sound/instruments/bikehorn/Cn4.ogg b/sound/instruments/bikehorn/Cn4.ogg new file mode 100644 index 00000000000..e02a4fa8d22 Binary files /dev/null and b/sound/instruments/bikehorn/Cn4.ogg differ diff --git a/sound/instruments/bikehorn/Cn5.ogg b/sound/instruments/bikehorn/Cn5.ogg new file mode 100644 index 00000000000..eb0b76dadc1 Binary files /dev/null and b/sound/instruments/bikehorn/Cn5.ogg differ diff --git a/sound/instruments/bikehorn/Db3.ogg b/sound/instruments/bikehorn/Db3.ogg new file mode 100644 index 00000000000..000c38fb67a Binary files /dev/null and b/sound/instruments/bikehorn/Db3.ogg differ diff --git a/sound/instruments/bikehorn/Db4.ogg b/sound/instruments/bikehorn/Db4.ogg new file mode 100644 index 00000000000..2f9423914a1 Binary files /dev/null and b/sound/instruments/bikehorn/Db4.ogg differ diff --git a/sound/instruments/bikehorn/Db5.ogg b/sound/instruments/bikehorn/Db5.ogg new file mode 100644 index 00000000000..e65b43a2882 Binary files /dev/null and b/sound/instruments/bikehorn/Db5.ogg differ diff --git a/sound/instruments/bikehorn/Dn3.ogg b/sound/instruments/bikehorn/Dn3.ogg new file mode 100644 index 00000000000..f132cd6ba55 Binary files /dev/null and b/sound/instruments/bikehorn/Dn3.ogg differ diff --git a/sound/instruments/bikehorn/Dn4.ogg b/sound/instruments/bikehorn/Dn4.ogg new file mode 100644 index 00000000000..196100f483a Binary files /dev/null and b/sound/instruments/bikehorn/Dn4.ogg differ diff --git a/sound/instruments/bikehorn/Dn5.ogg b/sound/instruments/bikehorn/Dn5.ogg new file mode 100644 index 00000000000..cca45f94739 Binary files /dev/null and b/sound/instruments/bikehorn/Dn5.ogg differ diff --git a/sound/instruments/bikehorn/Eb3.ogg b/sound/instruments/bikehorn/Eb3.ogg new file mode 100644 index 00000000000..8fd4306ae39 Binary files /dev/null and b/sound/instruments/bikehorn/Eb3.ogg differ diff --git a/sound/instruments/bikehorn/Eb4.ogg b/sound/instruments/bikehorn/Eb4.ogg new file mode 100644 index 00000000000..72700fd0e36 Binary files /dev/null and b/sound/instruments/bikehorn/Eb4.ogg differ diff --git a/sound/instruments/bikehorn/Eb5.ogg b/sound/instruments/bikehorn/Eb5.ogg new file mode 100644 index 00000000000..d2c050ec09f Binary files /dev/null and b/sound/instruments/bikehorn/Eb5.ogg differ diff --git a/sound/instruments/bikehorn/En2.ogg b/sound/instruments/bikehorn/En2.ogg new file mode 100644 index 00000000000..ab9bb7dd452 Binary files /dev/null and b/sound/instruments/bikehorn/En2.ogg differ diff --git a/sound/instruments/bikehorn/En3.ogg b/sound/instruments/bikehorn/En3.ogg new file mode 100644 index 00000000000..cac18c0249d Binary files /dev/null and b/sound/instruments/bikehorn/En3.ogg differ diff --git a/sound/instruments/bikehorn/En4.ogg b/sound/instruments/bikehorn/En4.ogg new file mode 100644 index 00000000000..17c9fc4ea28 Binary files /dev/null and b/sound/instruments/bikehorn/En4.ogg differ diff --git a/sound/instruments/bikehorn/Fn2.ogg b/sound/instruments/bikehorn/Fn2.ogg new file mode 100644 index 00000000000..9db53950835 Binary files /dev/null and b/sound/instruments/bikehorn/Fn2.ogg differ diff --git a/sound/instruments/bikehorn/Fn3.ogg b/sound/instruments/bikehorn/Fn3.ogg new file mode 100644 index 00000000000..1228fafc944 Binary files /dev/null and b/sound/instruments/bikehorn/Fn3.ogg differ diff --git a/sound/instruments/bikehorn/Fn4.ogg b/sound/instruments/bikehorn/Fn4.ogg new file mode 100644 index 00000000000..3744a1a3bf7 Binary files /dev/null and b/sound/instruments/bikehorn/Fn4.ogg differ diff --git a/sound/instruments/bikehorn/Gb2.ogg b/sound/instruments/bikehorn/Gb2.ogg new file mode 100644 index 00000000000..6625b93d163 Binary files /dev/null and b/sound/instruments/bikehorn/Gb2.ogg differ diff --git a/sound/instruments/bikehorn/Gb3.ogg b/sound/instruments/bikehorn/Gb3.ogg new file mode 100644 index 00000000000..03154ab427e Binary files /dev/null and b/sound/instruments/bikehorn/Gb3.ogg differ diff --git a/sound/instruments/bikehorn/Gb4.ogg b/sound/instruments/bikehorn/Gb4.ogg new file mode 100644 index 00000000000..59958dbae47 Binary files /dev/null and b/sound/instruments/bikehorn/Gb4.ogg differ diff --git a/sound/instruments/bikehorn/Gn2.ogg b/sound/instruments/bikehorn/Gn2.ogg new file mode 100644 index 00000000000..95faf3389d7 Binary files /dev/null and b/sound/instruments/bikehorn/Gn2.ogg differ diff --git a/sound/instruments/bikehorn/Gn3.ogg b/sound/instruments/bikehorn/Gn3.ogg new file mode 100644 index 00000000000..f903ae66156 Binary files /dev/null and b/sound/instruments/bikehorn/Gn3.ogg differ diff --git a/sound/instruments/bikehorn/Gn4.ogg b/sound/instruments/bikehorn/Gn4.ogg new file mode 100644 index 00000000000..6631da09e69 Binary files /dev/null and b/sound/instruments/bikehorn/Gn4.ogg differ diff --git a/sound/instruments/eguitar/ab4.ogg b/sound/instruments/eguitar/ab4.ogg new file mode 100644 index 00000000000..de291593ee0 Binary files /dev/null and b/sound/instruments/eguitar/ab4.ogg differ diff --git a/sound/instruments/eguitar/ab5.ogg b/sound/instruments/eguitar/ab5.ogg new file mode 100644 index 00000000000..8103ab40234 Binary files /dev/null and b/sound/instruments/eguitar/ab5.ogg differ diff --git a/sound/instruments/eguitar/ab6.ogg b/sound/instruments/eguitar/ab6.ogg new file mode 100644 index 00000000000..220e1571d4c Binary files /dev/null and b/sound/instruments/eguitar/ab6.ogg differ diff --git a/sound/instruments/eguitar/an4.ogg b/sound/instruments/eguitar/an4.ogg new file mode 100644 index 00000000000..250b1b435a0 Binary files /dev/null and b/sound/instruments/eguitar/an4.ogg differ diff --git a/sound/instruments/eguitar/an5.ogg b/sound/instruments/eguitar/an5.ogg new file mode 100644 index 00000000000..54d198d3954 Binary files /dev/null and b/sound/instruments/eguitar/an5.ogg differ diff --git a/sound/instruments/eguitar/an6.ogg b/sound/instruments/eguitar/an6.ogg new file mode 100644 index 00000000000..aacaa90f036 Binary files /dev/null and b/sound/instruments/eguitar/an6.ogg differ diff --git a/sound/instruments/eguitar/bb4.ogg b/sound/instruments/eguitar/bb4.ogg new file mode 100644 index 00000000000..c275fdc0b75 Binary files /dev/null and b/sound/instruments/eguitar/bb4.ogg differ diff --git a/sound/instruments/eguitar/bb5.ogg b/sound/instruments/eguitar/bb5.ogg new file mode 100644 index 00000000000..3d32c5280d4 Binary files /dev/null and b/sound/instruments/eguitar/bb5.ogg differ diff --git a/sound/instruments/eguitar/bb6.ogg b/sound/instruments/eguitar/bb6.ogg new file mode 100644 index 00000000000..c89618326ae Binary files /dev/null and b/sound/instruments/eguitar/bb6.ogg differ diff --git a/sound/instruments/eguitar/bn4.ogg b/sound/instruments/eguitar/bn4.ogg new file mode 100644 index 00000000000..458ea14336a Binary files /dev/null and b/sound/instruments/eguitar/bn4.ogg differ diff --git a/sound/instruments/eguitar/bn5.ogg b/sound/instruments/eguitar/bn5.ogg new file mode 100644 index 00000000000..4bd02b83c3b Binary files /dev/null and b/sound/instruments/eguitar/bn5.ogg differ diff --git a/sound/instruments/eguitar/bn6.ogg b/sound/instruments/eguitar/bn6.ogg new file mode 100644 index 00000000000..c1d1cf5f4b0 Binary files /dev/null and b/sound/instruments/eguitar/bn6.ogg differ diff --git a/sound/instruments/eguitar/cn4.ogg b/sound/instruments/eguitar/cn4.ogg new file mode 100644 index 00000000000..43f43080632 Binary files /dev/null and b/sound/instruments/eguitar/cn4.ogg differ diff --git a/sound/instruments/eguitar/cn5.ogg b/sound/instruments/eguitar/cn5.ogg new file mode 100644 index 00000000000..4a97fdcfad1 Binary files /dev/null and b/sound/instruments/eguitar/cn5.ogg differ diff --git a/sound/instruments/eguitar/cn6.ogg b/sound/instruments/eguitar/cn6.ogg new file mode 100644 index 00000000000..c67fcae46c4 Binary files /dev/null and b/sound/instruments/eguitar/cn6.ogg differ diff --git a/sound/instruments/eguitar/cn7.ogg b/sound/instruments/eguitar/cn7.ogg new file mode 100644 index 00000000000..f193f5b0627 Binary files /dev/null and b/sound/instruments/eguitar/cn7.ogg differ diff --git a/sound/instruments/eguitar/db4.ogg b/sound/instruments/eguitar/db4.ogg new file mode 100644 index 00000000000..ee975d555a2 Binary files /dev/null and b/sound/instruments/eguitar/db4.ogg differ diff --git a/sound/instruments/eguitar/db5.ogg b/sound/instruments/eguitar/db5.ogg new file mode 100644 index 00000000000..6904962cd77 Binary files /dev/null and b/sound/instruments/eguitar/db5.ogg differ diff --git a/sound/instruments/eguitar/db6.ogg b/sound/instruments/eguitar/db6.ogg new file mode 100644 index 00000000000..421b0590492 Binary files /dev/null and b/sound/instruments/eguitar/db6.ogg differ diff --git a/sound/instruments/eguitar/dn4.ogg b/sound/instruments/eguitar/dn4.ogg new file mode 100644 index 00000000000..b6287800fb7 Binary files /dev/null and b/sound/instruments/eguitar/dn4.ogg differ diff --git a/sound/instruments/eguitar/dn5.ogg b/sound/instruments/eguitar/dn5.ogg new file mode 100644 index 00000000000..92f723cff01 Binary files /dev/null and b/sound/instruments/eguitar/dn5.ogg differ diff --git a/sound/instruments/eguitar/dn6.ogg b/sound/instruments/eguitar/dn6.ogg new file mode 100644 index 00000000000..53c2de97d23 Binary files /dev/null and b/sound/instruments/eguitar/dn6.ogg differ diff --git a/sound/instruments/eguitar/eb4.ogg b/sound/instruments/eguitar/eb4.ogg new file mode 100644 index 00000000000..0349b819b33 Binary files /dev/null and b/sound/instruments/eguitar/eb4.ogg differ diff --git a/sound/instruments/eguitar/eb5.ogg b/sound/instruments/eguitar/eb5.ogg new file mode 100644 index 00000000000..40d3c89a90b Binary files /dev/null and b/sound/instruments/eguitar/eb5.ogg differ diff --git a/sound/instruments/eguitar/eb6.ogg b/sound/instruments/eguitar/eb6.ogg new file mode 100644 index 00000000000..dd1fcbc58df Binary files /dev/null and b/sound/instruments/eguitar/eb6.ogg differ diff --git a/sound/instruments/eguitar/en4.ogg b/sound/instruments/eguitar/en4.ogg new file mode 100644 index 00000000000..2ceeafe4d7b Binary files /dev/null and b/sound/instruments/eguitar/en4.ogg differ diff --git a/sound/instruments/eguitar/en5.ogg b/sound/instruments/eguitar/en5.ogg new file mode 100644 index 00000000000..2be8538db7f Binary files /dev/null and b/sound/instruments/eguitar/en5.ogg differ diff --git a/sound/instruments/eguitar/en6.ogg b/sound/instruments/eguitar/en6.ogg new file mode 100644 index 00000000000..5b0a135a789 Binary files /dev/null and b/sound/instruments/eguitar/en6.ogg differ diff --git a/sound/instruments/eguitar/fn4.ogg b/sound/instruments/eguitar/fn4.ogg new file mode 100644 index 00000000000..b23a19278b0 Binary files /dev/null and b/sound/instruments/eguitar/fn4.ogg differ diff --git a/sound/instruments/eguitar/fn5.ogg b/sound/instruments/eguitar/fn5.ogg new file mode 100644 index 00000000000..4caadbee978 Binary files /dev/null and b/sound/instruments/eguitar/fn5.ogg differ diff --git a/sound/instruments/eguitar/fn6.ogg b/sound/instruments/eguitar/fn6.ogg new file mode 100644 index 00000000000..5177ad4dcd9 Binary files /dev/null and b/sound/instruments/eguitar/fn6.ogg differ diff --git a/sound/instruments/eguitar/gb4.ogg b/sound/instruments/eguitar/gb4.ogg new file mode 100644 index 00000000000..aba86ff66c1 Binary files /dev/null and b/sound/instruments/eguitar/gb4.ogg differ diff --git a/sound/instruments/eguitar/gb5.ogg b/sound/instruments/eguitar/gb5.ogg new file mode 100644 index 00000000000..758a83f792a Binary files /dev/null and b/sound/instruments/eguitar/gb5.ogg differ diff --git a/sound/instruments/eguitar/gb6.ogg b/sound/instruments/eguitar/gb6.ogg new file mode 100644 index 00000000000..7caed1f85f6 Binary files /dev/null and b/sound/instruments/eguitar/gb6.ogg differ diff --git a/sound/instruments/eguitar/gn4.ogg b/sound/instruments/eguitar/gn4.ogg new file mode 100644 index 00000000000..9f7a35b3935 Binary files /dev/null and b/sound/instruments/eguitar/gn4.ogg differ diff --git a/sound/instruments/eguitar/gn5.ogg b/sound/instruments/eguitar/gn5.ogg new file mode 100644 index 00000000000..d55d4148815 Binary files /dev/null and b/sound/instruments/eguitar/gn5.ogg differ diff --git a/sound/instruments/eguitar/gn6.ogg b/sound/instruments/eguitar/gn6.ogg new file mode 100644 index 00000000000..4cb5e2c63ee Binary files /dev/null and b/sound/instruments/eguitar/gn6.ogg differ diff --git a/sound/instruments/glockenspiel/Ab2.mid b/sound/instruments/glockenspiel/Ab2.mid new file mode 100644 index 00000000000..5686905944d Binary files /dev/null and b/sound/instruments/glockenspiel/Ab2.mid differ diff --git a/sound/instruments/glockenspiel/Ab3.mid b/sound/instruments/glockenspiel/Ab3.mid new file mode 100644 index 00000000000..284a1fff4e3 Binary files /dev/null and b/sound/instruments/glockenspiel/Ab3.mid differ diff --git a/sound/instruments/glockenspiel/Ab4.mid b/sound/instruments/glockenspiel/Ab4.mid new file mode 100644 index 00000000000..fa423da6d5b Binary files /dev/null and b/sound/instruments/glockenspiel/Ab4.mid differ diff --git a/sound/instruments/glockenspiel/Ab5.mid b/sound/instruments/glockenspiel/Ab5.mid new file mode 100644 index 00000000000..4f49969b557 Binary files /dev/null and b/sound/instruments/glockenspiel/Ab5.mid differ diff --git a/sound/instruments/glockenspiel/Ab6.mid b/sound/instruments/glockenspiel/Ab6.mid new file mode 100644 index 00000000000..a9900e304d4 Binary files /dev/null and b/sound/instruments/glockenspiel/Ab6.mid differ diff --git a/sound/instruments/glockenspiel/Ab7.mid b/sound/instruments/glockenspiel/Ab7.mid new file mode 100644 index 00000000000..46a3712bc08 Binary files /dev/null and b/sound/instruments/glockenspiel/Ab7.mid differ diff --git a/sound/instruments/glockenspiel/An2.mid b/sound/instruments/glockenspiel/An2.mid new file mode 100644 index 00000000000..225c8d8e677 Binary files /dev/null and b/sound/instruments/glockenspiel/An2.mid differ diff --git a/sound/instruments/glockenspiel/An3.mid b/sound/instruments/glockenspiel/An3.mid new file mode 100644 index 00000000000..4517bccccf1 Binary files /dev/null and b/sound/instruments/glockenspiel/An3.mid differ diff --git a/sound/instruments/glockenspiel/An4.mid b/sound/instruments/glockenspiel/An4.mid new file mode 100644 index 00000000000..b0bfafe19d7 Binary files /dev/null and b/sound/instruments/glockenspiel/An4.mid differ diff --git a/sound/instruments/glockenspiel/An5.mid b/sound/instruments/glockenspiel/An5.mid new file mode 100644 index 00000000000..203f31ec8bf Binary files /dev/null and b/sound/instruments/glockenspiel/An5.mid differ diff --git a/sound/instruments/glockenspiel/An6.mid b/sound/instruments/glockenspiel/An6.mid new file mode 100644 index 00000000000..b3c81f947e2 Binary files /dev/null and b/sound/instruments/glockenspiel/An6.mid differ diff --git a/sound/instruments/glockenspiel/An7.mid b/sound/instruments/glockenspiel/An7.mid new file mode 100644 index 00000000000..5f5d1f2482e Binary files /dev/null and b/sound/instruments/glockenspiel/An7.mid differ diff --git a/sound/instruments/glockenspiel/Bb2.mid b/sound/instruments/glockenspiel/Bb2.mid new file mode 100644 index 00000000000..c847d75145b Binary files /dev/null and b/sound/instruments/glockenspiel/Bb2.mid differ diff --git a/sound/instruments/glockenspiel/Bb3.mid b/sound/instruments/glockenspiel/Bb3.mid new file mode 100644 index 00000000000..1bb96dd7b03 Binary files /dev/null and b/sound/instruments/glockenspiel/Bb3.mid differ diff --git a/sound/instruments/glockenspiel/Bb4.mid b/sound/instruments/glockenspiel/Bb4.mid new file mode 100644 index 00000000000..d96c70754d0 Binary files /dev/null and b/sound/instruments/glockenspiel/Bb4.mid differ diff --git a/sound/instruments/glockenspiel/Bb5.mid b/sound/instruments/glockenspiel/Bb5.mid new file mode 100644 index 00000000000..b8ca38884b8 Binary files /dev/null and b/sound/instruments/glockenspiel/Bb5.mid differ diff --git a/sound/instruments/glockenspiel/Bb6.mid b/sound/instruments/glockenspiel/Bb6.mid new file mode 100644 index 00000000000..b82b11dbf20 Binary files /dev/null and b/sound/instruments/glockenspiel/Bb6.mid differ diff --git a/sound/instruments/glockenspiel/Bb7.mid b/sound/instruments/glockenspiel/Bb7.mid new file mode 100644 index 00000000000..dfcf25c6e3f Binary files /dev/null and b/sound/instruments/glockenspiel/Bb7.mid differ diff --git a/sound/instruments/glockenspiel/Bn2.mid b/sound/instruments/glockenspiel/Bn2.mid new file mode 100644 index 00000000000..c34397b078a Binary files /dev/null and b/sound/instruments/glockenspiel/Bn2.mid differ diff --git a/sound/instruments/glockenspiel/Bn3.mid b/sound/instruments/glockenspiel/Bn3.mid new file mode 100644 index 00000000000..6572ba58a69 Binary files /dev/null and b/sound/instruments/glockenspiel/Bn3.mid differ diff --git a/sound/instruments/glockenspiel/Bn4.mid b/sound/instruments/glockenspiel/Bn4.mid new file mode 100644 index 00000000000..28059d9d39a Binary files /dev/null and b/sound/instruments/glockenspiel/Bn4.mid differ diff --git a/sound/instruments/glockenspiel/Bn5.mid b/sound/instruments/glockenspiel/Bn5.mid new file mode 100644 index 00000000000..acad7d78a4e Binary files /dev/null and b/sound/instruments/glockenspiel/Bn5.mid differ diff --git a/sound/instruments/glockenspiel/Bn6.mid b/sound/instruments/glockenspiel/Bn6.mid new file mode 100644 index 00000000000..28cecdb28e0 Binary files /dev/null and b/sound/instruments/glockenspiel/Bn6.mid differ diff --git a/sound/instruments/glockenspiel/Bn7.mid b/sound/instruments/glockenspiel/Bn7.mid new file mode 100644 index 00000000000..879cdf81a13 Binary files /dev/null and b/sound/instruments/glockenspiel/Bn7.mid differ diff --git a/sound/instruments/glockenspiel/Cn2.mid b/sound/instruments/glockenspiel/Cn2.mid new file mode 100644 index 00000000000..c25e5eb02fa Binary files /dev/null and b/sound/instruments/glockenspiel/Cn2.mid differ diff --git a/sound/instruments/glockenspiel/Cn3.mid b/sound/instruments/glockenspiel/Cn3.mid new file mode 100644 index 00000000000..2e9dc47abd1 Binary files /dev/null and b/sound/instruments/glockenspiel/Cn3.mid differ diff --git a/sound/instruments/glockenspiel/Cn4.mid b/sound/instruments/glockenspiel/Cn4.mid new file mode 100644 index 00000000000..6ebe22570d5 Binary files /dev/null and b/sound/instruments/glockenspiel/Cn4.mid differ diff --git a/sound/instruments/glockenspiel/Cn5.mid b/sound/instruments/glockenspiel/Cn5.mid new file mode 100644 index 00000000000..383cf88b989 Binary files /dev/null and b/sound/instruments/glockenspiel/Cn5.mid differ diff --git a/sound/instruments/glockenspiel/Cn6.mid b/sound/instruments/glockenspiel/Cn6.mid new file mode 100644 index 00000000000..919ba370850 Binary files /dev/null and b/sound/instruments/glockenspiel/Cn6.mid differ diff --git a/sound/instruments/glockenspiel/Cn7.mid b/sound/instruments/glockenspiel/Cn7.mid new file mode 100644 index 00000000000..6d02413f0ae Binary files /dev/null and b/sound/instruments/glockenspiel/Cn7.mid differ diff --git a/sound/instruments/glockenspiel/Db2.mid b/sound/instruments/glockenspiel/Db2.mid new file mode 100644 index 00000000000..e6c4c968b5c Binary files /dev/null and b/sound/instruments/glockenspiel/Db2.mid differ diff --git a/sound/instruments/glockenspiel/Db3.mid b/sound/instruments/glockenspiel/Db3.mid new file mode 100644 index 00000000000..d793ec8c5f1 Binary files /dev/null and b/sound/instruments/glockenspiel/Db3.mid differ diff --git a/sound/instruments/glockenspiel/Db4.mid b/sound/instruments/glockenspiel/Db4.mid new file mode 100644 index 00000000000..1c042478500 Binary files /dev/null and b/sound/instruments/glockenspiel/Db4.mid differ diff --git a/sound/instruments/glockenspiel/Db5.mid b/sound/instruments/glockenspiel/Db5.mid new file mode 100644 index 00000000000..bd0a7712876 Binary files /dev/null and b/sound/instruments/glockenspiel/Db5.mid differ diff --git a/sound/instruments/glockenspiel/Db6.mid b/sound/instruments/glockenspiel/Db6.mid new file mode 100644 index 00000000000..2c25f018b23 Binary files /dev/null and b/sound/instruments/glockenspiel/Db6.mid differ diff --git a/sound/instruments/glockenspiel/Db7.mid b/sound/instruments/glockenspiel/Db7.mid new file mode 100644 index 00000000000..e42abd2921a Binary files /dev/null and b/sound/instruments/glockenspiel/Db7.mid differ diff --git a/sound/instruments/glockenspiel/Dn2.mid b/sound/instruments/glockenspiel/Dn2.mid new file mode 100644 index 00000000000..8b82df85769 Binary files /dev/null and b/sound/instruments/glockenspiel/Dn2.mid differ diff --git a/sound/instruments/glockenspiel/Dn3.mid b/sound/instruments/glockenspiel/Dn3.mid new file mode 100644 index 00000000000..c367cdf2799 Binary files /dev/null and b/sound/instruments/glockenspiel/Dn3.mid differ diff --git a/sound/instruments/glockenspiel/Dn4.mid b/sound/instruments/glockenspiel/Dn4.mid new file mode 100644 index 00000000000..98af4007fe3 Binary files /dev/null and b/sound/instruments/glockenspiel/Dn4.mid differ diff --git a/sound/instruments/glockenspiel/Dn5.mid b/sound/instruments/glockenspiel/Dn5.mid new file mode 100644 index 00000000000..e51591d8879 Binary files /dev/null and b/sound/instruments/glockenspiel/Dn5.mid differ diff --git a/sound/instruments/glockenspiel/Dn6.mid b/sound/instruments/glockenspiel/Dn6.mid new file mode 100644 index 00000000000..7a3723915df Binary files /dev/null and b/sound/instruments/glockenspiel/Dn6.mid differ diff --git a/sound/instruments/glockenspiel/Dn7.mid b/sound/instruments/glockenspiel/Dn7.mid new file mode 100644 index 00000000000..5be8aa77e1f Binary files /dev/null and b/sound/instruments/glockenspiel/Dn7.mid differ diff --git a/sound/instruments/glockenspiel/Eb2.mid b/sound/instruments/glockenspiel/Eb2.mid new file mode 100644 index 00000000000..c50981843db Binary files /dev/null and b/sound/instruments/glockenspiel/Eb2.mid differ diff --git a/sound/instruments/glockenspiel/Eb3.mid b/sound/instruments/glockenspiel/Eb3.mid new file mode 100644 index 00000000000..36354cb7152 Binary files /dev/null and b/sound/instruments/glockenspiel/Eb3.mid differ diff --git a/sound/instruments/glockenspiel/Eb4.mid b/sound/instruments/glockenspiel/Eb4.mid new file mode 100644 index 00000000000..3d08fd703be Binary files /dev/null and b/sound/instruments/glockenspiel/Eb4.mid differ diff --git a/sound/instruments/glockenspiel/Eb5.mid b/sound/instruments/glockenspiel/Eb5.mid new file mode 100644 index 00000000000..25aebfc3274 Binary files /dev/null and b/sound/instruments/glockenspiel/Eb5.mid differ diff --git a/sound/instruments/glockenspiel/Eb6.mid b/sound/instruments/glockenspiel/Eb6.mid new file mode 100644 index 00000000000..62cc1ef0e7f Binary files /dev/null and b/sound/instruments/glockenspiel/Eb6.mid differ diff --git a/sound/instruments/glockenspiel/Eb7.mid b/sound/instruments/glockenspiel/Eb7.mid new file mode 100644 index 00000000000..b60cdad77b5 Binary files /dev/null and b/sound/instruments/glockenspiel/Eb7.mid differ diff --git a/sound/instruments/glockenspiel/En2.mid b/sound/instruments/glockenspiel/En2.mid new file mode 100644 index 00000000000..39758cd85f9 Binary files /dev/null and b/sound/instruments/glockenspiel/En2.mid differ diff --git a/sound/instruments/glockenspiel/En3.mid b/sound/instruments/glockenspiel/En3.mid new file mode 100644 index 00000000000..efc81900312 Binary files /dev/null and b/sound/instruments/glockenspiel/En3.mid differ diff --git a/sound/instruments/glockenspiel/En4.mid b/sound/instruments/glockenspiel/En4.mid new file mode 100644 index 00000000000..99cc66e8ee8 Binary files /dev/null and b/sound/instruments/glockenspiel/En4.mid differ diff --git a/sound/instruments/glockenspiel/En5.mid b/sound/instruments/glockenspiel/En5.mid new file mode 100644 index 00000000000..ad00fdf4193 Binary files /dev/null and b/sound/instruments/glockenspiel/En5.mid differ diff --git a/sound/instruments/glockenspiel/En6.mid b/sound/instruments/glockenspiel/En6.mid new file mode 100644 index 00000000000..f09ef0b2609 Binary files /dev/null and b/sound/instruments/glockenspiel/En6.mid differ diff --git a/sound/instruments/glockenspiel/En7.mid b/sound/instruments/glockenspiel/En7.mid new file mode 100644 index 00000000000..3bcb9da49ff Binary files /dev/null and b/sound/instruments/glockenspiel/En7.mid differ diff --git a/sound/instruments/glockenspiel/Fn2.mid b/sound/instruments/glockenspiel/Fn2.mid new file mode 100644 index 00000000000..f127d40a4ac Binary files /dev/null and b/sound/instruments/glockenspiel/Fn2.mid differ diff --git a/sound/instruments/glockenspiel/Fn3.mid b/sound/instruments/glockenspiel/Fn3.mid new file mode 100644 index 00000000000..2429099d112 Binary files /dev/null and b/sound/instruments/glockenspiel/Fn3.mid differ diff --git a/sound/instruments/glockenspiel/Fn4.mid b/sound/instruments/glockenspiel/Fn4.mid new file mode 100644 index 00000000000..be631cfb219 Binary files /dev/null and b/sound/instruments/glockenspiel/Fn4.mid differ diff --git a/sound/instruments/glockenspiel/Fn5.mid b/sound/instruments/glockenspiel/Fn5.mid new file mode 100644 index 00000000000..a9fa10ed92a Binary files /dev/null and b/sound/instruments/glockenspiel/Fn5.mid differ diff --git a/sound/instruments/glockenspiel/Fn6.mid b/sound/instruments/glockenspiel/Fn6.mid new file mode 100644 index 00000000000..e31280486c7 Binary files /dev/null and b/sound/instruments/glockenspiel/Fn6.mid differ diff --git a/sound/instruments/glockenspiel/Fn7.mid b/sound/instruments/glockenspiel/Fn7.mid new file mode 100644 index 00000000000..d58406a9eb1 Binary files /dev/null and b/sound/instruments/glockenspiel/Fn7.mid differ diff --git a/sound/instruments/glockenspiel/Gb2.mid b/sound/instruments/glockenspiel/Gb2.mid new file mode 100644 index 00000000000..a75712fdcd9 Binary files /dev/null and b/sound/instruments/glockenspiel/Gb2.mid differ diff --git a/sound/instruments/glockenspiel/Gb3.mid b/sound/instruments/glockenspiel/Gb3.mid new file mode 100644 index 00000000000..ce8eb61c040 Binary files /dev/null and b/sound/instruments/glockenspiel/Gb3.mid differ diff --git a/sound/instruments/glockenspiel/Gb4.mid b/sound/instruments/glockenspiel/Gb4.mid new file mode 100644 index 00000000000..d15ee2f97b2 Binary files /dev/null and b/sound/instruments/glockenspiel/Gb4.mid differ diff --git a/sound/instruments/glockenspiel/Gb5.mid b/sound/instruments/glockenspiel/Gb5.mid new file mode 100644 index 00000000000..393b6d76574 Binary files /dev/null and b/sound/instruments/glockenspiel/Gb5.mid differ diff --git a/sound/instruments/glockenspiel/Gb6.mid b/sound/instruments/glockenspiel/Gb6.mid new file mode 100644 index 00000000000..6b0e3aef091 Binary files /dev/null and b/sound/instruments/glockenspiel/Gb6.mid differ diff --git a/sound/instruments/glockenspiel/Gb7.mid b/sound/instruments/glockenspiel/Gb7.mid new file mode 100644 index 00000000000..318a1ea9caa Binary files /dev/null and b/sound/instruments/glockenspiel/Gb7.mid differ diff --git a/sound/instruments/glockenspiel/Gn2.mid b/sound/instruments/glockenspiel/Gn2.mid new file mode 100644 index 00000000000..39d22d66123 Binary files /dev/null and b/sound/instruments/glockenspiel/Gn2.mid differ diff --git a/sound/instruments/glockenspiel/Gn3.mid b/sound/instruments/glockenspiel/Gn3.mid new file mode 100644 index 00000000000..d9494886a1c Binary files /dev/null and b/sound/instruments/glockenspiel/Gn3.mid differ diff --git a/sound/instruments/glockenspiel/Gn4.mid b/sound/instruments/glockenspiel/Gn4.mid new file mode 100644 index 00000000000..00a2f114bac Binary files /dev/null and b/sound/instruments/glockenspiel/Gn4.mid differ diff --git a/sound/instruments/glockenspiel/Gn5.mid b/sound/instruments/glockenspiel/Gn5.mid new file mode 100644 index 00000000000..55205eae3fe Binary files /dev/null and b/sound/instruments/glockenspiel/Gn5.mid differ diff --git a/sound/instruments/glockenspiel/Gn6.mid b/sound/instruments/glockenspiel/Gn6.mid new file mode 100644 index 00000000000..1aebe5ec222 Binary files /dev/null and b/sound/instruments/glockenspiel/Gn6.mid differ diff --git a/sound/instruments/glockenspiel/Gn7.mid b/sound/instruments/glockenspiel/Gn7.mid new file mode 100644 index 00000000000..cd0a43ceac6 Binary files /dev/null and b/sound/instruments/glockenspiel/Gn7.mid differ diff --git a/sound/instruments/guitar/Ab3.ogg b/sound/instruments/guitar/Ab3.ogg new file mode 100644 index 00000000000..6e242786c40 Binary files /dev/null and b/sound/instruments/guitar/Ab3.ogg differ diff --git a/sound/instruments/guitar/Ab4.ogg b/sound/instruments/guitar/Ab4.ogg new file mode 100644 index 00000000000..6f854ea5d3f Binary files /dev/null and b/sound/instruments/guitar/Ab4.ogg differ diff --git a/sound/instruments/guitar/Ab5.ogg b/sound/instruments/guitar/Ab5.ogg new file mode 100644 index 00000000000..53ba1c01520 Binary files /dev/null and b/sound/instruments/guitar/Ab5.ogg differ diff --git a/sound/instruments/guitar/Ab6.ogg b/sound/instruments/guitar/Ab6.ogg new file mode 100644 index 00000000000..d0a238ba607 Binary files /dev/null and b/sound/instruments/guitar/Ab6.ogg differ diff --git a/sound/instruments/guitar/An3.ogg b/sound/instruments/guitar/An3.ogg new file mode 100644 index 00000000000..1f06e6d4f28 Binary files /dev/null and b/sound/instruments/guitar/An3.ogg differ diff --git a/sound/instruments/guitar/An4.ogg b/sound/instruments/guitar/An4.ogg new file mode 100644 index 00000000000..f3354df46b9 Binary files /dev/null and b/sound/instruments/guitar/An4.ogg differ diff --git a/sound/instruments/guitar/An5.ogg b/sound/instruments/guitar/An5.ogg new file mode 100644 index 00000000000..fc3b1b345c9 Binary files /dev/null and b/sound/instruments/guitar/An5.ogg differ diff --git a/sound/instruments/guitar/An6.ogg b/sound/instruments/guitar/An6.ogg new file mode 100644 index 00000000000..f58a50d2a65 Binary files /dev/null and b/sound/instruments/guitar/An6.ogg differ diff --git a/sound/instruments/guitar/Bb3.ogg b/sound/instruments/guitar/Bb3.ogg new file mode 100644 index 00000000000..e88343d88fb Binary files /dev/null and b/sound/instruments/guitar/Bb3.ogg differ diff --git a/sound/instruments/guitar/Bb4.ogg b/sound/instruments/guitar/Bb4.ogg new file mode 100644 index 00000000000..11b883285da Binary files /dev/null and b/sound/instruments/guitar/Bb4.ogg differ diff --git a/sound/instruments/guitar/Bb5.ogg b/sound/instruments/guitar/Bb5.ogg new file mode 100644 index 00000000000..5d9b10f87a6 Binary files /dev/null and b/sound/instruments/guitar/Bb5.ogg differ diff --git a/sound/instruments/guitar/Bb6.ogg b/sound/instruments/guitar/Bb6.ogg new file mode 100644 index 00000000000..c7f11ef59a6 Binary files /dev/null and b/sound/instruments/guitar/Bb6.ogg differ diff --git a/sound/instruments/guitar/Bn3.ogg b/sound/instruments/guitar/Bn3.ogg new file mode 100644 index 00000000000..0d6022369fa Binary files /dev/null and b/sound/instruments/guitar/Bn3.ogg differ diff --git a/sound/instruments/guitar/Bn4.ogg b/sound/instruments/guitar/Bn4.ogg new file mode 100644 index 00000000000..7e8682d5ff0 Binary files /dev/null and b/sound/instruments/guitar/Bn4.ogg differ diff --git a/sound/instruments/guitar/Bn5.ogg b/sound/instruments/guitar/Bn5.ogg new file mode 100644 index 00000000000..1912da7f66c Binary files /dev/null and b/sound/instruments/guitar/Bn5.ogg differ diff --git a/sound/instruments/guitar/Bn6.ogg b/sound/instruments/guitar/Bn6.ogg new file mode 100644 index 00000000000..985ec744dfb Binary files /dev/null and b/sound/instruments/guitar/Bn6.ogg differ diff --git a/sound/instruments/guitar/Cn4.ogg b/sound/instruments/guitar/Cn4.ogg new file mode 100644 index 00000000000..0279b73f8bd Binary files /dev/null and b/sound/instruments/guitar/Cn4.ogg differ diff --git a/sound/instruments/guitar/Cn5.ogg b/sound/instruments/guitar/Cn5.ogg new file mode 100644 index 00000000000..ece600a6c1a Binary files /dev/null and b/sound/instruments/guitar/Cn5.ogg differ diff --git a/sound/instruments/guitar/Cn6.ogg b/sound/instruments/guitar/Cn6.ogg new file mode 100644 index 00000000000..8c2fecc62aa Binary files /dev/null and b/sound/instruments/guitar/Cn6.ogg differ diff --git a/sound/instruments/guitar/Db4.ogg b/sound/instruments/guitar/Db4.ogg new file mode 100644 index 00000000000..8a14f1f8365 Binary files /dev/null and b/sound/instruments/guitar/Db4.ogg differ diff --git a/sound/instruments/guitar/Db5.ogg b/sound/instruments/guitar/Db5.ogg new file mode 100644 index 00000000000..46a67f20ce0 Binary files /dev/null and b/sound/instruments/guitar/Db5.ogg differ diff --git a/sound/instruments/guitar/Db6.ogg b/sound/instruments/guitar/Db6.ogg new file mode 100644 index 00000000000..a07095c6033 Binary files /dev/null and b/sound/instruments/guitar/Db6.ogg differ diff --git a/sound/instruments/guitar/Dn4.ogg b/sound/instruments/guitar/Dn4.ogg new file mode 100644 index 00000000000..587099a0ddc Binary files /dev/null and b/sound/instruments/guitar/Dn4.ogg differ diff --git a/sound/instruments/guitar/Dn5.ogg b/sound/instruments/guitar/Dn5.ogg new file mode 100644 index 00000000000..d6a9c38415a Binary files /dev/null and b/sound/instruments/guitar/Dn5.ogg differ diff --git a/sound/instruments/guitar/Dn6.ogg b/sound/instruments/guitar/Dn6.ogg new file mode 100644 index 00000000000..4e44d5e72fe Binary files /dev/null and b/sound/instruments/guitar/Dn6.ogg differ diff --git a/sound/instruments/guitar/Eb4.ogg b/sound/instruments/guitar/Eb4.ogg new file mode 100644 index 00000000000..1f93c8273d1 Binary files /dev/null and b/sound/instruments/guitar/Eb4.ogg differ diff --git a/sound/instruments/guitar/Eb5.ogg b/sound/instruments/guitar/Eb5.ogg new file mode 100644 index 00000000000..5b795377f38 Binary files /dev/null and b/sound/instruments/guitar/Eb5.ogg differ diff --git a/sound/instruments/guitar/Eb6.ogg b/sound/instruments/guitar/Eb6.ogg new file mode 100644 index 00000000000..5febf7a37b3 Binary files /dev/null and b/sound/instruments/guitar/Eb6.ogg differ diff --git a/sound/instruments/guitar/En3.ogg b/sound/instruments/guitar/En3.ogg new file mode 100644 index 00000000000..d9679bd78ea Binary files /dev/null and b/sound/instruments/guitar/En3.ogg differ diff --git a/sound/instruments/guitar/En4.ogg b/sound/instruments/guitar/En4.ogg new file mode 100644 index 00000000000..50dad80f506 Binary files /dev/null and b/sound/instruments/guitar/En4.ogg differ diff --git a/sound/instruments/guitar/En5.ogg b/sound/instruments/guitar/En5.ogg new file mode 100644 index 00000000000..8617c069201 Binary files /dev/null and b/sound/instruments/guitar/En5.ogg differ diff --git a/sound/instruments/guitar/En6.ogg b/sound/instruments/guitar/En6.ogg new file mode 100644 index 00000000000..a487ce33e4b Binary files /dev/null and b/sound/instruments/guitar/En6.ogg differ diff --git a/sound/instruments/guitar/Fn3.ogg b/sound/instruments/guitar/Fn3.ogg new file mode 100644 index 00000000000..4e37dc58126 Binary files /dev/null and b/sound/instruments/guitar/Fn3.ogg differ diff --git a/sound/instruments/guitar/Fn4.ogg b/sound/instruments/guitar/Fn4.ogg new file mode 100644 index 00000000000..3bf9957d48a Binary files /dev/null and b/sound/instruments/guitar/Fn4.ogg differ diff --git a/sound/instruments/guitar/Fn5.ogg b/sound/instruments/guitar/Fn5.ogg new file mode 100644 index 00000000000..ad0a0ecec79 Binary files /dev/null and b/sound/instruments/guitar/Fn5.ogg differ diff --git a/sound/instruments/guitar/Fn6.ogg b/sound/instruments/guitar/Fn6.ogg new file mode 100644 index 00000000000..50457e7bf4c Binary files /dev/null and b/sound/instruments/guitar/Fn6.ogg differ diff --git a/sound/instruments/guitar/Gb3.ogg b/sound/instruments/guitar/Gb3.ogg new file mode 100644 index 00000000000..1b2e6c503de Binary files /dev/null and b/sound/instruments/guitar/Gb3.ogg differ diff --git a/sound/instruments/guitar/Gb4.ogg b/sound/instruments/guitar/Gb4.ogg new file mode 100644 index 00000000000..122a0c5c17d Binary files /dev/null and b/sound/instruments/guitar/Gb4.ogg differ diff --git a/sound/instruments/guitar/Gb5.ogg b/sound/instruments/guitar/Gb5.ogg new file mode 100644 index 00000000000..b0346e2f365 Binary files /dev/null and b/sound/instruments/guitar/Gb5.ogg differ diff --git a/sound/instruments/guitar/Gb6.ogg b/sound/instruments/guitar/Gb6.ogg new file mode 100644 index 00000000000..4f873de27cf Binary files /dev/null and b/sound/instruments/guitar/Gb6.ogg differ diff --git a/sound/instruments/guitar/Gn3.ogg b/sound/instruments/guitar/Gn3.ogg new file mode 100644 index 00000000000..783cded9fe5 Binary files /dev/null and b/sound/instruments/guitar/Gn3.ogg differ diff --git a/sound/instruments/guitar/Gn4.ogg b/sound/instruments/guitar/Gn4.ogg new file mode 100644 index 00000000000..92f9cd2fd9d Binary files /dev/null and b/sound/instruments/guitar/Gn4.ogg differ diff --git a/sound/instruments/guitar/Gn5.ogg b/sound/instruments/guitar/Gn5.ogg new file mode 100644 index 00000000000..42fdebc209b Binary files /dev/null and b/sound/instruments/guitar/Gn5.ogg differ diff --git a/sound/instruments/guitar/Gn6.ogg b/sound/instruments/guitar/Gn6.ogg new file mode 100644 index 00000000000..a36bf38f001 Binary files /dev/null and b/sound/instruments/guitar/Gn6.ogg differ diff --git a/sound/instruments/harmonica/Ab2.mid b/sound/instruments/harmonica/Ab2.mid new file mode 100644 index 00000000000..c4c3ddeecd0 Binary files /dev/null and b/sound/instruments/harmonica/Ab2.mid differ diff --git a/sound/instruments/harmonica/Ab3.mid b/sound/instruments/harmonica/Ab3.mid new file mode 100644 index 00000000000..ab6c88ed510 Binary files /dev/null and b/sound/instruments/harmonica/Ab3.mid differ diff --git a/sound/instruments/harmonica/Ab4.mid b/sound/instruments/harmonica/Ab4.mid new file mode 100644 index 00000000000..d511cdb4750 Binary files /dev/null and b/sound/instruments/harmonica/Ab4.mid differ diff --git a/sound/instruments/harmonica/Ab5.mid b/sound/instruments/harmonica/Ab5.mid new file mode 100644 index 00000000000..abab8dc3221 Binary files /dev/null and b/sound/instruments/harmonica/Ab5.mid differ diff --git a/sound/instruments/harmonica/Ab6.mid b/sound/instruments/harmonica/Ab6.mid new file mode 100644 index 00000000000..15ca0f0d8f7 Binary files /dev/null and b/sound/instruments/harmonica/Ab6.mid differ diff --git a/sound/instruments/harmonica/An2.mid b/sound/instruments/harmonica/An2.mid new file mode 100644 index 00000000000..62bb9299352 Binary files /dev/null and b/sound/instruments/harmonica/An2.mid differ diff --git a/sound/instruments/harmonica/An3.mid b/sound/instruments/harmonica/An3.mid new file mode 100644 index 00000000000..20ee9dddcc6 Binary files /dev/null and b/sound/instruments/harmonica/An3.mid differ diff --git a/sound/instruments/harmonica/An4.mid b/sound/instruments/harmonica/An4.mid new file mode 100644 index 00000000000..a791135fa81 Binary files /dev/null and b/sound/instruments/harmonica/An4.mid differ diff --git a/sound/instruments/harmonica/An5.mid b/sound/instruments/harmonica/An5.mid new file mode 100644 index 00000000000..b78f0793c8a Binary files /dev/null and b/sound/instruments/harmonica/An5.mid differ diff --git a/sound/instruments/harmonica/An6.mid b/sound/instruments/harmonica/An6.mid new file mode 100644 index 00000000000..e250b41e9f8 Binary files /dev/null and b/sound/instruments/harmonica/An6.mid differ diff --git a/sound/instruments/harmonica/Bb2.mid b/sound/instruments/harmonica/Bb2.mid new file mode 100644 index 00000000000..610e1f0f380 Binary files /dev/null and b/sound/instruments/harmonica/Bb2.mid differ diff --git a/sound/instruments/harmonica/Bb3.mid b/sound/instruments/harmonica/Bb3.mid new file mode 100644 index 00000000000..79f0966663d Binary files /dev/null and b/sound/instruments/harmonica/Bb3.mid differ diff --git a/sound/instruments/harmonica/Bb4.mid b/sound/instruments/harmonica/Bb4.mid new file mode 100644 index 00000000000..af1eb969c62 Binary files /dev/null and b/sound/instruments/harmonica/Bb4.mid differ diff --git a/sound/instruments/harmonica/Bb5.mid b/sound/instruments/harmonica/Bb5.mid new file mode 100644 index 00000000000..e816d9cbdd0 Binary files /dev/null and b/sound/instruments/harmonica/Bb5.mid differ diff --git a/sound/instruments/harmonica/Bb6.mid b/sound/instruments/harmonica/Bb6.mid new file mode 100644 index 00000000000..ad5b9d2f9e6 Binary files /dev/null and b/sound/instruments/harmonica/Bb6.mid differ diff --git a/sound/instruments/harmonica/Bn2.mid b/sound/instruments/harmonica/Bn2.mid new file mode 100644 index 00000000000..f03c0f95358 Binary files /dev/null and b/sound/instruments/harmonica/Bn2.mid differ diff --git a/sound/instruments/harmonica/Bn3.mid b/sound/instruments/harmonica/Bn3.mid new file mode 100644 index 00000000000..3d078bba8ed Binary files /dev/null and b/sound/instruments/harmonica/Bn3.mid differ diff --git a/sound/instruments/harmonica/Bn4.mid b/sound/instruments/harmonica/Bn4.mid new file mode 100644 index 00000000000..fff2f5e7b80 Binary files /dev/null and b/sound/instruments/harmonica/Bn4.mid differ diff --git a/sound/instruments/harmonica/Bn5.mid b/sound/instruments/harmonica/Bn5.mid new file mode 100644 index 00000000000..b3cf8fe0516 Binary files /dev/null and b/sound/instruments/harmonica/Bn5.mid differ diff --git a/sound/instruments/harmonica/Bn6.mid b/sound/instruments/harmonica/Bn6.mid new file mode 100644 index 00000000000..03b60c6a49a Binary files /dev/null and b/sound/instruments/harmonica/Bn6.mid differ diff --git a/sound/instruments/harmonica/Cn2.mid b/sound/instruments/harmonica/Cn2.mid new file mode 100644 index 00000000000..6501f021d29 Binary files /dev/null and b/sound/instruments/harmonica/Cn2.mid differ diff --git a/sound/instruments/harmonica/Cn3.mid b/sound/instruments/harmonica/Cn3.mid new file mode 100644 index 00000000000..462bc973ef7 Binary files /dev/null and b/sound/instruments/harmonica/Cn3.mid differ diff --git a/sound/instruments/harmonica/Cn4.mid b/sound/instruments/harmonica/Cn4.mid new file mode 100644 index 00000000000..1d4d9ad83b2 Binary files /dev/null and b/sound/instruments/harmonica/Cn4.mid differ diff --git a/sound/instruments/harmonica/Cn5.mid b/sound/instruments/harmonica/Cn5.mid new file mode 100644 index 00000000000..7f0698266e3 Binary files /dev/null and b/sound/instruments/harmonica/Cn5.mid differ diff --git a/sound/instruments/harmonica/Cn6.mid b/sound/instruments/harmonica/Cn6.mid new file mode 100644 index 00000000000..9edc25c6259 Binary files /dev/null and b/sound/instruments/harmonica/Cn6.mid differ diff --git a/sound/instruments/harmonica/Cn7.mid b/sound/instruments/harmonica/Cn7.mid new file mode 100644 index 00000000000..d670d4f07c7 Binary files /dev/null and b/sound/instruments/harmonica/Cn7.mid differ diff --git a/sound/instruments/harmonica/Db2.mid b/sound/instruments/harmonica/Db2.mid new file mode 100644 index 00000000000..dab89a2a1bf Binary files /dev/null and b/sound/instruments/harmonica/Db2.mid differ diff --git a/sound/instruments/harmonica/Db3.mid b/sound/instruments/harmonica/Db3.mid new file mode 100644 index 00000000000..06d826dfc75 Binary files /dev/null and b/sound/instruments/harmonica/Db3.mid differ diff --git a/sound/instruments/harmonica/Db4.mid b/sound/instruments/harmonica/Db4.mid new file mode 100644 index 00000000000..1e9f67c9ad3 Binary files /dev/null and b/sound/instruments/harmonica/Db4.mid differ diff --git a/sound/instruments/harmonica/Db5.mid b/sound/instruments/harmonica/Db5.mid new file mode 100644 index 00000000000..08346dd8389 Binary files /dev/null and b/sound/instruments/harmonica/Db5.mid differ diff --git a/sound/instruments/harmonica/Db6.mid b/sound/instruments/harmonica/Db6.mid new file mode 100644 index 00000000000..2269113e007 Binary files /dev/null and b/sound/instruments/harmonica/Db6.mid differ diff --git a/sound/instruments/harmonica/Dn2.mid b/sound/instruments/harmonica/Dn2.mid new file mode 100644 index 00000000000..652990ac1a4 Binary files /dev/null and b/sound/instruments/harmonica/Dn2.mid differ diff --git a/sound/instruments/harmonica/Dn3.mid b/sound/instruments/harmonica/Dn3.mid new file mode 100644 index 00000000000..e2e3a63d345 Binary files /dev/null and b/sound/instruments/harmonica/Dn3.mid differ diff --git a/sound/instruments/harmonica/Dn4.mid b/sound/instruments/harmonica/Dn4.mid new file mode 100644 index 00000000000..d9a23a5445f Binary files /dev/null and b/sound/instruments/harmonica/Dn4.mid differ diff --git a/sound/instruments/harmonica/Dn5.mid b/sound/instruments/harmonica/Dn5.mid new file mode 100644 index 00000000000..3ff298d3946 Binary files /dev/null and b/sound/instruments/harmonica/Dn5.mid differ diff --git a/sound/instruments/harmonica/Dn6.mid b/sound/instruments/harmonica/Dn6.mid new file mode 100644 index 00000000000..6aa4c5ef434 Binary files /dev/null and b/sound/instruments/harmonica/Dn6.mid differ diff --git a/sound/instruments/harmonica/Eb2.mid b/sound/instruments/harmonica/Eb2.mid new file mode 100644 index 00000000000..d1a8e3fbea2 Binary files /dev/null and b/sound/instruments/harmonica/Eb2.mid differ diff --git a/sound/instruments/harmonica/Eb3.mid b/sound/instruments/harmonica/Eb3.mid new file mode 100644 index 00000000000..c31c6ab6e9f Binary files /dev/null and b/sound/instruments/harmonica/Eb3.mid differ diff --git a/sound/instruments/harmonica/Eb4.mid b/sound/instruments/harmonica/Eb4.mid new file mode 100644 index 00000000000..eabad551599 Binary files /dev/null and b/sound/instruments/harmonica/Eb4.mid differ diff --git a/sound/instruments/harmonica/Eb5.mid b/sound/instruments/harmonica/Eb5.mid new file mode 100644 index 00000000000..8da3b86e483 Binary files /dev/null and b/sound/instruments/harmonica/Eb5.mid differ diff --git a/sound/instruments/harmonica/Eb6.mid b/sound/instruments/harmonica/Eb6.mid new file mode 100644 index 00000000000..db3d2b17b9e Binary files /dev/null and b/sound/instruments/harmonica/Eb6.mid differ diff --git a/sound/instruments/harmonica/En2.mid b/sound/instruments/harmonica/En2.mid new file mode 100644 index 00000000000..48ea2d8bcb9 Binary files /dev/null and b/sound/instruments/harmonica/En2.mid differ diff --git a/sound/instruments/harmonica/En3.mid b/sound/instruments/harmonica/En3.mid new file mode 100644 index 00000000000..d7d2492add0 Binary files /dev/null and b/sound/instruments/harmonica/En3.mid differ diff --git a/sound/instruments/harmonica/En4.mid b/sound/instruments/harmonica/En4.mid new file mode 100644 index 00000000000..b2731141e6e Binary files /dev/null and b/sound/instruments/harmonica/En4.mid differ diff --git a/sound/instruments/harmonica/En5.mid b/sound/instruments/harmonica/En5.mid new file mode 100644 index 00000000000..22026c14c4f Binary files /dev/null and b/sound/instruments/harmonica/En5.mid differ diff --git a/sound/instruments/harmonica/En6.mid b/sound/instruments/harmonica/En6.mid new file mode 100644 index 00000000000..6730a7c5287 Binary files /dev/null and b/sound/instruments/harmonica/En6.mid differ diff --git a/sound/instruments/harmonica/Fn2.mid b/sound/instruments/harmonica/Fn2.mid new file mode 100644 index 00000000000..833662178d0 Binary files /dev/null and b/sound/instruments/harmonica/Fn2.mid differ diff --git a/sound/instruments/harmonica/Fn3.mid b/sound/instruments/harmonica/Fn3.mid new file mode 100644 index 00000000000..7dc41a47c88 Binary files /dev/null and b/sound/instruments/harmonica/Fn3.mid differ diff --git a/sound/instruments/harmonica/Fn4.mid b/sound/instruments/harmonica/Fn4.mid new file mode 100644 index 00000000000..025583e38d3 Binary files /dev/null and b/sound/instruments/harmonica/Fn4.mid differ diff --git a/sound/instruments/harmonica/Fn5.mid b/sound/instruments/harmonica/Fn5.mid new file mode 100644 index 00000000000..710b458d85b Binary files /dev/null and b/sound/instruments/harmonica/Fn5.mid differ diff --git a/sound/instruments/harmonica/Fn6.mid b/sound/instruments/harmonica/Fn6.mid new file mode 100644 index 00000000000..44112e36595 Binary files /dev/null and b/sound/instruments/harmonica/Fn6.mid differ diff --git a/sound/instruments/harmonica/Gb2.mid b/sound/instruments/harmonica/Gb2.mid new file mode 100644 index 00000000000..8edd298ec13 Binary files /dev/null and b/sound/instruments/harmonica/Gb2.mid differ diff --git a/sound/instruments/harmonica/Gb3.mid b/sound/instruments/harmonica/Gb3.mid new file mode 100644 index 00000000000..438a939095a Binary files /dev/null and b/sound/instruments/harmonica/Gb3.mid differ diff --git a/sound/instruments/harmonica/Gb4.mid b/sound/instruments/harmonica/Gb4.mid new file mode 100644 index 00000000000..7844063205c Binary files /dev/null and b/sound/instruments/harmonica/Gb4.mid differ diff --git a/sound/instruments/harmonica/Gb5.mid b/sound/instruments/harmonica/Gb5.mid new file mode 100644 index 00000000000..4139bce10e0 Binary files /dev/null and b/sound/instruments/harmonica/Gb5.mid differ diff --git a/sound/instruments/harmonica/Gb6.mid b/sound/instruments/harmonica/Gb6.mid new file mode 100644 index 00000000000..e6b1a8fb897 Binary files /dev/null and b/sound/instruments/harmonica/Gb6.mid differ diff --git a/sound/instruments/harmonica/Gn2.mid b/sound/instruments/harmonica/Gn2.mid new file mode 100644 index 00000000000..d26e7c83af6 Binary files /dev/null and b/sound/instruments/harmonica/Gn2.mid differ diff --git a/sound/instruments/harmonica/Gn3.mid b/sound/instruments/harmonica/Gn3.mid new file mode 100644 index 00000000000..c741d556c9e Binary files /dev/null and b/sound/instruments/harmonica/Gn3.mid differ diff --git a/sound/instruments/harmonica/Gn4.mid b/sound/instruments/harmonica/Gn4.mid new file mode 100644 index 00000000000..c6e7a3c9bb2 Binary files /dev/null and b/sound/instruments/harmonica/Gn4.mid differ diff --git a/sound/instruments/harmonica/Gn5.mid b/sound/instruments/harmonica/Gn5.mid new file mode 100644 index 00000000000..a9608e9d210 Binary files /dev/null and b/sound/instruments/harmonica/Gn5.mid differ diff --git a/sound/instruments/harmonica/Gn6.mid b/sound/instruments/harmonica/Gn6.mid new file mode 100644 index 00000000000..98f6d32bfc5 Binary files /dev/null and b/sound/instruments/harmonica/Gn6.mid differ diff --git a/sound/instruments/recorder/Ab2.mid b/sound/instruments/recorder/Ab2.mid new file mode 100644 index 00000000000..2fb39fa140b Binary files /dev/null and b/sound/instruments/recorder/Ab2.mid differ diff --git a/sound/instruments/recorder/Ab3.mid b/sound/instruments/recorder/Ab3.mid new file mode 100644 index 00000000000..7a04ef76019 Binary files /dev/null and b/sound/instruments/recorder/Ab3.mid differ diff --git a/sound/instruments/recorder/Ab4.mid b/sound/instruments/recorder/Ab4.mid new file mode 100644 index 00000000000..93e51322a02 Binary files /dev/null and b/sound/instruments/recorder/Ab4.mid differ diff --git a/sound/instruments/recorder/Ab5.mid b/sound/instruments/recorder/Ab5.mid new file mode 100644 index 00000000000..ad91ee6e0a3 Binary files /dev/null and b/sound/instruments/recorder/Ab5.mid differ diff --git a/sound/instruments/recorder/Ab6.mid b/sound/instruments/recorder/Ab6.mid new file mode 100644 index 00000000000..3376b0c0ee6 Binary files /dev/null and b/sound/instruments/recorder/Ab6.mid differ diff --git a/sound/instruments/recorder/An2.mid b/sound/instruments/recorder/An2.mid new file mode 100644 index 00000000000..d9e9c0e4c3c Binary files /dev/null and b/sound/instruments/recorder/An2.mid differ diff --git a/sound/instruments/recorder/An3.mid b/sound/instruments/recorder/An3.mid new file mode 100644 index 00000000000..91aa5c253c7 Binary files /dev/null and b/sound/instruments/recorder/An3.mid differ diff --git a/sound/instruments/recorder/An4.mid b/sound/instruments/recorder/An4.mid new file mode 100644 index 00000000000..bbfba81a4a7 Binary files /dev/null and b/sound/instruments/recorder/An4.mid differ diff --git a/sound/instruments/recorder/An5.mid b/sound/instruments/recorder/An5.mid new file mode 100644 index 00000000000..ab73190d684 Binary files /dev/null and b/sound/instruments/recorder/An5.mid differ diff --git a/sound/instruments/recorder/An6.mid b/sound/instruments/recorder/An6.mid new file mode 100644 index 00000000000..8417f2916ff Binary files /dev/null and b/sound/instruments/recorder/An6.mid differ diff --git a/sound/instruments/recorder/Bb2.mid b/sound/instruments/recorder/Bb2.mid new file mode 100644 index 00000000000..9ec20e3d2f3 Binary files /dev/null and b/sound/instruments/recorder/Bb2.mid differ diff --git a/sound/instruments/recorder/Bb3.mid b/sound/instruments/recorder/Bb3.mid new file mode 100644 index 00000000000..bd6fc036e99 Binary files /dev/null and b/sound/instruments/recorder/Bb3.mid differ diff --git a/sound/instruments/recorder/Bb4.mid b/sound/instruments/recorder/Bb4.mid new file mode 100644 index 00000000000..48f9db73fa0 Binary files /dev/null and b/sound/instruments/recorder/Bb4.mid differ diff --git a/sound/instruments/recorder/Bb5.mid b/sound/instruments/recorder/Bb5.mid new file mode 100644 index 00000000000..20ffe453eba Binary files /dev/null and b/sound/instruments/recorder/Bb5.mid differ diff --git a/sound/instruments/recorder/Bb6.mid b/sound/instruments/recorder/Bb6.mid new file mode 100644 index 00000000000..954c1c20793 Binary files /dev/null and b/sound/instruments/recorder/Bb6.mid differ diff --git a/sound/instruments/recorder/Bn2.mid b/sound/instruments/recorder/Bn2.mid new file mode 100644 index 00000000000..ca1e63c25b4 Binary files /dev/null and b/sound/instruments/recorder/Bn2.mid differ diff --git a/sound/instruments/recorder/Bn3.mid b/sound/instruments/recorder/Bn3.mid new file mode 100644 index 00000000000..11b0c2fe374 Binary files /dev/null and b/sound/instruments/recorder/Bn3.mid differ diff --git a/sound/instruments/recorder/Bn4.mid b/sound/instruments/recorder/Bn4.mid new file mode 100644 index 00000000000..5b11df50ffd Binary files /dev/null and b/sound/instruments/recorder/Bn4.mid differ diff --git a/sound/instruments/recorder/Bn5.mid b/sound/instruments/recorder/Bn5.mid new file mode 100644 index 00000000000..b353150df85 Binary files /dev/null and b/sound/instruments/recorder/Bn5.mid differ diff --git a/sound/instruments/recorder/Bn6.mid b/sound/instruments/recorder/Bn6.mid new file mode 100644 index 00000000000..cf69ce6d21d Binary files /dev/null and b/sound/instruments/recorder/Bn6.mid differ diff --git a/sound/instruments/recorder/Cn2.mid b/sound/instruments/recorder/Cn2.mid new file mode 100644 index 00000000000..858ec955afd Binary files /dev/null and b/sound/instruments/recorder/Cn2.mid differ diff --git a/sound/instruments/recorder/Cn3.mid b/sound/instruments/recorder/Cn3.mid new file mode 100644 index 00000000000..2c65b49f741 Binary files /dev/null and b/sound/instruments/recorder/Cn3.mid differ diff --git a/sound/instruments/recorder/Cn4.mid b/sound/instruments/recorder/Cn4.mid new file mode 100644 index 00000000000..9fc1fd5b5a8 Binary files /dev/null and b/sound/instruments/recorder/Cn4.mid differ diff --git a/sound/instruments/recorder/Cn5.mid b/sound/instruments/recorder/Cn5.mid new file mode 100644 index 00000000000..6a86a7e06f1 Binary files /dev/null and b/sound/instruments/recorder/Cn5.mid differ diff --git a/sound/instruments/recorder/Cn6.mid b/sound/instruments/recorder/Cn6.mid new file mode 100644 index 00000000000..43355e27c31 Binary files /dev/null and b/sound/instruments/recorder/Cn6.mid differ diff --git a/sound/instruments/recorder/Cn7.mid b/sound/instruments/recorder/Cn7.mid new file mode 100644 index 00000000000..ff5e08b0e5d Binary files /dev/null and b/sound/instruments/recorder/Cn7.mid differ diff --git a/sound/instruments/recorder/Db2.mid b/sound/instruments/recorder/Db2.mid new file mode 100644 index 00000000000..1ac1299e6dd Binary files /dev/null and b/sound/instruments/recorder/Db2.mid differ diff --git a/sound/instruments/recorder/Db3.mid b/sound/instruments/recorder/Db3.mid new file mode 100644 index 00000000000..7a45bdc91b8 Binary files /dev/null and b/sound/instruments/recorder/Db3.mid differ diff --git a/sound/instruments/recorder/Db4.mid b/sound/instruments/recorder/Db4.mid new file mode 100644 index 00000000000..6dca8557091 Binary files /dev/null and b/sound/instruments/recorder/Db4.mid differ diff --git a/sound/instruments/recorder/Db5.mid b/sound/instruments/recorder/Db5.mid new file mode 100644 index 00000000000..5d83733262a Binary files /dev/null and b/sound/instruments/recorder/Db5.mid differ diff --git a/sound/instruments/recorder/Db6.mid b/sound/instruments/recorder/Db6.mid new file mode 100644 index 00000000000..3f45f77bcd2 Binary files /dev/null and b/sound/instruments/recorder/Db6.mid differ diff --git a/sound/instruments/recorder/Db7.mid b/sound/instruments/recorder/Db7.mid new file mode 100644 index 00000000000..d326ab7bd1a Binary files /dev/null and b/sound/instruments/recorder/Db7.mid differ diff --git a/sound/instruments/recorder/Dn2.mid b/sound/instruments/recorder/Dn2.mid new file mode 100644 index 00000000000..8ddef0e0d04 Binary files /dev/null and b/sound/instruments/recorder/Dn2.mid differ diff --git a/sound/instruments/recorder/Dn3.mid b/sound/instruments/recorder/Dn3.mid new file mode 100644 index 00000000000..b11ff85aab5 Binary files /dev/null and b/sound/instruments/recorder/Dn3.mid differ diff --git a/sound/instruments/recorder/Dn4.mid b/sound/instruments/recorder/Dn4.mid new file mode 100644 index 00000000000..ae877932997 Binary files /dev/null and b/sound/instruments/recorder/Dn4.mid differ diff --git a/sound/instruments/recorder/Dn5.mid b/sound/instruments/recorder/Dn5.mid new file mode 100644 index 00000000000..440da3c7781 Binary files /dev/null and b/sound/instruments/recorder/Dn5.mid differ diff --git a/sound/instruments/recorder/Dn6.mid b/sound/instruments/recorder/Dn6.mid new file mode 100644 index 00000000000..d96623529fd Binary files /dev/null and b/sound/instruments/recorder/Dn6.mid differ diff --git a/sound/instruments/recorder/Eb2.mid b/sound/instruments/recorder/Eb2.mid new file mode 100644 index 00000000000..5e5b8385f96 Binary files /dev/null and b/sound/instruments/recorder/Eb2.mid differ diff --git a/sound/instruments/recorder/Eb3.mid b/sound/instruments/recorder/Eb3.mid new file mode 100644 index 00000000000..8a907f6ebfe Binary files /dev/null and b/sound/instruments/recorder/Eb3.mid differ diff --git a/sound/instruments/recorder/Eb4.mid b/sound/instruments/recorder/Eb4.mid new file mode 100644 index 00000000000..4cf1c0ed28c Binary files /dev/null and b/sound/instruments/recorder/Eb4.mid differ diff --git a/sound/instruments/recorder/Eb5.mid b/sound/instruments/recorder/Eb5.mid new file mode 100644 index 00000000000..ea7c8983d38 Binary files /dev/null and b/sound/instruments/recorder/Eb5.mid differ diff --git a/sound/instruments/recorder/Eb6.mid b/sound/instruments/recorder/Eb6.mid new file mode 100644 index 00000000000..0c477b65fdc Binary files /dev/null and b/sound/instruments/recorder/Eb6.mid differ diff --git a/sound/instruments/recorder/En2.mid b/sound/instruments/recorder/En2.mid new file mode 100644 index 00000000000..ff9a551a8e0 Binary files /dev/null and b/sound/instruments/recorder/En2.mid differ diff --git a/sound/instruments/recorder/En3.mid b/sound/instruments/recorder/En3.mid new file mode 100644 index 00000000000..fd192ab704f Binary files /dev/null and b/sound/instruments/recorder/En3.mid differ diff --git a/sound/instruments/recorder/En4.mid b/sound/instruments/recorder/En4.mid new file mode 100644 index 00000000000..77c01ec6471 Binary files /dev/null and b/sound/instruments/recorder/En4.mid differ diff --git a/sound/instruments/recorder/En5.mid b/sound/instruments/recorder/En5.mid new file mode 100644 index 00000000000..be74f3f0972 Binary files /dev/null and b/sound/instruments/recorder/En5.mid differ diff --git a/sound/instruments/recorder/En6.mid b/sound/instruments/recorder/En6.mid new file mode 100644 index 00000000000..95365e9a264 Binary files /dev/null and b/sound/instruments/recorder/En6.mid differ diff --git a/sound/instruments/recorder/Fn2.mid b/sound/instruments/recorder/Fn2.mid new file mode 100644 index 00000000000..3a2563ea2ce Binary files /dev/null and b/sound/instruments/recorder/Fn2.mid differ diff --git a/sound/instruments/recorder/Fn3.mid b/sound/instruments/recorder/Fn3.mid new file mode 100644 index 00000000000..3114cce6d81 Binary files /dev/null and b/sound/instruments/recorder/Fn3.mid differ diff --git a/sound/instruments/recorder/Fn4.mid b/sound/instruments/recorder/Fn4.mid new file mode 100644 index 00000000000..012754e474c Binary files /dev/null and b/sound/instruments/recorder/Fn4.mid differ diff --git a/sound/instruments/recorder/Fn5.mid b/sound/instruments/recorder/Fn5.mid new file mode 100644 index 00000000000..83a83cc62e9 Binary files /dev/null and b/sound/instruments/recorder/Fn5.mid differ diff --git a/sound/instruments/recorder/Fn6.mid b/sound/instruments/recorder/Fn6.mid new file mode 100644 index 00000000000..9e7fbf85280 Binary files /dev/null and b/sound/instruments/recorder/Fn6.mid differ diff --git a/sound/instruments/recorder/Gb2.mid b/sound/instruments/recorder/Gb2.mid new file mode 100644 index 00000000000..639ea8a2d00 Binary files /dev/null and b/sound/instruments/recorder/Gb2.mid differ diff --git a/sound/instruments/recorder/Gb3.mid b/sound/instruments/recorder/Gb3.mid new file mode 100644 index 00000000000..b5b10b4993a Binary files /dev/null and b/sound/instruments/recorder/Gb3.mid differ diff --git a/sound/instruments/recorder/Gb4.mid b/sound/instruments/recorder/Gb4.mid new file mode 100644 index 00000000000..4fdf67d9b99 Binary files /dev/null and b/sound/instruments/recorder/Gb4.mid differ diff --git a/sound/instruments/recorder/Gb5.mid b/sound/instruments/recorder/Gb5.mid new file mode 100644 index 00000000000..233260ecc17 Binary files /dev/null and b/sound/instruments/recorder/Gb5.mid differ diff --git a/sound/instruments/recorder/Gb6.mid b/sound/instruments/recorder/Gb6.mid new file mode 100644 index 00000000000..d594ae7c956 Binary files /dev/null and b/sound/instruments/recorder/Gb6.mid differ diff --git a/sound/instruments/recorder/Gn2.mid b/sound/instruments/recorder/Gn2.mid new file mode 100644 index 00000000000..2786935b6d2 Binary files /dev/null and b/sound/instruments/recorder/Gn2.mid differ diff --git a/sound/instruments/recorder/Gn3.mid b/sound/instruments/recorder/Gn3.mid new file mode 100644 index 00000000000..d1aae368ab4 Binary files /dev/null and b/sound/instruments/recorder/Gn3.mid differ diff --git a/sound/instruments/recorder/Gn4.mid b/sound/instruments/recorder/Gn4.mid new file mode 100644 index 00000000000..3308c871d48 Binary files /dev/null and b/sound/instruments/recorder/Gn4.mid differ diff --git a/sound/instruments/recorder/Gn5.mid b/sound/instruments/recorder/Gn5.mid new file mode 100644 index 00000000000..a46440992c8 Binary files /dev/null and b/sound/instruments/recorder/Gn5.mid differ diff --git a/sound/instruments/recorder/Gn6.mid b/sound/instruments/recorder/Gn6.mid new file mode 100644 index 00000000000..0f84be6cdc7 Binary files /dev/null and b/sound/instruments/recorder/Gn6.mid differ diff --git a/sound/instruments/saxophone/Ab2.mid b/sound/instruments/saxophone/Ab2.mid new file mode 100644 index 00000000000..3408aba1316 Binary files /dev/null and b/sound/instruments/saxophone/Ab2.mid differ diff --git a/sound/instruments/saxophone/Ab3.mid b/sound/instruments/saxophone/Ab3.mid new file mode 100644 index 00000000000..e469c51b65b Binary files /dev/null and b/sound/instruments/saxophone/Ab3.mid differ diff --git a/sound/instruments/saxophone/Ab4.mid b/sound/instruments/saxophone/Ab4.mid new file mode 100644 index 00000000000..6ee2a9e41be Binary files /dev/null and b/sound/instruments/saxophone/Ab4.mid differ diff --git a/sound/instruments/saxophone/Ab5.mid b/sound/instruments/saxophone/Ab5.mid new file mode 100644 index 00000000000..40b60e31715 Binary files /dev/null and b/sound/instruments/saxophone/Ab5.mid differ diff --git a/sound/instruments/saxophone/Ab6.mid b/sound/instruments/saxophone/Ab6.mid new file mode 100644 index 00000000000..d38a8a6c714 Binary files /dev/null and b/sound/instruments/saxophone/Ab6.mid differ diff --git a/sound/instruments/saxophone/An2.mid b/sound/instruments/saxophone/An2.mid new file mode 100644 index 00000000000..d481ec5a450 Binary files /dev/null and b/sound/instruments/saxophone/An2.mid differ diff --git a/sound/instruments/saxophone/An3.mid b/sound/instruments/saxophone/An3.mid new file mode 100644 index 00000000000..744579fb4b6 Binary files /dev/null and b/sound/instruments/saxophone/An3.mid differ diff --git a/sound/instruments/saxophone/An4.mid b/sound/instruments/saxophone/An4.mid new file mode 100644 index 00000000000..1885ad32228 Binary files /dev/null and b/sound/instruments/saxophone/An4.mid differ diff --git a/sound/instruments/saxophone/An5.mid b/sound/instruments/saxophone/An5.mid new file mode 100644 index 00000000000..23cf20713cf Binary files /dev/null and b/sound/instruments/saxophone/An5.mid differ diff --git a/sound/instruments/saxophone/An6.mid b/sound/instruments/saxophone/An6.mid new file mode 100644 index 00000000000..0c94d822557 Binary files /dev/null and b/sound/instruments/saxophone/An6.mid differ diff --git a/sound/instruments/saxophone/Bb2.mid b/sound/instruments/saxophone/Bb2.mid new file mode 100644 index 00000000000..d30855aaee1 Binary files /dev/null and b/sound/instruments/saxophone/Bb2.mid differ diff --git a/sound/instruments/saxophone/Bb3.mid b/sound/instruments/saxophone/Bb3.mid new file mode 100644 index 00000000000..2354e4c3e87 Binary files /dev/null and b/sound/instruments/saxophone/Bb3.mid differ diff --git a/sound/instruments/saxophone/Bb4.mid b/sound/instruments/saxophone/Bb4.mid new file mode 100644 index 00000000000..5ac9de9585d Binary files /dev/null and b/sound/instruments/saxophone/Bb4.mid differ diff --git a/sound/instruments/saxophone/Bb5.mid b/sound/instruments/saxophone/Bb5.mid new file mode 100644 index 00000000000..347560269eb Binary files /dev/null and b/sound/instruments/saxophone/Bb5.mid differ diff --git a/sound/instruments/saxophone/Bb6.mid b/sound/instruments/saxophone/Bb6.mid new file mode 100644 index 00000000000..335a8df26c3 Binary files /dev/null and b/sound/instruments/saxophone/Bb6.mid differ diff --git a/sound/instruments/saxophone/Bn2.mid b/sound/instruments/saxophone/Bn2.mid new file mode 100644 index 00000000000..9f215b5c7ce Binary files /dev/null and b/sound/instruments/saxophone/Bn2.mid differ diff --git a/sound/instruments/saxophone/Bn3.mid b/sound/instruments/saxophone/Bn3.mid new file mode 100644 index 00000000000..1d28aca7076 Binary files /dev/null and b/sound/instruments/saxophone/Bn3.mid differ diff --git a/sound/instruments/saxophone/Bn4.mid b/sound/instruments/saxophone/Bn4.mid new file mode 100644 index 00000000000..5c8bdf9775e Binary files /dev/null and b/sound/instruments/saxophone/Bn4.mid differ diff --git a/sound/instruments/saxophone/Bn5.mid b/sound/instruments/saxophone/Bn5.mid new file mode 100644 index 00000000000..e74f1f7415c Binary files /dev/null and b/sound/instruments/saxophone/Bn5.mid differ diff --git a/sound/instruments/saxophone/Bn6.mid b/sound/instruments/saxophone/Bn6.mid new file mode 100644 index 00000000000..59d6e12a145 Binary files /dev/null and b/sound/instruments/saxophone/Bn6.mid differ diff --git a/sound/instruments/saxophone/Cn2.mid b/sound/instruments/saxophone/Cn2.mid new file mode 100644 index 00000000000..7a816e603b8 Binary files /dev/null and b/sound/instruments/saxophone/Cn2.mid differ diff --git a/sound/instruments/saxophone/Cn3.mid b/sound/instruments/saxophone/Cn3.mid new file mode 100644 index 00000000000..1a575b087dc Binary files /dev/null and b/sound/instruments/saxophone/Cn3.mid differ diff --git a/sound/instruments/saxophone/Cn4.mid b/sound/instruments/saxophone/Cn4.mid new file mode 100644 index 00000000000..56377f1aed9 Binary files /dev/null and b/sound/instruments/saxophone/Cn4.mid differ diff --git a/sound/instruments/saxophone/Cn5.mid b/sound/instruments/saxophone/Cn5.mid new file mode 100644 index 00000000000..cc023521272 Binary files /dev/null and b/sound/instruments/saxophone/Cn5.mid differ diff --git a/sound/instruments/saxophone/Cn6.mid b/sound/instruments/saxophone/Cn6.mid new file mode 100644 index 00000000000..ed149684846 Binary files /dev/null and b/sound/instruments/saxophone/Cn6.mid differ diff --git a/sound/instruments/saxophone/Db2.mid b/sound/instruments/saxophone/Db2.mid new file mode 100644 index 00000000000..3ccbf59863c Binary files /dev/null and b/sound/instruments/saxophone/Db2.mid differ diff --git a/sound/instruments/saxophone/Db3.mid b/sound/instruments/saxophone/Db3.mid new file mode 100644 index 00000000000..0d10fa08d80 Binary files /dev/null and b/sound/instruments/saxophone/Db3.mid differ diff --git a/sound/instruments/saxophone/Db4.mid b/sound/instruments/saxophone/Db4.mid new file mode 100644 index 00000000000..2684d9bd02d Binary files /dev/null and b/sound/instruments/saxophone/Db4.mid differ diff --git a/sound/instruments/saxophone/Db5.mid b/sound/instruments/saxophone/Db5.mid new file mode 100644 index 00000000000..8380516db07 Binary files /dev/null and b/sound/instruments/saxophone/Db5.mid differ diff --git a/sound/instruments/saxophone/Db6.mid b/sound/instruments/saxophone/Db6.mid new file mode 100644 index 00000000000..29f95c9e0c8 Binary files /dev/null and b/sound/instruments/saxophone/Db6.mid differ diff --git a/sound/instruments/saxophone/Dn2.mid b/sound/instruments/saxophone/Dn2.mid new file mode 100644 index 00000000000..19cf21557b4 Binary files /dev/null and b/sound/instruments/saxophone/Dn2.mid differ diff --git a/sound/instruments/saxophone/Dn3.mid b/sound/instruments/saxophone/Dn3.mid new file mode 100644 index 00000000000..24077502dd0 Binary files /dev/null and b/sound/instruments/saxophone/Dn3.mid differ diff --git a/sound/instruments/saxophone/Dn4.mid b/sound/instruments/saxophone/Dn4.mid new file mode 100644 index 00000000000..5208e98b43f Binary files /dev/null and b/sound/instruments/saxophone/Dn4.mid differ diff --git a/sound/instruments/saxophone/Dn5.mid b/sound/instruments/saxophone/Dn5.mid new file mode 100644 index 00000000000..cb40d8ca9c2 Binary files /dev/null and b/sound/instruments/saxophone/Dn5.mid differ diff --git a/sound/instruments/saxophone/Dn6.mid b/sound/instruments/saxophone/Dn6.mid new file mode 100644 index 00000000000..f18bcbb6d7a Binary files /dev/null and b/sound/instruments/saxophone/Dn6.mid differ diff --git a/sound/instruments/saxophone/Eb2.mid b/sound/instruments/saxophone/Eb2.mid new file mode 100644 index 00000000000..967622de3f0 Binary files /dev/null and b/sound/instruments/saxophone/Eb2.mid differ diff --git a/sound/instruments/saxophone/Eb3.mid b/sound/instruments/saxophone/Eb3.mid new file mode 100644 index 00000000000..160ed39a06b Binary files /dev/null and b/sound/instruments/saxophone/Eb3.mid differ diff --git a/sound/instruments/saxophone/Eb4.mid b/sound/instruments/saxophone/Eb4.mid new file mode 100644 index 00000000000..f125b54a120 Binary files /dev/null and b/sound/instruments/saxophone/Eb4.mid differ diff --git a/sound/instruments/saxophone/Eb5.mid b/sound/instruments/saxophone/Eb5.mid new file mode 100644 index 00000000000..7cde98bb88f Binary files /dev/null and b/sound/instruments/saxophone/Eb5.mid differ diff --git a/sound/instruments/saxophone/Eb6.mid b/sound/instruments/saxophone/Eb6.mid new file mode 100644 index 00000000000..f1804b61657 Binary files /dev/null and b/sound/instruments/saxophone/Eb6.mid differ diff --git a/sound/instruments/saxophone/En2.mid b/sound/instruments/saxophone/En2.mid new file mode 100644 index 00000000000..5f8168a3cbd Binary files /dev/null and b/sound/instruments/saxophone/En2.mid differ diff --git a/sound/instruments/saxophone/En3.mid b/sound/instruments/saxophone/En3.mid new file mode 100644 index 00000000000..1762e61de97 Binary files /dev/null and b/sound/instruments/saxophone/En3.mid differ diff --git a/sound/instruments/saxophone/En4.mid b/sound/instruments/saxophone/En4.mid new file mode 100644 index 00000000000..0304e520a0f Binary files /dev/null and b/sound/instruments/saxophone/En4.mid differ diff --git a/sound/instruments/saxophone/En5.mid b/sound/instruments/saxophone/En5.mid new file mode 100644 index 00000000000..40d32ab74ac Binary files /dev/null and b/sound/instruments/saxophone/En5.mid differ diff --git a/sound/instruments/saxophone/En6.mid b/sound/instruments/saxophone/En6.mid new file mode 100644 index 00000000000..5bdd835c5c4 Binary files /dev/null and b/sound/instruments/saxophone/En6.mid differ diff --git a/sound/instruments/saxophone/Fn2.mid b/sound/instruments/saxophone/Fn2.mid new file mode 100644 index 00000000000..9260b884d8a Binary files /dev/null and b/sound/instruments/saxophone/Fn2.mid differ diff --git a/sound/instruments/saxophone/Fn3.mid b/sound/instruments/saxophone/Fn3.mid new file mode 100644 index 00000000000..fb22409dcc8 Binary files /dev/null and b/sound/instruments/saxophone/Fn3.mid differ diff --git a/sound/instruments/saxophone/Fn4.mid b/sound/instruments/saxophone/Fn4.mid new file mode 100644 index 00000000000..fb4ffd3a593 Binary files /dev/null and b/sound/instruments/saxophone/Fn4.mid differ diff --git a/sound/instruments/saxophone/Fn5.mid b/sound/instruments/saxophone/Fn5.mid new file mode 100644 index 00000000000..9b7241e59e3 Binary files /dev/null and b/sound/instruments/saxophone/Fn5.mid differ diff --git a/sound/instruments/saxophone/Fn6.mid b/sound/instruments/saxophone/Fn6.mid new file mode 100644 index 00000000000..c402032321a Binary files /dev/null and b/sound/instruments/saxophone/Fn6.mid differ diff --git a/sound/instruments/saxophone/Gb2.mid b/sound/instruments/saxophone/Gb2.mid new file mode 100644 index 00000000000..2a872b5dec5 Binary files /dev/null and b/sound/instruments/saxophone/Gb2.mid differ diff --git a/sound/instruments/saxophone/Gb3.mid b/sound/instruments/saxophone/Gb3.mid new file mode 100644 index 00000000000..5e5e5322826 Binary files /dev/null and b/sound/instruments/saxophone/Gb3.mid differ diff --git a/sound/instruments/saxophone/Gb4.mid b/sound/instruments/saxophone/Gb4.mid new file mode 100644 index 00000000000..758125de3e6 Binary files /dev/null and b/sound/instruments/saxophone/Gb4.mid differ diff --git a/sound/instruments/saxophone/Gb5.mid b/sound/instruments/saxophone/Gb5.mid new file mode 100644 index 00000000000..4afd8c65c90 Binary files /dev/null and b/sound/instruments/saxophone/Gb5.mid differ diff --git a/sound/instruments/saxophone/Gb6.mid b/sound/instruments/saxophone/Gb6.mid new file mode 100644 index 00000000000..a8f1d2107e4 Binary files /dev/null and b/sound/instruments/saxophone/Gb6.mid differ diff --git a/sound/instruments/saxophone/Gn2.mid b/sound/instruments/saxophone/Gn2.mid new file mode 100644 index 00000000000..750be55f685 Binary files /dev/null and b/sound/instruments/saxophone/Gn2.mid differ diff --git a/sound/instruments/saxophone/Gn4.mid b/sound/instruments/saxophone/Gn4.mid new file mode 100644 index 00000000000..2892048d15e Binary files /dev/null and b/sound/instruments/saxophone/Gn4.mid differ diff --git a/sound/instruments/saxophone/Gn5.mid b/sound/instruments/saxophone/Gn5.mid new file mode 100644 index 00000000000..8ef4ceffe0d Binary files /dev/null and b/sound/instruments/saxophone/Gn5.mid differ diff --git a/sound/instruments/saxophone/Gn6.mid b/sound/instruments/saxophone/Gn6.mid new file mode 100644 index 00000000000..26cbd145668 Binary files /dev/null and b/sound/instruments/saxophone/Gn6.mid differ diff --git a/sound/instruments/synthesis_samples/brass/crisis_brass/c2.ogg b/sound/instruments/synthesis_samples/brass/crisis_brass/c2.ogg new file mode 100644 index 00000000000..9808431b25f Binary files /dev/null and b/sound/instruments/synthesis_samples/brass/crisis_brass/c2.ogg differ diff --git a/sound/instruments/synthesis_samples/brass/crisis_brass/c3.ogg b/sound/instruments/synthesis_samples/brass/crisis_brass/c3.ogg new file mode 100644 index 00000000000..4118cff81cd Binary files /dev/null and b/sound/instruments/synthesis_samples/brass/crisis_brass/c3.ogg differ diff --git a/sound/instruments/synthesis_samples/brass/crisis_brass/c4.ogg b/sound/instruments/synthesis_samples/brass/crisis_brass/c4.ogg new file mode 100644 index 00000000000..ae9e1361d2a Binary files /dev/null and b/sound/instruments/synthesis_samples/brass/crisis_brass/c4.ogg differ diff --git a/sound/instruments/synthesis_samples/brass/crisis_brass/c5.ogg b/sound/instruments/synthesis_samples/brass/crisis_brass/c5.ogg new file mode 100644 index 00000000000..f19ddd93001 Binary files /dev/null and b/sound/instruments/synthesis_samples/brass/crisis_brass/c5.ogg differ diff --git a/sound/instruments/synthesis_samples/brass/crisis_trombone/C2.ogg b/sound/instruments/synthesis_samples/brass/crisis_trombone/C2.ogg new file mode 100644 index 00000000000..d2c872d5a32 Binary files /dev/null and b/sound/instruments/synthesis_samples/brass/crisis_trombone/C2.ogg differ diff --git a/sound/instruments/synthesis_samples/brass/crisis_trombone/C3.ogg b/sound/instruments/synthesis_samples/brass/crisis_trombone/C3.ogg new file mode 100644 index 00000000000..e1e3fc86355 Binary files /dev/null and b/sound/instruments/synthesis_samples/brass/crisis_trombone/C3.ogg differ diff --git a/sound/instruments/synthesis_samples/brass/crisis_trombone/C4.ogg b/sound/instruments/synthesis_samples/brass/crisis_trombone/C4.ogg new file mode 100644 index 00000000000..42c4aa755d8 Binary files /dev/null and b/sound/instruments/synthesis_samples/brass/crisis_trombone/C4.ogg differ diff --git a/sound/instruments/synthesis_samples/brass/crisis_trombone/C5.ogg b/sound/instruments/synthesis_samples/brass/crisis_trombone/C5.ogg new file mode 100644 index 00000000000..762d2868d08 Binary files /dev/null and b/sound/instruments/synthesis_samples/brass/crisis_trombone/C5.ogg differ diff --git a/sound/instruments/synthesis_samples/brass/crisis_trumpet/C4.ogg b/sound/instruments/synthesis_samples/brass/crisis_trumpet/C4.ogg new file mode 100644 index 00000000000..baf71063af5 Binary files /dev/null and b/sound/instruments/synthesis_samples/brass/crisis_trumpet/C4.ogg differ diff --git a/sound/instruments/synthesis_samples/brass/crisis_trumpet/C5.ogg b/sound/instruments/synthesis_samples/brass/crisis_trumpet/C5.ogg new file mode 100644 index 00000000000..92b4a110184 Binary files /dev/null and b/sound/instruments/synthesis_samples/brass/crisis_trumpet/C5.ogg differ diff --git a/sound/instruments/synthesis_samples/chromatic/fluid_celeste/C2.ogg b/sound/instruments/synthesis_samples/chromatic/fluid_celeste/C2.ogg new file mode 100644 index 00000000000..5a50a5091c5 Binary files /dev/null and b/sound/instruments/synthesis_samples/chromatic/fluid_celeste/C2.ogg differ diff --git a/sound/instruments/synthesis_samples/chromatic/fluid_celeste/C3.ogg b/sound/instruments/synthesis_samples/chromatic/fluid_celeste/C3.ogg new file mode 100644 index 00000000000..f0869382605 Binary files /dev/null and b/sound/instruments/synthesis_samples/chromatic/fluid_celeste/C3.ogg differ diff --git a/sound/instruments/synthesis_samples/chromatic/fluid_celeste/C4.ogg b/sound/instruments/synthesis_samples/chromatic/fluid_celeste/C4.ogg new file mode 100644 index 00000000000..1246bd53419 Binary files /dev/null and b/sound/instruments/synthesis_samples/chromatic/fluid_celeste/C4.ogg differ diff --git a/sound/instruments/synthesis_samples/chromatic/fluid_celeste/C5.ogg b/sound/instruments/synthesis_samples/chromatic/fluid_celeste/C5.ogg new file mode 100644 index 00000000000..73680ce627f Binary files /dev/null and b/sound/instruments/synthesis_samples/chromatic/fluid_celeste/C5.ogg differ diff --git a/sound/instruments/synthesis_samples/chromatic/fluid_celeste/C6.ogg b/sound/instruments/synthesis_samples/chromatic/fluid_celeste/C6.ogg new file mode 100644 index 00000000000..72841fb1892 Binary files /dev/null and b/sound/instruments/synthesis_samples/chromatic/fluid_celeste/C6.ogg differ diff --git a/sound/instruments/synthesis_samples/chromatic/fluid_celeste/C7.ogg b/sound/instruments/synthesis_samples/chromatic/fluid_celeste/C7.ogg new file mode 100644 index 00000000000..47797e4c002 Binary files /dev/null and b/sound/instruments/synthesis_samples/chromatic/fluid_celeste/C7.ogg differ diff --git a/sound/instruments/synthesis_samples/chromatic/fluid_celeste/C8.ogg b/sound/instruments/synthesis_samples/chromatic/fluid_celeste/C8.ogg new file mode 100644 index 00000000000..ea34703160d Binary files /dev/null and b/sound/instruments/synthesis_samples/chromatic/fluid_celeste/C8.ogg differ diff --git a/sound/instruments/synthesis_samples/chromatic/sgmbox/c2.ogg b/sound/instruments/synthesis_samples/chromatic/sgmbox/c2.ogg new file mode 100644 index 00000000000..4b96dd3dd3e Binary files /dev/null and b/sound/instruments/synthesis_samples/chromatic/sgmbox/c2.ogg differ diff --git a/sound/instruments/synthesis_samples/chromatic/sgmbox/c3.ogg b/sound/instruments/synthesis_samples/chromatic/sgmbox/c3.ogg new file mode 100644 index 00000000000..25daf5372e8 Binary files /dev/null and b/sound/instruments/synthesis_samples/chromatic/sgmbox/c3.ogg differ diff --git a/sound/instruments/synthesis_samples/chromatic/sgmbox/c4.ogg b/sound/instruments/synthesis_samples/chromatic/sgmbox/c4.ogg new file mode 100644 index 00000000000..9b989404e75 Binary files /dev/null and b/sound/instruments/synthesis_samples/chromatic/sgmbox/c4.ogg differ diff --git a/sound/instruments/synthesis_samples/chromatic/sgmbox/c5.ogg b/sound/instruments/synthesis_samples/chromatic/sgmbox/c5.ogg new file mode 100644 index 00000000000..7fa99d9278c Binary files /dev/null and b/sound/instruments/synthesis_samples/chromatic/sgmbox/c5.ogg differ diff --git a/sound/instruments/synthesis_samples/chromatic/vibraphone1/c2.ogg b/sound/instruments/synthesis_samples/chromatic/vibraphone1/c2.ogg new file mode 100644 index 00000000000..64578a8fe1a Binary files /dev/null and b/sound/instruments/synthesis_samples/chromatic/vibraphone1/c2.ogg differ diff --git a/sound/instruments/synthesis_samples/chromatic/vibraphone1/c3.ogg b/sound/instruments/synthesis_samples/chromatic/vibraphone1/c3.ogg new file mode 100644 index 00000000000..d97230ce1f2 Binary files /dev/null and b/sound/instruments/synthesis_samples/chromatic/vibraphone1/c3.ogg differ diff --git a/sound/instruments/synthesis_samples/chromatic/vibraphone1/c4.ogg b/sound/instruments/synthesis_samples/chromatic/vibraphone1/c4.ogg new file mode 100644 index 00000000000..eb6f80654ae Binary files /dev/null and b/sound/instruments/synthesis_samples/chromatic/vibraphone1/c4.ogg differ diff --git a/sound/instruments/synthesis_samples/chromatic/vibraphone1/c5.ogg b/sound/instruments/synthesis_samples/chromatic/vibraphone1/c5.ogg new file mode 100644 index 00000000000..8f25ee2747f Binary files /dev/null and b/sound/instruments/synthesis_samples/chromatic/vibraphone1/c5.ogg differ diff --git a/sound/instruments/synthesis_samples/guitar/crisis_clean/C2.ogg b/sound/instruments/synthesis_samples/guitar/crisis_clean/C2.ogg new file mode 100644 index 00000000000..17bea8122c6 Binary files /dev/null and b/sound/instruments/synthesis_samples/guitar/crisis_clean/C2.ogg differ diff --git a/sound/instruments/synthesis_samples/guitar/crisis_clean/C3.ogg b/sound/instruments/synthesis_samples/guitar/crisis_clean/C3.ogg new file mode 100644 index 00000000000..6dc0d8ad387 Binary files /dev/null and b/sound/instruments/synthesis_samples/guitar/crisis_clean/C3.ogg differ diff --git a/sound/instruments/synthesis_samples/guitar/crisis_clean/C4.ogg b/sound/instruments/synthesis_samples/guitar/crisis_clean/C4.ogg new file mode 100644 index 00000000000..fbbcacb3727 Binary files /dev/null and b/sound/instruments/synthesis_samples/guitar/crisis_clean/C4.ogg differ diff --git a/sound/instruments/synthesis_samples/guitar/crisis_clean/C5.ogg b/sound/instruments/synthesis_samples/guitar/crisis_clean/C5.ogg new file mode 100644 index 00000000000..f9bb3f6e92f Binary files /dev/null and b/sound/instruments/synthesis_samples/guitar/crisis_clean/C5.ogg differ diff --git a/sound/instruments/synthesis_samples/guitar/crisis_muted/C2.ogg b/sound/instruments/synthesis_samples/guitar/crisis_muted/C2.ogg new file mode 100644 index 00000000000..777a38664f8 Binary files /dev/null and b/sound/instruments/synthesis_samples/guitar/crisis_muted/C2.ogg differ diff --git a/sound/instruments/synthesis_samples/guitar/crisis_muted/C3.ogg b/sound/instruments/synthesis_samples/guitar/crisis_muted/C3.ogg new file mode 100644 index 00000000000..c14aa5ec93f Binary files /dev/null and b/sound/instruments/synthesis_samples/guitar/crisis_muted/C3.ogg differ diff --git a/sound/instruments/synthesis_samples/guitar/crisis_muted/C4.ogg b/sound/instruments/synthesis_samples/guitar/crisis_muted/C4.ogg new file mode 100644 index 00000000000..b2a457b4967 Binary files /dev/null and b/sound/instruments/synthesis_samples/guitar/crisis_muted/C4.ogg differ diff --git a/sound/instruments/synthesis_samples/guitar/crisis_muted/C5.ogg b/sound/instruments/synthesis_samples/guitar/crisis_muted/C5.ogg new file mode 100644 index 00000000000..c4f5aac8bf5 Binary files /dev/null and b/sound/instruments/synthesis_samples/guitar/crisis_muted/C5.ogg differ diff --git a/sound/instruments/synthesis_samples/guitar/crisis_nylon/c2.ogg b/sound/instruments/synthesis_samples/guitar/crisis_nylon/c2.ogg new file mode 100644 index 00000000000..6a8115f004b Binary files /dev/null and b/sound/instruments/synthesis_samples/guitar/crisis_nylon/c2.ogg differ diff --git a/sound/instruments/synthesis_samples/guitar/crisis_nylon/c3.ogg b/sound/instruments/synthesis_samples/guitar/crisis_nylon/c3.ogg new file mode 100644 index 00000000000..15ec741bb6c Binary files /dev/null and b/sound/instruments/synthesis_samples/guitar/crisis_nylon/c3.ogg differ diff --git a/sound/instruments/synthesis_samples/guitar/crisis_nylon/c4.ogg b/sound/instruments/synthesis_samples/guitar/crisis_nylon/c4.ogg new file mode 100644 index 00000000000..df4ef3fb79d Binary files /dev/null and b/sound/instruments/synthesis_samples/guitar/crisis_nylon/c4.ogg differ diff --git a/sound/instruments/synthesis_samples/guitar/crisis_nylon/c5.ogg b/sound/instruments/synthesis_samples/guitar/crisis_nylon/c5.ogg new file mode 100644 index 00000000000..961f4a6b90d Binary files /dev/null and b/sound/instruments/synthesis_samples/guitar/crisis_nylon/c5.ogg differ diff --git a/sound/instruments/synthesis_samples/guitar/crisis_steel/c2.ogg b/sound/instruments/synthesis_samples/guitar/crisis_steel/c2.ogg new file mode 100644 index 00000000000..06ccf6ae51f Binary files /dev/null and b/sound/instruments/synthesis_samples/guitar/crisis_steel/c2.ogg differ diff --git a/sound/instruments/synthesis_samples/guitar/crisis_steel/c3.ogg b/sound/instruments/synthesis_samples/guitar/crisis_steel/c3.ogg new file mode 100644 index 00000000000..14756fb2493 Binary files /dev/null and b/sound/instruments/synthesis_samples/guitar/crisis_steel/c3.ogg differ diff --git a/sound/instruments/synthesis_samples/guitar/crisis_steel/c4.ogg b/sound/instruments/synthesis_samples/guitar/crisis_steel/c4.ogg new file mode 100644 index 00000000000..544b3247863 Binary files /dev/null and b/sound/instruments/synthesis_samples/guitar/crisis_steel/c4.ogg differ diff --git a/sound/instruments/synthesis_samples/guitar/crisis_steel/c5.ogg b/sound/instruments/synthesis_samples/guitar/crisis_steel/c5.ogg new file mode 100644 index 00000000000..df2dc8def59 Binary files /dev/null and b/sound/instruments/synthesis_samples/guitar/crisis_steel/c5.ogg differ diff --git a/sound/instruments/synthesis_samples/organ/crisis_accordian/c2.ogg b/sound/instruments/synthesis_samples/organ/crisis_accordian/c2.ogg new file mode 100644 index 00000000000..ba20e3f4b69 Binary files /dev/null and b/sound/instruments/synthesis_samples/organ/crisis_accordian/c2.ogg differ diff --git a/sound/instruments/synthesis_samples/organ/crisis_accordian/c3.ogg b/sound/instruments/synthesis_samples/organ/crisis_accordian/c3.ogg new file mode 100644 index 00000000000..fcc8715e04b Binary files /dev/null and b/sound/instruments/synthesis_samples/organ/crisis_accordian/c3.ogg differ diff --git a/sound/instruments/synthesis_samples/organ/crisis_accordian/c4.ogg b/sound/instruments/synthesis_samples/organ/crisis_accordian/c4.ogg new file mode 100644 index 00000000000..aa21d7e2307 Binary files /dev/null and b/sound/instruments/synthesis_samples/organ/crisis_accordian/c4.ogg differ diff --git a/sound/instruments/synthesis_samples/organ/crisis_accordian/c5.ogg b/sound/instruments/synthesis_samples/organ/crisis_accordian/c5.ogg new file mode 100644 index 00000000000..ac45bc6be4b Binary files /dev/null and b/sound/instruments/synthesis_samples/organ/crisis_accordian/c5.ogg differ diff --git a/sound/instruments/synthesis_samples/organ/crisis_church/c2.ogg b/sound/instruments/synthesis_samples/organ/crisis_church/c2.ogg new file mode 100644 index 00000000000..71b9280e868 Binary files /dev/null and b/sound/instruments/synthesis_samples/organ/crisis_church/c2.ogg differ diff --git a/sound/instruments/synthesis_samples/organ/crisis_church/c3.ogg b/sound/instruments/synthesis_samples/organ/crisis_church/c3.ogg new file mode 100644 index 00000000000..676a24669f9 Binary files /dev/null and b/sound/instruments/synthesis_samples/organ/crisis_church/c3.ogg differ diff --git a/sound/instruments/synthesis_samples/organ/crisis_church/c4.ogg b/sound/instruments/synthesis_samples/organ/crisis_church/c4.ogg new file mode 100644 index 00000000000..24e3732d7eb Binary files /dev/null and b/sound/instruments/synthesis_samples/organ/crisis_church/c4.ogg differ diff --git a/sound/instruments/synthesis_samples/organ/crisis_church/c5.ogg b/sound/instruments/synthesis_samples/organ/crisis_church/c5.ogg new file mode 100644 index 00000000000..72dc2ce7641 Binary files /dev/null and b/sound/instruments/synthesis_samples/organ/crisis_church/c5.ogg differ diff --git a/sound/instruments/synthesis_samples/organ/crisis_hammond/c2.ogg b/sound/instruments/synthesis_samples/organ/crisis_hammond/c2.ogg new file mode 100644 index 00000000000..853b7591b47 Binary files /dev/null and b/sound/instruments/synthesis_samples/organ/crisis_hammond/c2.ogg differ diff --git a/sound/instruments/synthesis_samples/organ/crisis_hammond/c3.ogg b/sound/instruments/synthesis_samples/organ/crisis_hammond/c3.ogg new file mode 100644 index 00000000000..205e1903795 Binary files /dev/null and b/sound/instruments/synthesis_samples/organ/crisis_hammond/c3.ogg differ diff --git a/sound/instruments/synthesis_samples/organ/crisis_hammond/c4.ogg b/sound/instruments/synthesis_samples/organ/crisis_hammond/c4.ogg new file mode 100644 index 00000000000..e90c28f14c3 Binary files /dev/null and b/sound/instruments/synthesis_samples/organ/crisis_hammond/c4.ogg differ diff --git a/sound/instruments/synthesis_samples/organ/crisis_hammond/c5.ogg b/sound/instruments/synthesis_samples/organ/crisis_hammond/c5.ogg new file mode 100644 index 00000000000..a56d3cc3f6b Binary files /dev/null and b/sound/instruments/synthesis_samples/organ/crisis_hammond/c5.ogg differ diff --git a/sound/instruments/synthesis_samples/organ/crisis_harmonica/c3.ogg b/sound/instruments/synthesis_samples/organ/crisis_harmonica/c3.ogg new file mode 100644 index 00000000000..14c5f35eef2 Binary files /dev/null and b/sound/instruments/synthesis_samples/organ/crisis_harmonica/c3.ogg differ diff --git a/sound/instruments/synthesis_samples/organ/crisis_harmonica/c4.ogg b/sound/instruments/synthesis_samples/organ/crisis_harmonica/c4.ogg new file mode 100644 index 00000000000..e06e733eb22 Binary files /dev/null and b/sound/instruments/synthesis_samples/organ/crisis_harmonica/c4.ogg differ diff --git a/sound/instruments/synthesis_samples/organ/crisis_harmonica/c5.ogg b/sound/instruments/synthesis_samples/organ/crisis_harmonica/c5.ogg new file mode 100644 index 00000000000..3d21e92d536 Binary files /dev/null and b/sound/instruments/synthesis_samples/organ/crisis_harmonica/c5.ogg differ diff --git a/sound/instruments/synthesis_samples/organ/crisis_tangaccordian/c2.ogg b/sound/instruments/synthesis_samples/organ/crisis_tangaccordian/c2.ogg new file mode 100644 index 00000000000..be51b6dcd48 Binary files /dev/null and b/sound/instruments/synthesis_samples/organ/crisis_tangaccordian/c2.ogg differ diff --git a/sound/instruments/synthesis_samples/organ/crisis_tangaccordian/c3.ogg b/sound/instruments/synthesis_samples/organ/crisis_tangaccordian/c3.ogg new file mode 100644 index 00000000000..7426d246a00 Binary files /dev/null and b/sound/instruments/synthesis_samples/organ/crisis_tangaccordian/c3.ogg differ diff --git a/sound/instruments/synthesis_samples/organ/crisis_tangaccordian/c4.ogg b/sound/instruments/synthesis_samples/organ/crisis_tangaccordian/c4.ogg new file mode 100644 index 00000000000..af7b66cf19c Binary files /dev/null and b/sound/instruments/synthesis_samples/organ/crisis_tangaccordian/c4.ogg differ diff --git a/sound/instruments/synthesis_samples/organ/crisis_tangaccordian/c5.ogg b/sound/instruments/synthesis_samples/organ/crisis_tangaccordian/c5.ogg new file mode 100644 index 00000000000..58ff4ff2160 Binary files /dev/null and b/sound/instruments/synthesis_samples/organ/crisis_tangaccordian/c5.ogg differ diff --git a/sound/instruments/synthesis_samples/piano/crisis_bright_piano/c2.ogg b/sound/instruments/synthesis_samples/piano/crisis_bright_piano/c2.ogg new file mode 100644 index 00000000000..4b7feb77a46 Binary files /dev/null and b/sound/instruments/synthesis_samples/piano/crisis_bright_piano/c2.ogg differ diff --git a/sound/instruments/synthesis_samples/piano/crisis_bright_piano/c3.ogg b/sound/instruments/synthesis_samples/piano/crisis_bright_piano/c3.ogg new file mode 100644 index 00000000000..5e7eefa79a1 Binary files /dev/null and b/sound/instruments/synthesis_samples/piano/crisis_bright_piano/c3.ogg differ diff --git a/sound/instruments/synthesis_samples/piano/crisis_bright_piano/c4.ogg b/sound/instruments/synthesis_samples/piano/crisis_bright_piano/c4.ogg new file mode 100644 index 00000000000..13e49d4f3ab Binary files /dev/null and b/sound/instruments/synthesis_samples/piano/crisis_bright_piano/c4.ogg differ diff --git a/sound/instruments/synthesis_samples/piano/crisis_bright_piano/c5.ogg b/sound/instruments/synthesis_samples/piano/crisis_bright_piano/c5.ogg new file mode 100644 index 00000000000..6ef00f07000 Binary files /dev/null and b/sound/instruments/synthesis_samples/piano/crisis_bright_piano/c5.ogg differ diff --git a/sound/instruments/synthesis_samples/piano/crisis_bright_piano/c6.ogg b/sound/instruments/synthesis_samples/piano/crisis_bright_piano/c6.ogg new file mode 100644 index 00000000000..a868249ca87 Binary files /dev/null and b/sound/instruments/synthesis_samples/piano/crisis_bright_piano/c6.ogg differ diff --git a/sound/instruments/synthesis_samples/piano/crisis_bright_piano/c7.ogg b/sound/instruments/synthesis_samples/piano/crisis_bright_piano/c7.ogg new file mode 100644 index 00000000000..2d08d98dd97 Binary files /dev/null and b/sound/instruments/synthesis_samples/piano/crisis_bright_piano/c7.ogg differ diff --git a/sound/instruments/synthesis_samples/piano/crisis_bright_piano/c8.ogg b/sound/instruments/synthesis_samples/piano/crisis_bright_piano/c8.ogg new file mode 100644 index 00000000000..50e3cb76a77 Binary files /dev/null and b/sound/instruments/synthesis_samples/piano/crisis_bright_piano/c8.ogg differ diff --git a/sound/instruments/synthesis_samples/piano/crisis_grand_piano/c2.ogg b/sound/instruments/synthesis_samples/piano/crisis_grand_piano/c2.ogg new file mode 100644 index 00000000000..0b87714166e Binary files /dev/null and b/sound/instruments/synthesis_samples/piano/crisis_grand_piano/c2.ogg differ diff --git a/sound/instruments/synthesis_samples/piano/crisis_grand_piano/c3.ogg b/sound/instruments/synthesis_samples/piano/crisis_grand_piano/c3.ogg new file mode 100644 index 00000000000..31fd6250988 Binary files /dev/null and b/sound/instruments/synthesis_samples/piano/crisis_grand_piano/c3.ogg differ diff --git a/sound/instruments/synthesis_samples/piano/crisis_grand_piano/c4.ogg b/sound/instruments/synthesis_samples/piano/crisis_grand_piano/c4.ogg new file mode 100644 index 00000000000..0ed309dbb72 Binary files /dev/null and b/sound/instruments/synthesis_samples/piano/crisis_grand_piano/c4.ogg differ diff --git a/sound/instruments/synthesis_samples/piano/crisis_grand_piano/c5.ogg b/sound/instruments/synthesis_samples/piano/crisis_grand_piano/c5.ogg new file mode 100644 index 00000000000..7fd820d3732 Binary files /dev/null and b/sound/instruments/synthesis_samples/piano/crisis_grand_piano/c5.ogg differ diff --git a/sound/instruments/synthesis_samples/piano/crisis_grand_piano/c6.ogg b/sound/instruments/synthesis_samples/piano/crisis_grand_piano/c6.ogg new file mode 100644 index 00000000000..b4ed66e27ce Binary files /dev/null and b/sound/instruments/synthesis_samples/piano/crisis_grand_piano/c6.ogg differ diff --git a/sound/instruments/synthesis_samples/piano/crisis_grand_piano/c7.ogg b/sound/instruments/synthesis_samples/piano/crisis_grand_piano/c7.ogg new file mode 100644 index 00000000000..13a5f7d873c Binary files /dev/null and b/sound/instruments/synthesis_samples/piano/crisis_grand_piano/c7.ogg differ diff --git a/sound/instruments/synthesis_samples/piano/crisis_grand_piano/c8.ogg b/sound/instruments/synthesis_samples/piano/crisis_grand_piano/c8.ogg new file mode 100644 index 00000000000..0169d52c211 Binary files /dev/null and b/sound/instruments/synthesis_samples/piano/crisis_grand_piano/c8.ogg differ diff --git a/sound/instruments/synthesis_samples/piano/crisis_harpsichord/c2.ogg b/sound/instruments/synthesis_samples/piano/crisis_harpsichord/c2.ogg new file mode 100644 index 00000000000..16d49cb15e1 Binary files /dev/null and b/sound/instruments/synthesis_samples/piano/crisis_harpsichord/c2.ogg differ diff --git a/sound/instruments/synthesis_samples/piano/crisis_harpsichord/c3.ogg b/sound/instruments/synthesis_samples/piano/crisis_harpsichord/c3.ogg new file mode 100644 index 00000000000..83e906cd1a8 Binary files /dev/null and b/sound/instruments/synthesis_samples/piano/crisis_harpsichord/c3.ogg differ diff --git a/sound/instruments/synthesis_samples/piano/crisis_harpsichord/c4.ogg b/sound/instruments/synthesis_samples/piano/crisis_harpsichord/c4.ogg new file mode 100644 index 00000000000..33f766e4aa1 Binary files /dev/null and b/sound/instruments/synthesis_samples/piano/crisis_harpsichord/c4.ogg differ diff --git a/sound/instruments/synthesis_samples/piano/crisis_harpsichord/c5.ogg b/sound/instruments/synthesis_samples/piano/crisis_harpsichord/c5.ogg new file mode 100644 index 00000000000..6ce06dda565 Binary files /dev/null and b/sound/instruments/synthesis_samples/piano/crisis_harpsichord/c5.ogg differ diff --git a/sound/instruments/synthesis_samples/piano/fluid_harpsi/C2.ogg b/sound/instruments/synthesis_samples/piano/fluid_harpsi/C2.ogg new file mode 100644 index 00000000000..3941e7af03a Binary files /dev/null and b/sound/instruments/synthesis_samples/piano/fluid_harpsi/C2.ogg differ diff --git a/sound/instruments/synthesis_samples/piano/fluid_harpsi/C3.ogg b/sound/instruments/synthesis_samples/piano/fluid_harpsi/C3.ogg new file mode 100644 index 00000000000..4f79ee99879 Binary files /dev/null and b/sound/instruments/synthesis_samples/piano/fluid_harpsi/C3.ogg differ diff --git a/sound/instruments/synthesis_samples/piano/fluid_harpsi/C4.ogg b/sound/instruments/synthesis_samples/piano/fluid_harpsi/C4.ogg new file mode 100644 index 00000000000..1d773c62e72 Binary files /dev/null and b/sound/instruments/synthesis_samples/piano/fluid_harpsi/C4.ogg differ diff --git a/sound/instruments/synthesis_samples/piano/fluid_harpsi/C5.ogg b/sound/instruments/synthesis_samples/piano/fluid_harpsi/C5.ogg new file mode 100644 index 00000000000..938a557e04d Binary files /dev/null and b/sound/instruments/synthesis_samples/piano/fluid_harpsi/C5.ogg differ diff --git a/sound/instruments/synthesis_samples/piano/fluid_harpsi/C6.ogg b/sound/instruments/synthesis_samples/piano/fluid_harpsi/C6.ogg new file mode 100644 index 00000000000..c65f06ce3ea Binary files /dev/null and b/sound/instruments/synthesis_samples/piano/fluid_harpsi/C6.ogg differ diff --git a/sound/instruments/synthesis_samples/piano/fluid_harpsi/C7.ogg b/sound/instruments/synthesis_samples/piano/fluid_harpsi/C7.ogg new file mode 100644 index 00000000000..87d4943509d Binary files /dev/null and b/sound/instruments/synthesis_samples/piano/fluid_harpsi/C7.ogg differ diff --git a/sound/instruments/synthesis_samples/piano/fluid_harpsi/C8.ogg b/sound/instruments/synthesis_samples/piano/fluid_harpsi/C8.ogg new file mode 100644 index 00000000000..5800b2d0ff3 Binary files /dev/null and b/sound/instruments/synthesis_samples/piano/fluid_harpsi/C8.ogg differ diff --git a/sound/instruments/synthesis_samples/piano/fluid_piano/c2.ogg b/sound/instruments/synthesis_samples/piano/fluid_piano/c2.ogg new file mode 100644 index 00000000000..9ce5eee76eb Binary files /dev/null and b/sound/instruments/synthesis_samples/piano/fluid_piano/c2.ogg differ diff --git a/sound/instruments/synthesis_samples/piano/fluid_piano/c3.ogg b/sound/instruments/synthesis_samples/piano/fluid_piano/c3.ogg new file mode 100644 index 00000000000..46443274764 Binary files /dev/null and b/sound/instruments/synthesis_samples/piano/fluid_piano/c3.ogg differ diff --git a/sound/instruments/synthesis_samples/piano/fluid_piano/c4.ogg b/sound/instruments/synthesis_samples/piano/fluid_piano/c4.ogg new file mode 100644 index 00000000000..ab6d8a2a920 Binary files /dev/null and b/sound/instruments/synthesis_samples/piano/fluid_piano/c4.ogg differ diff --git a/sound/instruments/synthesis_samples/piano/fluid_piano/c5.ogg b/sound/instruments/synthesis_samples/piano/fluid_piano/c5.ogg new file mode 100644 index 00000000000..0041ea2e13f Binary files /dev/null and b/sound/instruments/synthesis_samples/piano/fluid_piano/c5.ogg differ diff --git a/sound/instruments/synthesis_samples/piano/fluid_piano/c6.ogg b/sound/instruments/synthesis_samples/piano/fluid_piano/c6.ogg new file mode 100644 index 00000000000..5d836b9f7cb Binary files /dev/null and b/sound/instruments/synthesis_samples/piano/fluid_piano/c6.ogg differ diff --git a/sound/instruments/synthesis_samples/piano/fluid_piano/c7.ogg b/sound/instruments/synthesis_samples/piano/fluid_piano/c7.ogg new file mode 100644 index 00000000000..1981572cf2a Binary files /dev/null and b/sound/instruments/synthesis_samples/piano/fluid_piano/c7.ogg differ diff --git a/sound/instruments/synthesis_samples/piano/fluid_piano/c8.ogg b/sound/instruments/synthesis_samples/piano/fluid_piano/c8.ogg new file mode 100644 index 00000000000..35e5b147bcb Binary files /dev/null and b/sound/instruments/synthesis_samples/piano/fluid_piano/c8.ogg differ diff --git a/sound/instruments/synthesis_samples/tones/Sawtooth.ogg b/sound/instruments/synthesis_samples/tones/Sawtooth.ogg new file mode 100644 index 00000000000..e46f5eaced4 Binary files /dev/null and b/sound/instruments/synthesis_samples/tones/Sawtooth.ogg differ diff --git a/sound/instruments/synthesis_samples/tones/Sine.ogg b/sound/instruments/synthesis_samples/tones/Sine.ogg new file mode 100644 index 00000000000..e0b14869e9a Binary files /dev/null and b/sound/instruments/synthesis_samples/tones/Sine.ogg differ diff --git a/sound/instruments/synthesis_samples/tones/Square.ogg b/sound/instruments/synthesis_samples/tones/Square.ogg new file mode 100644 index 00000000000..817531bcca0 Binary files /dev/null and b/sound/instruments/synthesis_samples/tones/Square.ogg differ diff --git a/sound/instruments/trombone/Ab2.mid b/sound/instruments/trombone/Ab2.mid new file mode 100644 index 00000000000..5802027e672 Binary files /dev/null and b/sound/instruments/trombone/Ab2.mid differ diff --git a/sound/instruments/trombone/Ab3.mid b/sound/instruments/trombone/Ab3.mid new file mode 100644 index 00000000000..9e6dc5559f2 Binary files /dev/null and b/sound/instruments/trombone/Ab3.mid differ diff --git a/sound/instruments/trombone/Ab4.mid b/sound/instruments/trombone/Ab4.mid new file mode 100644 index 00000000000..b5bcb5fc93d Binary files /dev/null and b/sound/instruments/trombone/Ab4.mid differ diff --git a/sound/instruments/trombone/Ab5.mid b/sound/instruments/trombone/Ab5.mid new file mode 100644 index 00000000000..e42b8f6f6f1 Binary files /dev/null and b/sound/instruments/trombone/Ab5.mid differ diff --git a/sound/instruments/trombone/Ab6.mid b/sound/instruments/trombone/Ab6.mid new file mode 100644 index 00000000000..40d6d6b7b92 Binary files /dev/null and b/sound/instruments/trombone/Ab6.mid differ diff --git a/sound/instruments/trombone/An2.mid b/sound/instruments/trombone/An2.mid new file mode 100644 index 00000000000..30523e3cc3d Binary files /dev/null and b/sound/instruments/trombone/An2.mid differ diff --git a/sound/instruments/trombone/An3.mid b/sound/instruments/trombone/An3.mid new file mode 100644 index 00000000000..05d4d28e2e4 Binary files /dev/null and b/sound/instruments/trombone/An3.mid differ diff --git a/sound/instruments/trombone/An4.mid b/sound/instruments/trombone/An4.mid new file mode 100644 index 00000000000..99d1a22bc72 Binary files /dev/null and b/sound/instruments/trombone/An4.mid differ diff --git a/sound/instruments/trombone/An5.mid b/sound/instruments/trombone/An5.mid new file mode 100644 index 00000000000..99978bf4bdc Binary files /dev/null and b/sound/instruments/trombone/An5.mid differ diff --git a/sound/instruments/trombone/An6.mid b/sound/instruments/trombone/An6.mid new file mode 100644 index 00000000000..11e6557fe82 Binary files /dev/null and b/sound/instruments/trombone/An6.mid differ diff --git a/sound/instruments/trombone/Bb2.mid b/sound/instruments/trombone/Bb2.mid new file mode 100644 index 00000000000..e1068d551c1 Binary files /dev/null and b/sound/instruments/trombone/Bb2.mid differ diff --git a/sound/instruments/trombone/Bb3.mid b/sound/instruments/trombone/Bb3.mid new file mode 100644 index 00000000000..ce9a57613f0 Binary files /dev/null and b/sound/instruments/trombone/Bb3.mid differ diff --git a/sound/instruments/trombone/Bb4.mid b/sound/instruments/trombone/Bb4.mid new file mode 100644 index 00000000000..5dfdf26ec5d Binary files /dev/null and b/sound/instruments/trombone/Bb4.mid differ diff --git a/sound/instruments/trombone/Bb5.mid b/sound/instruments/trombone/Bb5.mid new file mode 100644 index 00000000000..ea74dc444b9 Binary files /dev/null and b/sound/instruments/trombone/Bb5.mid differ diff --git a/sound/instruments/trombone/Bb6.mid b/sound/instruments/trombone/Bb6.mid new file mode 100644 index 00000000000..e30707df542 Binary files /dev/null and b/sound/instruments/trombone/Bb6.mid differ diff --git a/sound/instruments/trombone/Bn2.mid b/sound/instruments/trombone/Bn2.mid new file mode 100644 index 00000000000..7c89dff091c Binary files /dev/null and b/sound/instruments/trombone/Bn2.mid differ diff --git a/sound/instruments/trombone/Bn3.mid b/sound/instruments/trombone/Bn3.mid new file mode 100644 index 00000000000..df92f0e4e32 Binary files /dev/null and b/sound/instruments/trombone/Bn3.mid differ diff --git a/sound/instruments/trombone/Bn4.mid b/sound/instruments/trombone/Bn4.mid new file mode 100644 index 00000000000..c46cb4d6a78 Binary files /dev/null and b/sound/instruments/trombone/Bn4.mid differ diff --git a/sound/instruments/trombone/Bn5.mid b/sound/instruments/trombone/Bn5.mid new file mode 100644 index 00000000000..f09d981ac05 Binary files /dev/null and b/sound/instruments/trombone/Bn5.mid differ diff --git a/sound/instruments/trombone/Bn6.mid b/sound/instruments/trombone/Bn6.mid new file mode 100644 index 00000000000..c23f2435681 Binary files /dev/null and b/sound/instruments/trombone/Bn6.mid differ diff --git a/sound/instruments/trombone/Cn2.mid b/sound/instruments/trombone/Cn2.mid new file mode 100644 index 00000000000..3a24f39ff91 Binary files /dev/null and b/sound/instruments/trombone/Cn2.mid differ diff --git a/sound/instruments/trombone/Cn3.mid b/sound/instruments/trombone/Cn3.mid new file mode 100644 index 00000000000..d24dd658b66 Binary files /dev/null and b/sound/instruments/trombone/Cn3.mid differ diff --git a/sound/instruments/trombone/Cn4.mid b/sound/instruments/trombone/Cn4.mid new file mode 100644 index 00000000000..756ba0ab8d2 Binary files /dev/null and b/sound/instruments/trombone/Cn4.mid differ diff --git a/sound/instruments/trombone/Cn5.mid b/sound/instruments/trombone/Cn5.mid new file mode 100644 index 00000000000..3d5d0a3446d Binary files /dev/null and b/sound/instruments/trombone/Cn5.mid differ diff --git a/sound/instruments/trombone/Cn6.mid b/sound/instruments/trombone/Cn6.mid new file mode 100644 index 00000000000..605eec24ee1 Binary files /dev/null and b/sound/instruments/trombone/Cn6.mid differ diff --git a/sound/instruments/trombone/Db2.mid b/sound/instruments/trombone/Db2.mid new file mode 100644 index 00000000000..ef959df821c Binary files /dev/null and b/sound/instruments/trombone/Db2.mid differ diff --git a/sound/instruments/trombone/Db3.mid b/sound/instruments/trombone/Db3.mid new file mode 100644 index 00000000000..664d67be67d Binary files /dev/null and b/sound/instruments/trombone/Db3.mid differ diff --git a/sound/instruments/trombone/Db4.mid b/sound/instruments/trombone/Db4.mid new file mode 100644 index 00000000000..2b4e028f409 Binary files /dev/null and b/sound/instruments/trombone/Db4.mid differ diff --git a/sound/instruments/trombone/Db5.mid b/sound/instruments/trombone/Db5.mid new file mode 100644 index 00000000000..2748ba3cd4c Binary files /dev/null and b/sound/instruments/trombone/Db5.mid differ diff --git a/sound/instruments/trombone/Db6.mid b/sound/instruments/trombone/Db6.mid new file mode 100644 index 00000000000..d7737f180ac Binary files /dev/null and b/sound/instruments/trombone/Db6.mid differ diff --git a/sound/instruments/trombone/Dn2.mid b/sound/instruments/trombone/Dn2.mid new file mode 100644 index 00000000000..cddd3ce5bd8 Binary files /dev/null and b/sound/instruments/trombone/Dn2.mid differ diff --git a/sound/instruments/trombone/Dn3.mid b/sound/instruments/trombone/Dn3.mid new file mode 100644 index 00000000000..3555246d9d3 Binary files /dev/null and b/sound/instruments/trombone/Dn3.mid differ diff --git a/sound/instruments/trombone/Dn4.mid b/sound/instruments/trombone/Dn4.mid new file mode 100644 index 00000000000..51f80eb7f03 Binary files /dev/null and b/sound/instruments/trombone/Dn4.mid differ diff --git a/sound/instruments/trombone/Dn5.mid b/sound/instruments/trombone/Dn5.mid new file mode 100644 index 00000000000..d91a461b89a Binary files /dev/null and b/sound/instruments/trombone/Dn5.mid differ diff --git a/sound/instruments/trombone/Dn6.mid b/sound/instruments/trombone/Dn6.mid new file mode 100644 index 00000000000..d2dc6f0e217 Binary files /dev/null and b/sound/instruments/trombone/Dn6.mid differ diff --git a/sound/instruments/trombone/Eb2.mid b/sound/instruments/trombone/Eb2.mid new file mode 100644 index 00000000000..7658c914be6 Binary files /dev/null and b/sound/instruments/trombone/Eb2.mid differ diff --git a/sound/instruments/trombone/Eb3.mid b/sound/instruments/trombone/Eb3.mid new file mode 100644 index 00000000000..5d781dd543d Binary files /dev/null and b/sound/instruments/trombone/Eb3.mid differ diff --git a/sound/instruments/trombone/Eb4.mid b/sound/instruments/trombone/Eb4.mid new file mode 100644 index 00000000000..6ee879de04a Binary files /dev/null and b/sound/instruments/trombone/Eb4.mid differ diff --git a/sound/instruments/trombone/Eb5.mid b/sound/instruments/trombone/Eb5.mid new file mode 100644 index 00000000000..a2278114546 Binary files /dev/null and b/sound/instruments/trombone/Eb5.mid differ diff --git a/sound/instruments/trombone/Eb6.mid b/sound/instruments/trombone/Eb6.mid new file mode 100644 index 00000000000..a9ffc37b89b Binary files /dev/null and b/sound/instruments/trombone/Eb6.mid differ diff --git a/sound/instruments/trombone/En2.mid b/sound/instruments/trombone/En2.mid new file mode 100644 index 00000000000..f47e4460a12 Binary files /dev/null and b/sound/instruments/trombone/En2.mid differ diff --git a/sound/instruments/trombone/En3.mid b/sound/instruments/trombone/En3.mid new file mode 100644 index 00000000000..5f78d13af97 Binary files /dev/null and b/sound/instruments/trombone/En3.mid differ diff --git a/sound/instruments/trombone/En4.mid b/sound/instruments/trombone/En4.mid new file mode 100644 index 00000000000..687a503af0b Binary files /dev/null and b/sound/instruments/trombone/En4.mid differ diff --git a/sound/instruments/trombone/En5.mid b/sound/instruments/trombone/En5.mid new file mode 100644 index 00000000000..134bf651b60 Binary files /dev/null and b/sound/instruments/trombone/En5.mid differ diff --git a/sound/instruments/trombone/En6.mid b/sound/instruments/trombone/En6.mid new file mode 100644 index 00000000000..c852475e1b1 Binary files /dev/null and b/sound/instruments/trombone/En6.mid differ diff --git a/sound/instruments/trombone/Fn2.mid b/sound/instruments/trombone/Fn2.mid new file mode 100644 index 00000000000..f9bc985538c Binary files /dev/null and b/sound/instruments/trombone/Fn2.mid differ diff --git a/sound/instruments/trombone/Fn3.mid b/sound/instruments/trombone/Fn3.mid new file mode 100644 index 00000000000..cd5656da075 Binary files /dev/null and b/sound/instruments/trombone/Fn3.mid differ diff --git a/sound/instruments/trombone/Fn4.mid b/sound/instruments/trombone/Fn4.mid new file mode 100644 index 00000000000..c677ade9b17 Binary files /dev/null and b/sound/instruments/trombone/Fn4.mid differ diff --git a/sound/instruments/trombone/Fn5.mid b/sound/instruments/trombone/Fn5.mid new file mode 100644 index 00000000000..f610ce04c6f Binary files /dev/null and b/sound/instruments/trombone/Fn5.mid differ diff --git a/sound/instruments/trombone/Fn6.mid b/sound/instruments/trombone/Fn6.mid new file mode 100644 index 00000000000..07382533cab Binary files /dev/null and b/sound/instruments/trombone/Fn6.mid differ diff --git a/sound/instruments/trombone/Gb2.mid b/sound/instruments/trombone/Gb2.mid new file mode 100644 index 00000000000..d506f40642b Binary files /dev/null and b/sound/instruments/trombone/Gb2.mid differ diff --git a/sound/instruments/trombone/Gb3.mid b/sound/instruments/trombone/Gb3.mid new file mode 100644 index 00000000000..fe18266802c Binary files /dev/null and b/sound/instruments/trombone/Gb3.mid differ diff --git a/sound/instruments/trombone/Gb4.mid b/sound/instruments/trombone/Gb4.mid new file mode 100644 index 00000000000..7a22419215f Binary files /dev/null and b/sound/instruments/trombone/Gb4.mid differ diff --git a/sound/instruments/trombone/Gb5.mid b/sound/instruments/trombone/Gb5.mid new file mode 100644 index 00000000000..7733d574e84 Binary files /dev/null and b/sound/instruments/trombone/Gb5.mid differ diff --git a/sound/instruments/trombone/Gb6.mid b/sound/instruments/trombone/Gb6.mid new file mode 100644 index 00000000000..3a6e4893b4d Binary files /dev/null and b/sound/instruments/trombone/Gb6.mid differ diff --git a/sound/instruments/trombone/Gn2.mid b/sound/instruments/trombone/Gn2.mid new file mode 100644 index 00000000000..cdebb6bc0a3 Binary files /dev/null and b/sound/instruments/trombone/Gn2.mid differ diff --git a/sound/instruments/trombone/Gn3.mid b/sound/instruments/trombone/Gn3.mid new file mode 100644 index 00000000000..8c915effeb3 Binary files /dev/null and b/sound/instruments/trombone/Gn3.mid differ diff --git a/sound/instruments/trombone/Gn4.mid b/sound/instruments/trombone/Gn4.mid new file mode 100644 index 00000000000..1ddcaa30819 Binary files /dev/null and b/sound/instruments/trombone/Gn4.mid differ diff --git a/sound/instruments/trombone/Gn5.mid b/sound/instruments/trombone/Gn5.mid new file mode 100644 index 00000000000..ba787045f01 Binary files /dev/null and b/sound/instruments/trombone/Gn5.mid differ diff --git a/sound/instruments/trombone/Gn6.mid b/sound/instruments/trombone/Gn6.mid new file mode 100644 index 00000000000..b2e6f3f13d6 Binary files /dev/null and b/sound/instruments/trombone/Gn6.mid differ diff --git a/sound/instruments/xylophone/Ab2.mid b/sound/instruments/xylophone/Ab2.mid new file mode 100644 index 00000000000..f8d08b5995a Binary files /dev/null and b/sound/instruments/xylophone/Ab2.mid differ diff --git a/sound/instruments/xylophone/Ab3.mid b/sound/instruments/xylophone/Ab3.mid new file mode 100644 index 00000000000..f34de3dcd6b Binary files /dev/null and b/sound/instruments/xylophone/Ab3.mid differ diff --git a/sound/instruments/xylophone/Ab4.mid b/sound/instruments/xylophone/Ab4.mid new file mode 100644 index 00000000000..ecca495a6ae Binary files /dev/null and b/sound/instruments/xylophone/Ab4.mid differ diff --git a/sound/instruments/xylophone/Ab5.mid b/sound/instruments/xylophone/Ab5.mid new file mode 100644 index 00000000000..4d277c9e0c7 Binary files /dev/null and b/sound/instruments/xylophone/Ab5.mid differ diff --git a/sound/instruments/xylophone/Ab6.mid b/sound/instruments/xylophone/Ab6.mid new file mode 100644 index 00000000000..b13d6aacdd7 Binary files /dev/null and b/sound/instruments/xylophone/Ab6.mid differ diff --git a/sound/instruments/xylophone/An2.mid b/sound/instruments/xylophone/An2.mid new file mode 100644 index 00000000000..cf6be5cf199 Binary files /dev/null and b/sound/instruments/xylophone/An2.mid differ diff --git a/sound/instruments/xylophone/An3.mid b/sound/instruments/xylophone/An3.mid new file mode 100644 index 00000000000..196be155a63 Binary files /dev/null and b/sound/instruments/xylophone/An3.mid differ diff --git a/sound/instruments/xylophone/An4.mid b/sound/instruments/xylophone/An4.mid new file mode 100644 index 00000000000..f7236042a6a Binary files /dev/null and b/sound/instruments/xylophone/An4.mid differ diff --git a/sound/instruments/xylophone/An5.mid b/sound/instruments/xylophone/An5.mid new file mode 100644 index 00000000000..c44d8a43aa4 Binary files /dev/null and b/sound/instruments/xylophone/An5.mid differ diff --git a/sound/instruments/xylophone/An6.mid b/sound/instruments/xylophone/An6.mid new file mode 100644 index 00000000000..c94d839e673 Binary files /dev/null and b/sound/instruments/xylophone/An6.mid differ diff --git a/sound/instruments/xylophone/Bb2.mid b/sound/instruments/xylophone/Bb2.mid new file mode 100644 index 00000000000..ad96c63e5d1 Binary files /dev/null and b/sound/instruments/xylophone/Bb2.mid differ diff --git a/sound/instruments/xylophone/Bb3.mid b/sound/instruments/xylophone/Bb3.mid new file mode 100644 index 00000000000..96e4eabfd3f Binary files /dev/null and b/sound/instruments/xylophone/Bb3.mid differ diff --git a/sound/instruments/xylophone/Bb4.mid b/sound/instruments/xylophone/Bb4.mid new file mode 100644 index 00000000000..5a9b40b71dd Binary files /dev/null and b/sound/instruments/xylophone/Bb4.mid differ diff --git a/sound/instruments/xylophone/Bb5.mid b/sound/instruments/xylophone/Bb5.mid new file mode 100644 index 00000000000..74817b705a7 Binary files /dev/null and b/sound/instruments/xylophone/Bb5.mid differ diff --git a/sound/instruments/xylophone/Bb6.mid b/sound/instruments/xylophone/Bb6.mid new file mode 100644 index 00000000000..7a998a857b7 Binary files /dev/null and b/sound/instruments/xylophone/Bb6.mid differ diff --git a/sound/instruments/xylophone/Bn2.mid b/sound/instruments/xylophone/Bn2.mid new file mode 100644 index 00000000000..7bc2a1bb76d Binary files /dev/null and b/sound/instruments/xylophone/Bn2.mid differ diff --git a/sound/instruments/xylophone/Bn3.mid b/sound/instruments/xylophone/Bn3.mid new file mode 100644 index 00000000000..c7375e6577c Binary files /dev/null and b/sound/instruments/xylophone/Bn3.mid differ diff --git a/sound/instruments/xylophone/Bn4.mid b/sound/instruments/xylophone/Bn4.mid new file mode 100644 index 00000000000..dfdcc32f5f9 Binary files /dev/null and b/sound/instruments/xylophone/Bn4.mid differ diff --git a/sound/instruments/xylophone/Bn5.mid b/sound/instruments/xylophone/Bn5.mid new file mode 100644 index 00000000000..f51313d527f Binary files /dev/null and b/sound/instruments/xylophone/Bn5.mid differ diff --git a/sound/instruments/xylophone/Bn6.mid b/sound/instruments/xylophone/Bn6.mid new file mode 100644 index 00000000000..6dcbc8cd6a1 Binary files /dev/null and b/sound/instruments/xylophone/Bn6.mid differ diff --git a/sound/instruments/xylophone/Cn2.mid b/sound/instruments/xylophone/Cn2.mid new file mode 100644 index 00000000000..6ae074d342d Binary files /dev/null and b/sound/instruments/xylophone/Cn2.mid differ diff --git a/sound/instruments/xylophone/Cn3.mid b/sound/instruments/xylophone/Cn3.mid new file mode 100644 index 00000000000..bdc7d688ee4 Binary files /dev/null and b/sound/instruments/xylophone/Cn3.mid differ diff --git a/sound/instruments/xylophone/Cn4.mid b/sound/instruments/xylophone/Cn4.mid new file mode 100644 index 00000000000..956e93f460e Binary files /dev/null and b/sound/instruments/xylophone/Cn4.mid differ diff --git a/sound/instruments/xylophone/Cn5.mid b/sound/instruments/xylophone/Cn5.mid new file mode 100644 index 00000000000..b88f09ea41a Binary files /dev/null and b/sound/instruments/xylophone/Cn5.mid differ diff --git a/sound/instruments/xylophone/Cn6.mid b/sound/instruments/xylophone/Cn6.mid new file mode 100644 index 00000000000..fd1e01d0e5f Binary files /dev/null and b/sound/instruments/xylophone/Cn6.mid differ diff --git a/sound/instruments/xylophone/Db2.mid b/sound/instruments/xylophone/Db2.mid new file mode 100644 index 00000000000..d6c6250abf5 Binary files /dev/null and b/sound/instruments/xylophone/Db2.mid differ diff --git a/sound/instruments/xylophone/Db3.mid b/sound/instruments/xylophone/Db3.mid new file mode 100644 index 00000000000..22ad1728373 Binary files /dev/null and b/sound/instruments/xylophone/Db3.mid differ diff --git a/sound/instruments/xylophone/Db4.mid b/sound/instruments/xylophone/Db4.mid new file mode 100644 index 00000000000..19d2b5acd6a Binary files /dev/null and b/sound/instruments/xylophone/Db4.mid differ diff --git a/sound/instruments/xylophone/Db5.mid b/sound/instruments/xylophone/Db5.mid new file mode 100644 index 00000000000..bc747935ec7 Binary files /dev/null and b/sound/instruments/xylophone/Db5.mid differ diff --git a/sound/instruments/xylophone/Db6.mid b/sound/instruments/xylophone/Db6.mid new file mode 100644 index 00000000000..6b5e16cf66f Binary files /dev/null and b/sound/instruments/xylophone/Db6.mid differ diff --git a/sound/instruments/xylophone/Dn2.mid b/sound/instruments/xylophone/Dn2.mid new file mode 100644 index 00000000000..caf81563c16 Binary files /dev/null and b/sound/instruments/xylophone/Dn2.mid differ diff --git a/sound/instruments/xylophone/Dn3.mid b/sound/instruments/xylophone/Dn3.mid new file mode 100644 index 00000000000..b98e10291e8 Binary files /dev/null and b/sound/instruments/xylophone/Dn3.mid differ diff --git a/sound/instruments/xylophone/Dn4.mid b/sound/instruments/xylophone/Dn4.mid new file mode 100644 index 00000000000..cb1b295f359 Binary files /dev/null and b/sound/instruments/xylophone/Dn4.mid differ diff --git a/sound/instruments/xylophone/Dn5.mid b/sound/instruments/xylophone/Dn5.mid new file mode 100644 index 00000000000..53061570639 Binary files /dev/null and b/sound/instruments/xylophone/Dn5.mid differ diff --git a/sound/instruments/xylophone/Dn6.mid b/sound/instruments/xylophone/Dn6.mid new file mode 100644 index 00000000000..79459d4b156 Binary files /dev/null and b/sound/instruments/xylophone/Dn6.mid differ diff --git a/sound/instruments/xylophone/Eb2.mid b/sound/instruments/xylophone/Eb2.mid new file mode 100644 index 00000000000..efd033ea415 Binary files /dev/null and b/sound/instruments/xylophone/Eb2.mid differ diff --git a/sound/instruments/xylophone/Eb3.mid b/sound/instruments/xylophone/Eb3.mid new file mode 100644 index 00000000000..16cfc8f32be Binary files /dev/null and b/sound/instruments/xylophone/Eb3.mid differ diff --git a/sound/instruments/xylophone/Eb4.mid b/sound/instruments/xylophone/Eb4.mid new file mode 100644 index 00000000000..cc4333d5579 Binary files /dev/null and b/sound/instruments/xylophone/Eb4.mid differ diff --git a/sound/instruments/xylophone/Eb5.mid b/sound/instruments/xylophone/Eb5.mid new file mode 100644 index 00000000000..b25d5fded35 Binary files /dev/null and b/sound/instruments/xylophone/Eb5.mid differ diff --git a/sound/instruments/xylophone/Eb6.mid b/sound/instruments/xylophone/Eb6.mid new file mode 100644 index 00000000000..7418778e66a Binary files /dev/null and b/sound/instruments/xylophone/Eb6.mid differ diff --git a/sound/instruments/xylophone/En2.mid b/sound/instruments/xylophone/En2.mid new file mode 100644 index 00000000000..ee49b6d26d7 Binary files /dev/null and b/sound/instruments/xylophone/En2.mid differ diff --git a/sound/instruments/xylophone/En3.mid b/sound/instruments/xylophone/En3.mid new file mode 100644 index 00000000000..8cc2fc4514a Binary files /dev/null and b/sound/instruments/xylophone/En3.mid differ diff --git a/sound/instruments/xylophone/En4.mid b/sound/instruments/xylophone/En4.mid new file mode 100644 index 00000000000..12e688e309a Binary files /dev/null and b/sound/instruments/xylophone/En4.mid differ diff --git a/sound/instruments/xylophone/En5.mid b/sound/instruments/xylophone/En5.mid new file mode 100644 index 00000000000..1608556bb59 Binary files /dev/null and b/sound/instruments/xylophone/En5.mid differ diff --git a/sound/instruments/xylophone/En6.mid b/sound/instruments/xylophone/En6.mid new file mode 100644 index 00000000000..2b728aa02f6 Binary files /dev/null and b/sound/instruments/xylophone/En6.mid differ diff --git a/sound/instruments/xylophone/Fn2.mid b/sound/instruments/xylophone/Fn2.mid new file mode 100644 index 00000000000..2d329eafab0 Binary files /dev/null and b/sound/instruments/xylophone/Fn2.mid differ diff --git a/sound/instruments/xylophone/Fn3.mid b/sound/instruments/xylophone/Fn3.mid new file mode 100644 index 00000000000..262398bd647 Binary files /dev/null and b/sound/instruments/xylophone/Fn3.mid differ diff --git a/sound/instruments/xylophone/Fn4.mid b/sound/instruments/xylophone/Fn4.mid new file mode 100644 index 00000000000..d0103d46f0a Binary files /dev/null and b/sound/instruments/xylophone/Fn4.mid differ diff --git a/sound/instruments/xylophone/Fn5.mid b/sound/instruments/xylophone/Fn5.mid new file mode 100644 index 00000000000..2fb0d481d7e Binary files /dev/null and b/sound/instruments/xylophone/Fn5.mid differ diff --git a/sound/instruments/xylophone/Fn6.mid b/sound/instruments/xylophone/Fn6.mid new file mode 100644 index 00000000000..851cc387df7 Binary files /dev/null and b/sound/instruments/xylophone/Fn6.mid differ diff --git a/sound/instruments/xylophone/Gb2.mid b/sound/instruments/xylophone/Gb2.mid new file mode 100644 index 00000000000..1429339b866 Binary files /dev/null and b/sound/instruments/xylophone/Gb2.mid differ diff --git a/sound/instruments/xylophone/Gb3.mid b/sound/instruments/xylophone/Gb3.mid new file mode 100644 index 00000000000..2e7ffcc7317 Binary files /dev/null and b/sound/instruments/xylophone/Gb3.mid differ diff --git a/sound/instruments/xylophone/Gb4.mid b/sound/instruments/xylophone/Gb4.mid new file mode 100644 index 00000000000..dcb800e3af8 Binary files /dev/null and b/sound/instruments/xylophone/Gb4.mid differ diff --git a/sound/instruments/xylophone/Gb5.mid b/sound/instruments/xylophone/Gb5.mid new file mode 100644 index 00000000000..9bfd1db08e9 Binary files /dev/null and b/sound/instruments/xylophone/Gb5.mid differ diff --git a/sound/instruments/xylophone/Gb6.mid b/sound/instruments/xylophone/Gb6.mid new file mode 100644 index 00000000000..2329d70b8f0 Binary files /dev/null and b/sound/instruments/xylophone/Gb6.mid differ diff --git a/sound/instruments/xylophone/Gn2.mid b/sound/instruments/xylophone/Gn2.mid new file mode 100644 index 00000000000..67e8ff80b15 Binary files /dev/null and b/sound/instruments/xylophone/Gn2.mid differ diff --git a/sound/instruments/xylophone/Gn3.mid b/sound/instruments/xylophone/Gn3.mid new file mode 100644 index 00000000000..416b3603110 Binary files /dev/null and b/sound/instruments/xylophone/Gn3.mid differ diff --git a/sound/instruments/xylophone/Gn4.mid b/sound/instruments/xylophone/Gn4.mid new file mode 100644 index 00000000000..81c84e8ae96 Binary files /dev/null and b/sound/instruments/xylophone/Gn4.mid differ diff --git a/sound/instruments/xylophone/Gn5.mid b/sound/instruments/xylophone/Gn5.mid new file mode 100644 index 00000000000..34b94805a5e Binary files /dev/null and b/sound/instruments/xylophone/Gn5.mid differ diff --git a/sound/instruments/xylophone/Gn6.mid b/sound/instruments/xylophone/Gn6.mid new file mode 100644 index 00000000000..2ea9104e419 Binary files /dev/null and b/sound/instruments/xylophone/Gn6.mid differ