Here’s my config for good knob coverage to control MiniFreak-V (Standalone) from a single Minilab 3 User Profile. 3 different MIDI channels are used to implement 3 separate knob banks (3 x (8 knobs + 4 faders)).
The mappings I chose are as follows:
Control | Chan. | CC | ParamID | Function | Category |
---|---|---|---|---|---|
Fader 1 | 1 | 82 | 5 | Osc1:Volume | OSC |
Fader 2 | 1 | 83 | 11 | Osc2:Volume | OSC |
Fader 3 | 1 | 85 | 1 | Osc1 Type | OSC |
Fader 4 | 1 | 17 | 7 | Osc2 Type | OSC |
Knob 1 | 1 | 74 | 0 | Osc1:Coarse | OSC |
Knob 2 | 1 | 71 | 2 | Osc1:Wave Param. | OSC |
Knob 3 | 1 | 76 | 3 | Osc1:Timbre Param. | OSC |
Knob 4 | 1 | 77 | 4 | Osc1:Shape Param. | OSC |
Knob 5 | 1 | 93 | 6 | Osc2:Coarse | OSC |
Knob 6 | 1 | 18 | 8 | Osc2:Wave Param. | OSC |
Knob 7 | 1 | 19 | 9 | Osc2:Timbre Param. | OSC |
Knob 8 | 1 | 16 | 10 | Osc2:Shape Param. | OSC |
Pad 1 | Any | 14 | 186 | Prev Preset | |
Pad 2 | Any | 15 | 187 | Next Preset | |
Fader 1 | 2 | 82 | 30 | Macro 1 | MISC |
Fader 2 | 2 | 83 | 31 | Macro 2 | MISC |
Fader 3 | 2 | 85 | (unassigned) | ||
Fader 4 | 2 | 17 | 130 | Wheels:Vibrato Rate (Mod Wheel) | MISC |
Knob 1 | 2 | 74 | 13 | Filter:Cutoff | FILTER |
Knob 2 | 2 | 71 | 14 | Filter:Res. | FILTER |
Knob 3 | 2 | 76 | 15 | Filter:Env Amt | FILTER |
Knob 4 | 2 | 77 | 12 | Glide | MISC |
Knob 5 | 2 | 93 | 25 | LFO1:Rate (when Rate Type = Free) | LFO |
Knob 6 | 2 | 18 | 24 | LFO1:Wave | LFO |
Knob 7 | 2 | 19 | 28 | LFO2:Rate (when Rate Type = Free) | LFO |
Knob 8 | 2 | 16 | 27 | LFO2:Wave | LFO |
Fader 1 | 3 | 82 | 133 | FX1:Amount (Dry/Wet) | FX |
Fader 2 | 3 | 83 | 136 | FX2:Amount (Dry/Wet) | FX |
Fader 3 | 3 | 85 | 139 | FX3:Amount (Dry/Wet) | FX |
Fader 4 | 3 | 17 | (unassigned) | ||
Knob 1 | 3 | 74 | 21 | CyclingEnv:Rise | ENV |
Knob 2 | 3 | 71 | 22 | CyclingEnv:Fall | ENV |
Knob 3 | 3 | 76 | 23 | CyclingEnv:Hold | ENV |
Knob 4 | 3 | 77 | (unassigned) | ||
Knob 5 | 3 | 93 | 17 | Env:Attack | ENV |
Knob 6 | 3 | 18 | 18 | Env:Decay | ENV |
Knob 7 | 3 | 19 | 19 | Env:Sustain | ENV |
Knob 8 | 3 | 16 | 20 | Env:Release | ENV |
MiniFreak-V MIDI config (importable in MiniFreak-V App)
File Name: MiniFreakV-Minilab3-Ch1-3.mnfxmidi
<?xml version="1.0" encoding="utf-8"?>
<rootnode>
<midiconfig name="MiniFreakV-Minilab3-Ch1-3">
<assignment controller="14" paramid="186" isrelative="0" min="0.000000" max="1.000000" channel="0"/>
<assignment controller="15" paramid="187" isrelative="0" min="0.000000" max="1.000000" channel="0"/>
<assignment controller="16" paramid="10" isrelative="0" min="0.000000" max="1.000000" channel="0"/>
<assignment controller="17" paramid="7" isrelative="0" min="0.000000" max="1.000000" channel="0"/>
<assignment controller="18" paramid="8" isrelative="0" min="0.000000" max="1.000000" channel="0"/>
<assignment controller="19" paramid="9" isrelative="0" min="0.000000" max="1.000000" channel="0"/>
<assignment controller="71" paramid="2" isrelative="0" min="0.000000" max="1.000000" channel="0"/>
<assignment controller="74" paramid="0" isrelative="0" min="0.000000" max="1.000000" channel="0"/>
<assignment controller="76" paramid="3" isrelative="0" min="0.000000" max="1.000000" channel="0"/>
<assignment controller="77" paramid="4" isrelative="0" min="0.000000" max="1.000000" channel="0"/>
<assignment controller="82" paramid="5" isrelative="0" min="0.000000" max="1.000000" channel="0"/>
<assignment controller="83" paramid="11" isrelative="0" min="0.000000" max="1.000000" channel="0"/>
<assignment controller="85" paramid="1" isrelative="0" min="0.000000" max="1.000000" channel="0"/>
<assignment controller="93" paramid="6" isrelative="0" min="0.000000" max="1.000000" channel="0"/>
<assignment controller="16" paramid="27" isrelative="0" min="0.000000" max="1.000000" channel="1"/>
<assignment controller="17" paramid="130" isrelative="0" min="0.000000" max="1.000000" channel="1"/>
<assignment controller="18" paramid="24" isrelative="0" min="0.000000" max="1.000000" channel="1"/>
<assignment controller="19" paramid="28" isrelative="0" min="0.000000" max="1.000000" channel="1"/>
<assignment controller="71" paramid="14" isrelative="0" min="0.000000" max="1.000000" channel="1"/>
<assignment controller="74" paramid="13" isrelative="0" min="0.000000" max="1.000000" channel="1"/>
<assignment controller="76" paramid="15" isrelative="0" min="0.000000" max="1.000000" channel="1"/>
<assignment controller="77" paramid="12" isrelative="0" min="0.000000" max="1.000000" channel="1"/>
<assignment controller="82" paramid="30" isrelative="0" min="0.000000" max="1.000000" channel="1"/>
<assignment controller="83" paramid="31" isrelative="0" min="0.000000" max="1.000000" channel="1"/>
<assignment controller="93" paramid="25" isrelative="0" min="0.000000" max="1.000000" channel="1"/>
<assignment controller="16" paramid="20" isrelative="0" min="0.000000" max="1.000000" channel="2"/>
<assignment controller="18" paramid="18" isrelative="0" min="0.000000" max="1.000000" channel="2"/>
<assignment controller="19" paramid="19" isrelative="0" min="0.000000" max="1.000000" channel="2"/>
<assignment controller="71" paramid="22" isrelative="0" min="0.000000" max="1.000000" channel="2"/>
<assignment controller="74" paramid="21" isrelative="0" min="0.000000" max="1.000000" channel="2"/>
<assignment controller="76" paramid="23" isrelative="0" min="0.000000" max="1.000000" channel="2"/>
<assignment controller="82" paramid="133" isrelative="0" min="0.000000" max="1.000000" channel="2"/>
<assignment controller="83" paramid="136" isrelative="0" min="0.000000" max="1.000000" channel="2"/>
<assignment controller="85" paramid="139" isrelative="0" min="0.000000" max="1.000000" channel="2"/>
<assignment controller="93" paramid="17" isrelative="0" min="0.000000" max="1.000000" channel="2"/>
</midiconfig>
</rootnode>
Minilab3 User Preset (importable in MIDI Config Center)
Minilab MCC config that goes with the above MiniFreak-V MIDI config.
File Name: MiniFreak.minilab3
{
"device": "MiniLab 3",
"version": "1.1.1",
"26_0": 0,
"26_1": 0,
"26_2": 1,
"26_3": 0,
"26_4": 127,
"26_5": 0,
"26_6": 0,
"27_7": 0,
"27_8": 0,
"27_9": 127,
"28_10": 0,
"28_11": 9,
"28_12": 0,
"28_13": 127,
"28_310": 0,
"29_14": 1,
"29_16": 0,
"29_18": 114,
"30_15": 1,
"30_17": 0,
"30_19": 112,
"31_20": 1,
"31_22": 0,
"31_24": 115,
"31_26": 0,
"31_28": 127,
"31_30": 0,
"31_32": 0,
"32_21": 1,
"32_23": 0,
"32_25": 113,
"32_27": 0,
"32_29": 127,
"32_31": 0,
"32_33": 0,
"33_311": 0,
"33_34": 0,
"33_42": 0,
"33_50": 0,
"33_58": 74,
"33_66": 0,
"33_74": 0,
"33_82": 0,
"33_90": 127,
"34_312": 0,
"34_35": 0,
"34_43": 0,
"34_51": 0,
"34_59": 71,
"34_67": 0,
"34_75": 0,
"34_83": 0,
"34_91": 127,
"35_313": 0,
"35_36": 0,
"35_44": 0,
"35_52": 0,
"35_60": 76,
"35_68": 0,
"35_76": 0,
"35_84": 0,
"35_92": 127,
"36_314": 0,
"36_37": 0,
"36_45": 0,
"36_53": 0,
"36_61": 77,
"36_69": 0,
"36_77": 0,
"36_85": 0,
"36_93": 127,
"37_315": 0,
"37_38": 0,
"37_46": 0,
"37_54": 0,
"37_62": 93,
"37_70": 0,
"37_78": 0,
"37_86": 0,
"37_94": 127,
"38_316": 0,
"38_39": 0,
"38_47": 0,
"38_55": 0,
"38_63": 18,
"38_71": 0,
"38_79": 0,
"38_87": 0,
"38_95": 127,
"39_317": 0,
"39_40": 0,
"39_48": 0,
"39_56": 0,
"39_64": 19,
"39_72": 0,
"39_80": 0,
"39_88": 0,
"39_96": 127,
"40_318": 0,
"40_41": 0,
"40_49": 0,
"40_57": 0,
"40_65": 16,
"40_73": 0,
"40_81": 0,
"40_89": 0,
"40_97": 127,
"41_102": 82,
"41_106": 0,
"41_110": 0,
"41_114": 127,
"41_98": 0,
"42_103": 83,
"42_107": 0,
"42_111": 0,
"42_115": 127,
"42_99": 0,
"43_100": 0,
"43_104": 85,
"43_108": 0,
"43_112": 0,
"43_116": 127,
"44_101": 0,
"44_105": 17,
"44_109": 0,
"44_113": 0,
"44_117": 127,
"45_118": 1,
"45_134": 1,
"45_150": 23,
"45_166": 0,
"45_182": 14,
"45_198": 127,
"45_214": 0,
"45_230": 36,
"45_246": 0,
"45_262": 0,
"45_278": 0,
"45_294": 0,
"46_119": 1,
"46_135": 1,
"46_151": 8,
"46_167": 0,
"46_184": 15,
"46_199": 127,
"46_215": 0,
"46_231": 37,
"46_248": 0,
"46_264": 0,
"46_280": 0,
"46_296": 0,
"47_120": 0,
"47_136": 10,
"47_152": 41,
"47_168": 0,
"47_186": 113,
"47_200": 127,
"47_216": 0,
"47_232": 38,
"47_250": 0,
"47_266": 0,
"47_282": 0,
"47_298": 0,
"48_121": 0,
"48_137": 10,
"48_153": 41,
"48_169": 0,
"48_188": 115,
"48_201": 127,
"48_217": 0,
"48_233": 39,
"48_252": 0,
"48_268": 0,
"48_284": 0,
"48_300": 0,
"49_122": 0,
"49_138": 10,
"49_154": 41,
"49_170": 0,
"49_190": 117,
"49_202": 127,
"49_218": 0,
"49_234": 40,
"49_254": 0,
"49_270": 0,
"49_286": 0,
"49_302": 0,
"50_123": 0,
"50_139": 10,
"50_155": 41,
"50_171": 0,
"50_192": 119,
"50_203": 127,
"50_219": 0,
"50_235": 41,
"50_256": 0,
"50_272": 0,
"50_288": 0,
"50_304": 0,
"51_124": 0,
"51_140": 10,
"51_156": 41,
"51_172": 0,
"51_194": 121,
"51_204": 127,
"51_220": 0,
"51_236": 42,
"51_258": 0,
"51_274": 0,
"51_290": 0,
"51_306": 0,
"52_125": 0,
"52_141": 10,
"52_157": 41,
"52_173": 0,
"52_196": 123,
"52_205": 127,
"52_221": 0,
"52_237": 43,
"52_260": 0,
"52_276": 0,
"52_292": 0,
"52_308": 0,
"53_126": 0,
"53_142": 10,
"53_158": 41,
"53_174": 0,
"53_183": 110,
"53_206": 127,
"53_222": 0,
"53_238": 44,
"53_247": 0,
"53_263": 0,
"53_279": 0,
"53_295": 0,
"54_127": 0,
"54_143": 10,
"54_159": 41,
"54_175": 0,
"54_185": 112,
"54_207": 127,
"54_223": 0,
"54_239": 45,
"54_249": 0,
"54_265": 0,
"54_281": 0,
"54_297": 0,
"55_128": 0,
"55_144": 10,
"55_160": 41,
"55_176": 0,
"55_187": 114,
"55_208": 127,
"55_224": 0,
"55_240": 46,
"55_251": 0,
"55_267": 0,
"55_283": 0,
"55_299": 0,
"56_129": 0,
"56_145": 10,
"56_161": 41,
"56_177": 0,
"56_189": 116,
"56_209": 127,
"56_225": 0,
"56_241": 47,
"56_253": 0,
"56_269": 0,
"56_285": 0,
"56_301": 0,
"57_130": 0,
"57_146": 10,
"57_162": 41,
"57_178": 0,
"57_191": 118,
"57_210": 127,
"57_226": 0,
"57_242": 48,
"57_255": 0,
"57_271": 0,
"57_287": 0,
"57_303": 0,
"58_131": 0,
"58_147": 10,
"58_163": 41,
"58_179": 0,
"58_193": 120,
"58_211": 127,
"58_227": 0,
"58_243": 49,
"58_257": 0,
"58_273": 0,
"58_289": 0,
"58_305": 0,
"59_132": 0,
"59_148": 10,
"59_164": 41,
"59_180": 0,
"59_195": 122,
"59_212": 127,
"59_228": 0,
"59_244": 50,
"59_259": 0,
"59_275": 0,
"59_291": 0,
"59_307": 0,
"60_133": 0,
"60_149": 10,
"60_165": 41,
"60_181": 0,
"60_197": 124,
"60_213": 127,
"60_229": 0,
"60_245": 51,
"60_261": 0,
"60_277": 0,
"60_293": 0,
"60_309": 0,
}
Note that:
- I had to edit the MiniFreak-V XML file manually to reuse the same CCs across multiple MIDI channels.
- Previous Preset and Next Preset controls are mapped to Channel 1 but they also work when these CCs are sent on other channel for some reason.