Go Back   Cockos Incorporated Forums > REAPER Forums > REAPER Compatibility

Reply
 
Thread Tools Display Modes
Old 02-15-2016, 11:48 AM   #1
goldenarpharazon
Human being with feelings
 
Join Date: Feb 2016
Posts: 189
Default AKAI MIDIMIX control surface released

Here is an OSC control surface (software) for controlling REAPER using the Akai MIDIMIX midi controller.
Features of this fully implemented V1.01b release "Carnelian" supporting both Windows and macOS include

- 9 Sliders control track recording levels and master level
- Up to 72 (and 144) knobs in 3 banks assignable to anything in Reaper
- Two operating modes: Mixer and Instrument
- All MIDIMIX buttons enabled as recarm, mute, solo, bank, track select, FX open with feedback from Reaper to the MIDIMIX buttons' LEDS
- Soft takeover for track volume sliders, pans and the assignable knobs
- Easily customisable without dependencies on binaries or compilation
- GUI add on available to show the learnt knobs' assignments: see Darkstar's Head Up Display and Enhanced Head Up Display (Beta)

The OSCII-bot script files needed for the control surface and installation instructions/user guide is in the attached zip file.
Akai MIDIMIX controller details are at https://www.akaipro.com/midimix

Please leave some forum feedback if the MIDIMIX support is of use!

