Go Back   Cockos Incorporated Forums > REAPER Forums > MIDI Hardware, Control Surfaces, and OSC

Reply
 
Thread Tools Display Modes
Old 03-26-2014, 07:28 PM   #1
N2NPro
Human being with feelings
 
Join Date: Aug 2013
Location: SD Cali
Posts: 112
Default Peavey StudioMix Bi-Directional Control Via OSC

Hello Reaper World,
I have successfully set up my (Win 7 64 DAW) with my old Peavey StudioMix control surface using MidiOx and LoopMidi via the Action list to do Uni-directional control over the master fader and mute, 48 channels of volume, pan and select channel. I have also set up 10 assignable rotors, the transport buttons, jog wheel and assorted buttons for mute/solo selected, undo/redo and bank ahead/previous. It all works a treat one way. As the StudioMix has motorized faders, I would really like to use the Bi-Directional capabilities as I did in Sonar. I have been following threads regarding the implementation of OSC for Bi-Dir communication for control surfaces. I have tried to get my tiny brain to understand the likes of OSC, PureData and such but, I fear, the whole set up of the a fore mentioned StudioMix was my peak intelligence. I am a studio engineer not a programmer
I am wondering if anyone has had success with using OSC for Bi-Directional communication for control surfaces like the Peavey StudioMix??
Any advice or counseling is gladly appreciated and welcome.

N2N
N2NPro is offline   Reply With Quote
Old 03-26-2014, 08:13 PM   #2
Banned
Human being with feelings
 
Banned's Avatar
 
Join Date: Mar 2008
Location: Unwired (probably in the proximity of Amsterdam)
Posts: 4,868
Default

Hi N2N,

Yes, indeed, bi-directional control can indeed be achieved using REAPER's OSC Control Surface feature, by converting back and forth between MIDI and OSC. I'm not familiar with the Peavey StudioMix, but as long as it speaks MIDI, I think we're good.

Since some of my previous posts on this forum with examples of this sort of thing (where I typically used Pure data), we have a new kid on the block: OSCII-bot, made by Cockos' very own Justin. Perhaps you're lucky, as playing with that was on my todo list for quite a while already, and I just got around to it. As your issue seems like a nice test/demonstration project, and it would certainly be a shame not to use those motorized faders, let's see how we can use OSCII-bot to achieve bi-directional control using your device? I'll try to make a little script, and walk you through the setup step by step.

First, though, we would need to know exactly what type/format of MIDI messages come out the device when you move faders, turn knobs, or push buttons. Can you post some more details? Please be as specific as you can.
__________________
˙lɐd 'ʎɐʍ ƃuoɹʍ ǝɥʇ ǝɔıʌǝp ʇɐɥʇ ƃuıploɥ ǝɹ,noʎ
Banned is offline   Reply With Quote
Old 03-26-2014, 08:24 PM   #3
N2NPro
Human being with feelings
 
Join Date: Aug 2013
Location: SD Cali
Posts: 112
Default

Hi Banned,

Here are the details of the Peavey StudioMix:

Control NRPN Number(s)
Knobs (1 - 8), Row 1: 500-507
Knobs (1 - 8), Row 2: 1500-1507
Master Knob 1: 4500
Master Knob 2: 4501

Buttons (1 - 8): 2500-2507
Master Button: 4502
Vertical Buttons (top down): 5000-5004

Faders (1 - 8): 3500-3507
Master Fader: 4503

Transport Buttons:
Rew 6000
Ff 6001
Play 6003
Stop 6002
Rec 6004
Int/MMC 6005

Jog 7000
Shuttle 7001

Here is what StudioMix sends, *only on Channel 16.

Knobs send a value of 1 when turned clockwise and 16383 when turned counter-clockwise.

Buttons send a value of 1 when depressed and 16383 when released.

Faders theoretically send values between 0 and 16383.

The transport buttons send a value of 1 when depressed and 16383 when released.

Jog NRPN 7000
Shuttle NRPN 7001

The jog wheel acts like a knob; it sends a value of 1 for each "click" clockwise and 16383 for each "click" counter-clockwise.

The shuttle wheel sends out a value of 1 when it is turned a little bit clockwise; as it is turned more in that direction, it sends out values of 2 through 7. Similarly, as it is turned counter-clockwise, it sends values that progress from 16383 to 16377 at the counter-clockwise extreme.

I hope these are the necessary details.

Thanks again for your assistance.
Kindly,

N2N
N2NPro is offline   Reply With Quote
Old 03-26-2014, 08:33 PM   #4
N2NPro
Human being with feelings
 
Join Date: Aug 2013
Location: SD Cali
Posts: 112
Default

Hi Banned,

