All files / src/midi patchBank.ts

100% Statements 5/5
100% Branches 0/0
100% Functions 0/0
100% Lines 5/5

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66  1x 1x 1x 1x                                   1x                                                                                      
import { GeneralMIDIPercussion, GeneralMidiInstruments, Patch } from "./types"
 
export type PatchSet = Map<GeneralMidiInstruments | GeneralMIDIPercussion, Patch>;
 
export const AndyPatch: PatchSet = new Map<GeneralMidiInstruments, Patch>([
  [
    GeneralMidiInstruments.AcousticBass,
    { "len": 3, "vca": { "gain": 0.2 }, "voices": [{ "vco": { "type": "sine", "freqOffset": 0, "detune": 0 }, "vca": { "gainOffset": 0 } }, { "vco": { "type": "sine", "detune": 0 }, "vca": { "gainOffset": -0.29 } }, { "vco": { "type": "sine", "detune": 0 }, "vca": { "gainOffset": -0.4 } }, { "vco": { "type": "triangle", "detune": 0 }, "vca": { "gainOffset": -0.62 } }, { "vco": { "type": "triangle", "detune": 0 }, "vca": { "gainOffset": -0.68 } }, { "vco": { "type": "sine", "detune": 0 }, "vca": { "gainOffset": -0.62 } }, { "vco": { "type": "sine", "detune": 0 }, "vca": { "gainOffset": -0.68 } }, { "vco": { "type": "square", "detune": 0 }, "vca": { "gainOffset": -0.56 } }], "compressor": { "threshold": -10, "knee": 0, "ratio": 1, "attack": 0, "release": 0.5 }, "adsr": { "attack": 0, "decay": 0.1, "sustain": 0.5, "release": 1 }, "filter": { "type": "lowpass", "frequency": 300, "q": 1.04, "gain": 1 } },
  ],
  [
    GeneralMidiInstruments.SynthDrum,
    { "len": 2, "vca": { "gain": 2 }, "voices": [{ "vco": { "type": "custom", "freqOffset": 0, "detune": 0 }, "vca": { "gainOffset": 2 } }], "compressor": { "threshold": -10, "knee": 0, "ratio": 2, "attack": 0, "release": 0 }, "adsr": { "attack": 0, "decay": 0, "sustain": 1, "release": 1 }, "filter": { "type": "lowpass", "frequency": 80, "q": 1.04, "gain": 0.5 } }
  ],
  [
    GeneralMidiInstruments.ChurchOrgan,
    { "len": 20, "vca": { "gain": 0.2 }, "voices": [{ "vco": { "type": "sine", "freqOffset": 0, "detune": 0 }, "vca": { "gainOffset": 0 } }, { "vco": { "type": "sine", "freqMult": 2, "detune": 0 }, "vca": { "gainOffset": -0.29 } }, { "vco": { "type": "sine", "freqMult": 4, "detune": 0 }, "vca": { "gainOffset": -0.4 } }, { "vco": { "type": "sine", "freqMult": 8, "detune": 0 }, "vca": { "gainOffset": -0.62 } }, { "vco": { "type": "sine", "freqMult": 16, "detune": 0 }, "vca": { "gainOffset": -0.68 } }, { "vco": { "type": "sine", "freqMult": 32, "detune": 0 }, "vca": { "gainOffset": -0.62 } }, { "vco": { "type": "sine", "freqMult": 64, "detune": 0 }, "vca": { "gainOffset": -0.68 } }, { "vco": { "type": "sine", "freqMult": 128, "detune": 0 }, "vca": { "gainOffset": -0.56 } }], "compressor": { "threshold": -20, "knee": 0, "ratio": 12, "attack": 0, "release": 1 }, "adsr": { "attack": 0, "decay": 0.1, "sustain": 0.5, "release": 1 }, "filter": { "type": "lowpass", "frequency": 2300, "q": 1.04, "gain": 1 } }
  ],
  [
    GeneralMidiInstruments.TaikoDrum,
    { "len": 2, "vca": { "gain": 5 }, "voices": [{ "vco": { "type": "custom", "freqOffset": 0, "detune": 0 }, "vca": { "gainOffset": 1.5 } }, { "vco": { "type": "square", "freqMult": 1.1, "detune": 0 }, "vca": { "gainOffset": -0.79 } }], "compressor": { "threshold": -1, "knee": 40, "ratio": 2, "attack": 0.2, "release": 0.3 }, "adsr": { "attack": 0, "decay": 0.1, "sustain": 0.4, "release": 0.1 }, "filter": { "type": "lowpass", "frequency": 100, "q": 1.04, "gain": 2 } }
  ],
]);
 