Release history:
1.01b 27 Nov 2017 "Carnelian". Extends knobs to 144 virtual assignable knobs. Bug fixes for instrument mode. Improved user guide
1.01a 27 Oct 2017 "Beryl". Adds soft takeover for all knobs (56 views)
1.00a 21 Apr 2017 "Amethyst". Adds soft takeover for track volume sliders and pan. User guide amendments. (165 views)
0.95c 26 Jun 2016 Fixes minor LED handling bug on brief button press (reported in post #22) (311 views)
0.95b 25 Mar 2016 Knob parameter: learn assignment flexibility improvement (356 views)
0.95a 15 Feb 2016 Original forum release
Attached Files
File Type: zip MidiMix101b1.zip (61.8 KB, 2269 views)

Last edited by goldenarpharazon; 04-07-2020 at 10:34 AM.
goldenarpharazon is offline   Reply With Quote
Old 02-24-2016, 10:38 PM   #2
sodium
Human being with feelings
 
sodium's Avatar
 
Join Date: Aug 2010
Posts: 80
Default

Quote:
Originally Posted by goldenarpharazon View Post

The OSCII-bot script files needed and installation instructions/user guide are in attached zip file.
Akai MIDIMIX controller details are at http://www.akaipro.com/product/midimix

Please leave some forum feedback if the MIDIMIX support is of use!
Hey thank you, goldenpharazon. I just bought one of these controllers today and reading this thread, am comforted to know that my unit wasn't faulty because the LEDs were not functioning and that a way to make the unit talk to REAPER has been developed and shared. Thank you

I have DL'd the zip file and extracted but can't seem to find out how to make it all work in the way it is intended.

Please excuse my lack of knowledge but may I ask please:

1. How does one set this up please?
2. What/where are OSCII bot files?
3. Is there perhaps a guide to setting up the actions required

Many thanks again for software the post, and to all in this thread, thank you.

Cheers,
na
__________________
i hate everyone and i'm equipped with nothing to offer.
sodium is offline   Reply With Quote
Old 02-25-2016, 07:57 AM   #3
goldenarpharazon
Human being with feelings
 
Join Date: Feb 2016
Posts: 189
Default

The .pdf user guide in the original download .zip in post #1 has been amended with more guidance on where OSCII-bot (from Cockos) can be found, and to the forum postings on how to set up an OSC script etc. Hopefully that will help.

The "actions" as in Reaper actions like recarm, mute, solo, bank, track select, FX open etc will just happen on a MIDIMIX button press when OSCII-bot is all installed and run and working since these actions are programmed in the MidiMixControl.txt script. The only item needing further set up is for the 72 knobs where "learning" will associate the knob to any desired specific value in Reaper.
goldenarpharazon is offline   Reply With Quote
Old 03-07-2016, 10:51 AM   #4
fataldissidence
Human being with feelings
 
Join Date: Nov 2015
Posts: 13
Default

thanks for the zip file, am currently downloading.

Does this setup acomodate for people who want to live mix effects without the need to toggle between tracks?

cheers
fataldissidence is offline   Reply With Quote
Old 03-07-2016, 12:28 PM   #5
Acid
Human being with feelings
 
Join Date: Mar 2016
Location: Expose all audiophiles! Name all audiophiles!
Posts: 60
Default

Does the unit work with ASIO drivers?
Acid is offline   Reply With Quote
Old 03-07-2016, 02:45 PM   #6
ivansc
Human being with feelings
 
Join Date: Aug 2007
Location: Near Cambridge UK and Near Questembert, France
Posts: 22,754
Default

Quote:
Originally Posted by Acid View Post
Does the unit work with ASIO drivers?
Its a MIDI based controller, not an interface.

No ASIO involved or indeed necessary.
__________________
Ici on parles Franglais
ivansc is offline   Reply With Quote
Old 03-07-2016, 03:53 PM   #7
goldenarpharazon
Human being with feelings
 
Join Date: Feb 2016
Posts: 189
Default

Quote:
Originally Posted by fataldissidence View Post
thanks for the zip file, am currently downloading.

Does this setup acomodate for people who want to live mix effects without the need to toggle between tracks?

cheers
The MIDIMIX sliders control the level on each of 8 adjacent tracks in a bank so that hopefully does what is wished for live mixing by arranging tracks to suit a bank? A single bank left or right press will assign the sliders to the adjacent bank of 8 tracks.

The knobs can be assigned using "learn" to any Reaper value and keep this assignment independent of any track selection, so that should be helpful too.
goldenarpharazon is offline   Reply With Quote
Old 09-05-2017, 02:33 AM   #8
XamiKami
Human being with feelings
 
Join Date: Aug 2017
Posts: 41
Default

This is amazing, thanks!

+---QUESTION:-----------------------------+
Just a little question to the people smarter than me:
As i don't really need the master Fader controlled ( should really always be at 0db),
i'd like to use it as a generic control, like the knobs. is that possible? if yes, what do i have to do to get it to be like that?

Also, more importantly, in Instrument mode I'd like to use one of the buttons ( like the 8th RecArm Button) to fire a custom action that bypasses the focused Effect. How do i do that? I tried replacing the standart line in the oscii-txt
( oscsend(OSC_to_REAPER, device_track_select, 8); oscsend(OSC_to_REAPER, device_fxparam_bank_select );

to
(oscsend(OSC_to_REAPER, reaper_action, _RS5bf653642222c500b0f33ad11ab015810a766f96);

as that is the action ID, but it doesnt work.
Please help me ;D Thanks in Advance
XamiKami is offline   Reply With Quote
Old 09-05-2017, 04:35 AM   #9
goldenarpharazon
Human being with feelings
 
Join Date: Feb 2016
Posts: 189
Default XamiKami's modification question

Quote:
Originally Posted by XamiKami
As i don't really need the master Fader controlled ( should really always be at 0db),
i'd like to use it as a generic control, like the knobs. is that possible? if yes, what do i have to do to get it to be like that?
For using the master fader, modify this piece of code from the Amethyst release:-

Code:
    tmsg2 == master ?    
        oscsend(OSC_to_REAPER, reaper_softaction, tmsg3/127, 12); // master track volume - action for soft takeover
    );
The oscsend() call here can be changed to do whatever is wished using the slider's position (which is stored in tmsg3 and is converted in the call from integer to a real number between 0 and 1)

Quote:
Originally Posted by XamiKami
in Instrument mode I'd like to use one of the buttons ( like the 8th RecArm Button) to fire a custom action that bypasses the focused Effect. How do i do that? I tried replacing the standart line in the oscii-txt
( oscsend(OSC_to_REAPER, device_track_select, 8); oscsend(OSC_to_REAPER, device_fxparam_bank_select );
to
(oscsend(OSC_to_REAPER, reaper_action, _RS5bf653642222c500b0f33ad11ab015810a766f96);

as that is the action ID, but it doesnt work.
That's the correct piece of code to modify. But with the custom ID one is not using an integer number : rather it will be a string
One probably needs to use s/action/str as well and create additionally (say)
Code:
reaper_action_id = "s/action/str";  // ACTION as a custom ID string
in the header code of MidiMixControl.txt

Read the two forum posts
on action & custom IDs here
and here
which should help.

When testing, the OSCII-bot GUI window will show the OSC data being sent to Reaper as a diagnostic aid for what happens in the Control Surface and what actually happens at the Reaper end.

Last edited by goldenarpharazon; 09-05-2017 at 08:38 AM.
goldenarpharazon is offline   Reply With Quote
Old 09-06-2017, 04:24 AM   #10
XamiKami
Human being with feelings
 
Join Date: Aug 2017
Posts: 41
Default

Wow thanks for the quick answer
I'll try that.
How would i go about making all of the Mute and Recarm Buttons just generic Midi Buttons in Instrument mode ( like the knobs are in instrument mode )?

EDIT: im kinda stuck ;D What should my oscsend for the custom action look like now? i defined the action_id/str in the header, but now what do i have to change in the oscsend?

Last edited by XamiKami; 09-06-2017 at 04:32 AM.
XamiKami is offline   Reply With Quote
Old 09-06-2017, 06:07 AM   #11
XamiKami
Human being with feelings
 
Join Date: Aug 2017
Posts: 41
Default

Also, i see that the script tells reaper to change the color of the selected Tracks, should that work? Because it doesn't for me. And that would be damn helpful haha ;D Any ideas how to get that to work?
XamiKami is offline   Reply With Quote
Old 09-06-2017, 09:41 AM   #12
goldenarpharazon
Human being with feelings
 
Join Date: Feb 2016
Posts: 189
Default

Quote:
Originally Posted by XamiKami
How would i go about making all of the Mute and Recarm Buttons just generic Midi Buttons in Instrument mode ( like the knobs are in instrument mode )?
Change the code lines for the instrument mode buttons like this
Code:
( oscsend(OSC_to_REAPER, device_track_select, 1); oscsend(OSC_to_REAPER, device_fxparam_bank_select ););
to use an oscsend() call with your own unique string instead (very similar to the knobs) and then, using Reaper, "learn" that string to the required Reaper action.

Referring to the OSCII-bot syntax for oscsend()
(hyperlink) might help too.

Quote:
Originally Posted by XamiKami
What should my oscsend for the custom action look like now? i defined the action_id/str in the header, but now what do i have to change in the oscsend?
Please read both of the two forum threads identified with underlining in the previous reply from top to bottom: they do contain the answer.

Quote:
Originally Posted by XamiKami
....the script tells reaper to change the color of the selected Tracks, should that work?
Yes it works, and other users have previously confirmed it as working. Use the MIDIMIX "Bank Left" and "Bank Right" buttons. In all the released versions, when in mixer mode it changes colours of banks of 8 tracks at a time when banking, using standard Reaper actions. In instrument mode the banking does not work on tracks like this so there will be no colour change (by design). The user guide explains this.

Looking at the PeaveyStudio Mix control surface code here (the code is in the zip file) as well may help if trying to modify the MIDIMIX code. Forum user "Banned" used the same mechanism as used here, along with describing other alternative track colour schemes and their relative merits, some using SWS Extensions. The Peavey StudioMix code also includes use of custom IDs with oscsend() that one could just copy too.

As suggested earlier look at the OSCII-bot GUI window as a debugging tool. Posting output from this GUI window or other transcribed errors, described clearly along with the problem's context makes "remote" assistance easier when asking for forum help.

Last edited by goldenarpharazon; 09-07-2017 at 01:38 AM. Reason: Clarified in two successive edits to help XamiKami
goldenarpharazon is offline   Reply With Quote
Old 01-21-2018, 01:27 PM   #13
Charlie Hansen
Human being with feelings
 
Join Date: Feb 2015
Posts: 1
Default Akai Midimix installation in Reaper

Could someone please tell me what directories the following files should be installed in:
OSCII-bot, MidiMixcontrol.txt, and MidiMix.Reaper.OSC and is this all I have to do to get the MidiMix working in Reaper.

I'm new at this but not new at recording I just don't seem to be able to get the MidiMix to work in Reaper. It works flawlessly in Ableton without installation. If someone could give me step by step installation instructions in "Dummy" terms I would greatly appreciate it.

Thanks in advance.

Last edited by Charlie Hansen; 01-21-2018 at 01:43 PM.
Charlie Hansen is offline   Reply With Quote
Old 01-22-2018, 04:13 AM   #14
goldenarpharazon
Human being with feelings
 
Join Date: Feb 2016
Posts: 189
Default

OSCII-bot can go anywhere you wish; it is an executable file so it possibly belongs alongside other programme files for a tidy computer.

OSCII-bot's "readme.txt" file says where script files including MidiMixControl.txt can be put.

http://reaper.fm/sdk/osc/osc.php#osc_pattern_config describes the .ReaperOSC file. This web page tells how Reaper will show the pre-existing .ReaperOSC file's location on your Reaper installation. The MIDIMIX variant file can just be put alongside the default one in the file system.

After the file installation the Reaper MIDIMIX control surface user guide .PDF sets out the next steps. It directs to here http://forum.cockos.com/showpost.php...8&postcount=11 for further OSC setup instructions and hints should they be needed.

Last edited by goldenarpharazon; 01-22-2018 at 08:11 AM. Reason: Better explanation
goldenarpharazon is offline   Reply With Quote
Old 03-27-2018, 08:28 AM   #15
Piszpan
Human being with feelings
 
Join Date: Aug 2016
Posts: 89
Default

@goldenarpharazon
Over 3 months later I'm still stuck in the same point. I have read your hints, but I am simply not able to do this myself. Copying/pasting sections of code or finding and changing some values - that's feasible for me. But writing new code - out of my reach.

I am talking here, of course, about adding some functionality to the buttons in the instrument mode. After some thinking I came to conclusion that even the simplest implementation (I mean: no banks, no second layer of funcionality accessible via the Solo button, no LED utilization) would still be a big advance in usability of your great script.

At this moment, whenever I have some virtual switches in my VST instrument GUI's, I use the second bank of knobs in your script. It works, but it is not as elegant nor ergonomic as just having physcial buttons under my fingers. Infortunatelly I am not able to write code that would handle the button toggle mode in instrument mode.

Help me, Obi-Wan...
Piszpan is offline   Reply With Quote
Old 03-31-2018, 01:06 PM   #16
goldenarpharazon
Human being with feelings
 
Join Date: Feb 2016
Posts: 189
Default Repurposing buttons to be learnable with a toggle

Here goes: teach a man to fish, rather than give a fish...

Use this Notepad++ editor to look at the script code. https://forum.cockos.com/showthread....t=notepad+eel2
It will highlight the syntax. aids learning, and helps to ensure that block start and ends (the curved brackets and semicolons etc) align

Then let's start by repurposing a single recarm button. One step at a time to make sure the syntax and intent is correct.

The code needing to be changed is here.
Code:
          midimix_mode == 0 ? oscsend(OSC_to_REAPER, reaper_track_recarm_toggle, 1 ) : 
          		      ( oscsend(OSC_to_REAPER, device_track_select, 1); oscsend(OSC_to_REAPER, device_fxparam_bank_select ););
We will change either the first, or more likely the second pair of oscsend() calls (device_track_select & device_fxparam_bank_select: which are made in instrument mode), to instead call a new function toggle_button() which will do the toggle and send the OSC.

Start by declaring a toggle flag. Do this in the // Variable section to be tidy and consistent.

Code:
button1 = 0;   // Flag to track button state
Secondly write the new function needed that looks about like this

Code:
function toggle_button()
//
// Send a toggling OSC string on a button press. Sends 1 or 0 value on subsequent button presses
//
(   
    button1 == 0 ?
    (     
       button1 = 1; 
       oscsend(OSC_to_REAPER,"f/midimix/button/1", 1);
    ):
    (
       button1 = 0;
       oscsend(OSC_to_REAPER,"f/midimix/button/1", 0);  
    ); 
);
Finally call toggle_button() as introduced at the start of this explanation. So the code looks like this. Check the ); so the blocks line and pair up correctly.

Code:
          midimix_mode == 0 ? oscsend(OSC_to_REAPER, reaper_track_recarm_toggle, 1 ) : 
          		      toggle_button(); );
There. We have a single toggling button that can be "learnt" to change something in Reaper, using Reaper's learn function instead of Record Arming or opening an effect

To harness all eight buttons, this function can either be cut and pasted and modified to make eight function variants (crude but effective) or by extending to do all eight buttons instead of the first one (better but trickier coding whilst learning).

To do such extension the new toggle_button() function would need extending
- to take a parameter 1-8 passed to it depending on the button (see example of parameters in send_soft_fader() function )
- to use an array of eight flags one per button, rather than a single variable
(see the use of memset(): considerable care needed here to start a second array so it doesn't overlap FX_GUIstate)
- send an OSC string per button like "f/midimix/button/1" where the integer in the string varies from 1-8 per button

Finally tidy up the use of a literal string in the toggle_button() function by declaring the string in the same way as the other strings.

One could even extend the use of this new function to more buttons beyond the eight record arms.

Last edited by goldenarpharazon; 04-16-2018 at 02:33 PM. Reason: Made end intention of changes clearer. Added easy cut and paste suggestion. Added EEL2 syntax aware editor
goldenarpharazon is offline   Reply With Quote
Old 04-20-2018, 01:16 PM   #17
Piszpan
Human being with feelings
 
Join Date: Aug 2016
Posts: 89
Default

@goldenarpharazon

Hurray! I finally managed to do it - thanks to your detailed instructions, of course.
Thank you!
Piszpan is offline   Reply With Quote
Old 04-10-2020, 05:38 PM   #18
OhTheFuture
Human being with feelings
 
Join Date: Oct 2018
Posts: 6
Default AKAI Pro MPK25

Forgive me if this is super obvious or a total newbie etiquette-like post

Long time Reaper user but not super active on forums.

I have an "AKAI Professional MPK 25 midi controller" and have always found mapping things to it is less than appealing. It's sort of random and I may even be doing it wrong.

Can someone lead me to where I can get info on this specific controller? It's not too common last time I looked and guides never were much help to get it working with Reaper the way I'd like to.

Any helps is appreciated!
OhTheFuture is offline   Reply With Quote
Old 04-10-2020, 10:15 PM   #19
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,690
Default

The problem is not "a specific controller", but the fact that using (mapping) a control surface depends on personal taste / workflow preferences.

That is why Reaper can't decently do this internally , but there is the "CSI" Cpntrol surface integration Reaper extension (see "CSI" subforum) , that is fed with appropriate user modifiable configuration files defining device features and workflow preferences.

-Michael
mschnell is offline   Reply With Quote
Old 04-10-2020, 10:50 PM   #20
deeb
Human being with feelings
 
deeb's Avatar
 
Join Date: Feb 2017
Posts: 4,813
Default

Quote:
Originally Posted by mschnell View Post
The problem is not "a specific controller", but the fact that using (mapping) a control surface depends on personal taste / workflow preferences.

That is why Reaper can't decently do this internally , but there is the "CSI" Cpntrol surface integration Reaper extension (see "CSI" subforum) , that is fed with appropriate user modifiable configuration files defining device features and workflow preferences.

-Michael
Imo the first number one problem is not able to learn vol, mute , pan, sends just like we can with plugin parameters
__________________
🙏🏻
deeb is online now   Reply With Quote
Old 04-11-2020, 02:24 AM   #21
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,690
Default

Quote:
Originally Posted by deeb View Post
Imo the first number one problem is not able to learn vol, mute , pan, sends just like we can with plugin parameters
IMHO it's not a good idea to force each user to do the "learning" from start. I think providing a library of CSI config files (in ReaPack) for many hardware devices and appropriate workflow options would get average users up to speed in no time, while allowing to modify their files (e.g. using the CSI "learn" functionality) to adapt to their dedicated workflow.
-Michael
mschnell is offline   Reply With Quote
Old 04-11-2020, 03:38 AM   #22
deeb
Human being with feelings
 
deeb's Avatar
 
Join Date: Feb 2017
Posts: 4,813
Default

Quote:
Originally Posted by mschnell View Post
IMHO it's not a good idea to force each user to do the "learning" from start. I think providing a library of CSI config files (in ReaPack) for many hardware devices and appropriate workflow options would get average users up to speed in no time, while allowing to modify their files (e.g. using the CSI "learn" functionality) to adapt to their dedicated workflow.
-Michael
But that way is far more limiting for users then by learning like a normal parameter imo. (Altho it has advantages also). Ableton per example has both. Learning is the basic and historically first.
__________________
🙏🏻
deeb is online now   Reply With Quote
Old 06-30-2023, 12:37 PM   #23
Dubhed60
Human being with feelings
 
Join Date: Jun 2023
Posts: 25
Default

I hope I can get some help here I’ve been trying to make this work without success
Maybe I just posted in the wrong place. Thanks



Thanks to downloading ReaPack and learn I managed to make the faders play much better than with reapers relative values already.
I’m so happy with it and I’ve a lot to learn.
I migrated to reaper after 10 years of using Cubase. I’m still learning the ropes as it is.
Reaper is amazing, almost too many features.

Spent the last week trying to het my head around setting up Osc ii bot.
Made some progress but still some issues are preventing me from getting it right.
I know that the midimix is sending code one way but the opposite ways not doing it.
How did I come to this conclusion.
I opened the listen button, moved a midimix fader and saw the messages.

I will take a picture later of the screen shot so you guys can see what it says and maybe help me get it going finally.

I could just use learn but ideally I’d like the midimix to perform like it was intended to do, leds working and banks and send and all the other features that are not working with my Learn set up.

I found a txt file that says it can do just this here via osc

https://bobobo-git.github.io/AkaiMidiMixDubVersion/
Dubhed60 is offline   Reply With Quote
Old 07-01-2023, 08:33 AM   #24
Dubhed60
Human being with feelings
 
Join Date: Jun 2023
Posts: 25
Default

So I finally got it working unfortunately it’s slower than the reaLearn version I use. So I’ll chalk it up to experience and carry on as I was.
Dubhed60 is offline   Reply With Quote
Old 11-02-2023, 03:35 PM   #25
leescratchy
Human being with feelings
 
leescratchy's Avatar
 
Join Date: Jul 2020
Posts: 84
Default

Hey good to see this thread alive, with a DUB script and all, yay

Kinda gave up on it as bobobo's instructions kinda felt like rocket science and was too busy composing tunes anyhow, but now is almost time to go King Tubby

I haven't really looked into it yet but I presume that script allows sending all 3 knobs/channel to 3 different FX(tape delay/short reverb/long reverb) and global fx return to "MASTER" sliider, but I would like to assign the "REC ARM" buttons to that sweeping "King Tubby's big knob"(emulated by Alborosie's VST plugin): https://www.youtube.com/watch?v=RTaZFGwg2rY : ez-pz eh?
leescratchy is offline   Reply With Quote
Old 11-03-2023, 07:41 PM   #26
leescratchy
Human being with feelings
 
leescratchy's Avatar
 
Join Date: Jul 2020
Posts: 84
Default

yeah you see, someone else using plain switches for fx: https://www.youtube.com/watch?v=JjnyQdpOovw

could we use "REC ARM" buttons to route to FX4 somehow please?
leescratchy is offline   Reply With Quote
Old 11-21-2023, 01:12 PM   #27
bobobo
Human being with feelings
 
bobobo's Avatar
 
Join Date: Oct 2014
Posts: 1,357
Default

we can


https://bobobo.de/reaper/midimix_3_knobs_4_fx/
bobobo is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -7. The time now is 04:12 AM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.