Contribution: Near-full control of MiniFreak-V from Minilab 3

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.