export const AndyPercussionPatch: PatchSet = new Map<GeneralMIDIPercussion, Patch>([
  [
    GeneralMIDIPercussion.BassDrum1,
    { "len": 0.5, "vca": { "gain": 3 }, "voices": [{ "vco": { "type": "custom", "freqOffset": 0, "detune": 0 }, "vca": { "gainOffset": 1.5 } }, { "vco": { "type": "square", "frequency": 88, "detune": 0 }, "vca": { "gainOffset": -0.79 } }], "compressor": { "threshold": -1, "knee": 40, "ratio": 2, "attack": 0.2, "release": 0.3 }, "adsr": { "attack": 0, "decay": 0.1, "sustain": 0.4, "release": 0.1 }, "filter": { "type": "lowpass", "frequency": 80, "q": 1.04, "gain": 2 } }
  ],
  [
    GeneralMIDIPercussion.BassDrum2,
    { "len": 0.2, "vca": { "gain": 2.5 }, "voices": [{ "vco": { "type": "custom", "freqOffset": 0, "detune": 0 }, "vca": { "gainOffset": 10 } }, { "vco": { "type": "triangle", "frequency": 80, "detune": 0 }, "vca": { "gainOffset": 10 } }], "compressor": { "threshold": -30, "knee": 40, "ratio": 12, "attack": 0, "release": 0.25 }, "adsr": { "attack": 0, "decay": 0.01, "sustain": 0.5, "release": 0.01 }, "filter": { "type": "lowpass", "frequency": 200, "q": 1.04, "gain": 10 } }
  ],
  [
    GeneralMIDIPercussion.HighTom2,
    { "len": 0.5, "vca": { "gain": 3 }, "voices": [{ "vco": { "type": "custom", "freqOffset": 0, "detune": 0 }, "vca": { "gainOffset": 1.5 } }, { "vco": { "type": "square", "freqMult": 1.1, "detune": 0 }, "vca": { "gainOffset": -0.79 } }], "compressor": { "threshold": -1, "knee": 40, "ratio": 2, "attack": 0.2, "release": 0.3 }, "adsr": { "attack": 0, "decay": 0.1, "sustain": 0.4, "release": 0.1 }, "filter": { "type": "lowpass", "frequency": 80, "q": 1.04, "gain": 2 } }
  ],
  [
    GeneralMIDIPercussion.LowWoodBlock,
    { "len": 0.5, "vca": { "gain": 3 }, "voices": [{ "vco": { "type": "custom", "freqOffset": 0, "detune": 0 }, "vca": { "gainOffset": 1.5 } }, { "vco": { "type": "square", "freqMult": 1.1, "detune": 0 }, "vca": { "gainOffset": -0.79 } }], "compressor": { "threshold": -1, "knee": 40, "ratio": 2, "attack": 0.2, "release": 0.3 }, "adsr": { "attack": 0, "decay": 0.1, "sustain": 0.4, "release": 0.1 }, "filter": { "type": "bandpass", "frequency": 640, "q": 10.04, "gain": 0.3 } }
  ],
  [
    GeneralMIDIPercussion.HighWoodBlock,
    { "len": 1, "vca": { "gain": 3 }, "voices": [{ "vco": { "type": "custom", "freqOffset": 0, "detune": 0 }, "vca": { "gainOffset": 0.9 } }, { "vco": { "type": "triangle", "frequency": 1000, "detune": 0 }, "vca": { "gainOffset": -0.9 } }], "filter": { "type": "bandpass", "frequency": 1240, "q": 10.94, "gain": 1 }, "adsr": { "attack": 0, "decay": 0.1, "sustain": 0.1, "release": 0.2 }, "compressor": { "threshold": -20, "knee": 30, "ratio": 2, "attack": 0.1, "release": 0.4 } }
  ],
  [
    GeneralMIDIPercussion.SnareDrum1,
    { "len": 0.2, "vca": { "gain": 8 }, "voices": [{ "vco": { "type": "custom", "freqOffset": 0, "detune": 0 }, "vca": { "gainOffset": 10 } }, { "vco": { "type": "triangle", "frequency": 150, "detune": -10 }, "vca": { "gainOffset": 2 } }], "compressor": { "threshold": -30, "knee": 40, "ratio": 12, "attack": 0, "release": 0.25 }, "adsr": { "attack": 0, "decay": 0.01, "sustain": 0.5, "release": 0.01 }, "filter": { "type": "lowpass", "frequency": 1000, "q": 1.04, "gain": 10 } }
  ],
  [
    GeneralMIDIPercussion.SnareDrum2,
    { "len": 0.5, "vca": { "gain": 3.5 }, "voices": [{ "vco": { "type": "custom", "freqOffset": 0, "detune": 0 }, "vca": { "gainOffset": 1.5 } }], "compressor": { "threshold": -20, "knee": 30, "ratio": 2, "attack": 0.2, "release": 0.3 }, "adsr": { "attack": 0, "decay": 0.1, "sustain": 0.4, "release": 0.1 }, "filter": { "type": "bandpass", "frequency": 180, "q": 3.04, "gain": 0.3 } }
  ],
  [
    GeneralMIDIPercussion.RideCymbal1,
    { "len": 1.5, "vca": { "gain": 2.5 }, "voices": [{ "vco": { "type": "sine", "frequency": 174, "detune": 0 }, "vca": { "gainOffset": -0.9 } }, { "vco": { "type": "sine", "frequency": 692, "detune": 0 }, "vca": { "gainOffset": -0.9 } }, { "vco": { "type": "sine", "frequency": 1783, "detune": 0 }, "vca": { "gainOffset": -0.9 } }, { "vco": { "type": "custom", "frequency": 220, "detune": 0 }, "vca": { "gainOffset": 0.9 } }], "filter": { "type": "bandpass", "frequency": 1349, "q": 1.04, "gain": 1 }, "adsr": { "attack": 0, "decay": 0.2, "sustain": 0.05, "release": 0.2 }, "compressor": { "threshold": -20, "knee": 40, "ratio": 12, "attack": 0.1, "release": 0.2 } }
  ],
  [
    GeneralMIDIPercussion.RideCymbal2,
    { "len": 1, "vca": { "gain": 3 }, "voices": [{ "vco": { "type": "triangle", "frequency": 1740, "detune": 0 }, "vca": { "gainOffset": -0.8 } }, { "vco": { "type": "triangle", "frequency": 692, "detune": 0 }, "vca": { "gainOffset": -0.7 } }, { "vco": { "type": "triangle", "frequency": 1783, "detune": 0 }, "vca": { "gainOffset": -0.9 } }, { "vco": { "type": "custom", "frequency": 0, "detune": 0 }, "vca": { "gainOffset": 0.3 } }], "filter": { "type": "bandpass", "frequency": 8349, "q": 1.04, "gain": 1 }, "adsr": { "attack": 0, "decay": 0.1, "sustain": 0.05, "release": 0.1 }, "compressor": { "threshold": -20, "knee": 40, "ratio": 12, "attack": 0.1, "release": 0.2 } }
  ],
  [
    GeneralMIDIPercussion.CrashCymbal1,
    { "len": 1.5, "vca": { "gain": 2.5 }, "voices": [{ "vco": { "type": "triangle", "frequency": 4740, "detune": 0 }, "vca": { "gainOffset": -0.9 } }, { "vco": { "type": "triangle", "frequency": 692, "detune": 0 }, "vca": { "gainOffset": -0.9 } }, { "vco": { "type": "triangle", "frequency": 1783, "detune": 0 }, "vca": { "gainOffset": -0.9 } }, { "vco": { "type": "custom", "frequency": 0, "detune": 0 }, "vca": { "gainOffset": 0.9 } }], "filter": { "type": "highpass", "frequency": 3349, "q": 1.04, "gain": 1 }, "adsr": { "attack": 0, "decay": 0.2, "sustain": 0.05, "release": 0.2 }, "compressor": { "threshold": -20, "knee": 40, "ratio": 12, "attack": 0.1, "release": 0.2 } }
  ]
]);