Here's a Pic of the StudioMix with NRPN numbers and my assignments.
http://www.n2nproductions.com/studio...ol%20Guide.JPG

Cheers!
N2NPro is offline   Reply With Quote
Old 03-26-2014, 09:11 PM   #5
Banned
Human being with feelings
 
Banned's Avatar
 
Join Date: Mar 2008
Location: Unwired (probably in the proximity of Amsterdam)
Posts: 4,868
Default

Oh, wow, NRPNs... you *are* lucky, as Jeffos already created an awesome little script which I had just adapted for use with OSCII-bot - which will no doubt come in very handy and save me from most of the hard work, as NRPN's are relatively complicated to handle. So, thanks again, Jeffos!

There seem to be some other fun challenges, too: the StudioMix device seems to have endless rotaries using a 'relative' control mechanism. That implies that we can't simply convert their data; first we have to retrieve their current values from REAPER, (store it) and then increment or decrement them as needed whenever their corresponding knobs are turned. On the bright side, this does allow us to define the value increment/decrement step size however we wish. Also, the shuttle wheel apparently supports 'acceleration'. Nice! That'll probably also require some special handling... but, in any case, I think it should be quite feasible to get bi-directional control going for your device using the OSC<-->MIDI conversion route. So I'll start hacking on a little script for your device.

Next, now that we seem to have the tech specs covered well enough to get started, at least, we need to think/talk a bit more about the design/lay-out. What do you (plan to) use the Jog Wheel / Shuttle Wheel for? And which knobs / buttons perform which functions? I would assume, one row of knobs is used for panning/balance? What does (or: should) "Int/MMC" do? If you change banks, do the NRPNs change?

[EDIT:] Ah, that picture is helpful, answers some questions already.
__________________
˙lɐd 'ʎɐʍ ƃuoɹʍ ǝɥʇ ǝɔıʌǝp ʇɐɥʇ ƃuıploɥ ǝɹ,noʎ
Banned is offline   Reply With Quote
Old 03-26-2014, 09:43 PM   #6
N2NPro
Human being with feelings
 
Join Date: Aug 2013
Location: SD Cali
Posts: 112
Default

Quote:
Originally Posted by Banned
Next, now that we seem to have the tech specs covered well enough to get started, at least, we need to think/talk a bit more about the design/lay-out. What do you (plan to) use the Jog Wheel / Shuttle Wheel for? And which knobs / buttons perform which functions? I would assume, one row of knobs is used for panning/balance? What does (or: should) "Int/MMC" do? If you change banks, do the NRPNs change?
NRPN's do not change as far as I know with bank change.
*using MidiOx I programed different maps for banking and used separate channels to do so. IE. Bank 1-8 =ch 16, Bank 9-16 =ch 15. MidiOx converted the NRPN to CC and the channels too.

Jog 7000 = fine scroll
Shuttle 7001 = fast scroll
Buttons 2500-07 = Channel Select
Button 4502 = Bank FWD
Button 5000 = Bank PREV
Button 5001 = Mute Selected
Button 5002 = Solo Selected
Button 5003 = Redo
Button 5004 = Undo
Button 6000 = Go to Beginning
Button 6001 = Go to End
Button 6002 = Play/Pause
Button 6003 = Stop
Button 6004 = REC
Button 6005 = Master Mute
Rotors 1500-07 Pan
Rotors 500-507, 4500, 4501 = Assignable

Let me know if you need more info.

Thank you again for your efforts!

N2N
N2NPro is offline   Reply With Quote
Old 03-26-2014, 10:16 PM   #7
Banned
Human being with feelings
 
Banned's Avatar
 
Join Date: Mar 2008
Location: Unwired (probably in the proximity of Amsterdam)
Posts: 4,868
Default

Quote:
Originally Posted by N2NPro View Post
NRPN's do not change as far as I know with bank change.
*using MidiOx I programed different maps for banking and used separate channels to do so. IE. Bank 1-8 =ch 16, Bank 9-16 =ch 15. MidiOx converted the NRPN to CC and the channels too.
Ah, I see.
Quote:
Originally Posted by N2NPro View Post
Rotors 500-507, 4500, 4501 = Assignable
Hmm, not sure what to do with these... How do you currently assign them to something in REAPER? Do you make MidiOx convert the relative NRPN data to relative 'regular' CC# data, perhaps? Do you want to preserve their ability to be assigned to various things on the fly? (I would think, we can have OSCII-bot perform such a conversion, too, as it can also handle MIDI to MIDI.)
__________________
˙lɐd 'ʎɐʍ ƃuoɹʍ ǝɥʇ ǝɔıʌǝp ʇɐɥʇ ƃuıploɥ ǝɹ,noʎ
Banned 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 02:48 AM.


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