Old 06-22-2020, 11:54 AM   #1
SebDj
Human being with feelings
 
Join Date: May 2018
Posts: 18
Default How to use Tablet to do Sound Effects with Reaper?

Hi !

I would love to have something similar to this but with my Android Tablet and Reaper parameter.
https://youtu.be/kFePjbpdSHQ?t=37

how would you do it?
SebDj is offline   Reply With Quote
Old 06-22-2020, 03:02 PM   #2
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 9,250
Default

You can use Midi or OSC messages to modify parameters of plugins hosted by Reaper.

So you "only" need an app for your Tablet that creates Midi (via USB) or OSC (via WiFi) according to your pen position.
I seem to remember having seen such a thing on the internet e.g. -> https://xmmc.de/touchdaw/man_xy.htm

-Michael
mschnell is offline   Reply With Quote
Old 06-23-2020, 04:03 PM   #3
SebDj
Human being with feelings
 
Join Date: May 2018
Posts: 18
Default

Quote:
Originally Posted by mschnell View Post
You can use Midi or OSC messages to modify parameters of plugins hosted by Reaper.

So you "only" need an app for your Tablet that creates Midi (via USB) or OSC (via WiFi) according to your pen position.
I seem to remember having seen such a thing on the internet e.g. -> https://xmmc.de/touchdaw/man_xy.htm

-Michael
Thank you for your suggestion, Ive used TouchDaw in Ableton. But I'm really struggling to make it work in Reaper. I can control the volume and that's about it. Maybe TouchOSC would be better?

Beside touchscreen, is there a XY script or plugin for reaper to be able to play around only with a mouse?
SebDj is offline   Reply With Quote
Old 06-23-2020, 09:44 PM   #4
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 9,250
Default

If you do have an application on the tablet that works for you, you might want to visit the "Control Surface Forum" and ahave a look at the "CSI" Reaper extension to find out how to create an appropriate workflow with same in reaper.
-Michael
mschnell is offline   Reply With Quote
Old 06-24-2020, 05:59 AM   #5
domzy
Human being with feelings
 
Join Date: Feb 2017
Posts: 2,522
Default

Quote:
Originally Posted by SebDj View Post
Beside touchscreen, is there a XY script or plugin for reaper to be able to play around only with a mouse?
you can use an instance of ReaEQ (at 0% wet) and link the frequency and gain (via parameter modulation / MIDI link) to the knobs you want to modulate. Then you can use the ReaEQ display as an XY pad.
domzy is offline   Reply With Quote
Old 06-25-2020, 12:10 AM   #6
SebDj
Human being with feelings
 
Join Date: May 2018
Posts: 18
Default

Quote:
Originally Posted by domzy View Post
you can use an instance of ReaEQ (at 0% wet) and link the frequency and gain (via parameter modulation / MIDI link) to the knobs you want to modulate. Then you can use the ReaEQ display as an XY pad.
Woah you just blew my mind, I didn't know you could do that. I'm looking into it right away! Thx

Edit : I just did a XY with the ReaEq, I'm blown away. Reaper just keep amazing me. Thank you so much again!

Edit 2 : I've been playing around with ReaEq and plugins to try things out and I'm not sure why but the value get to its MAX in the middle of the X but it seem fine going down tho.
Anyway i did some research and tried with ReaSurround and I got some perfect result (parameters reach their minimum and maximum when they are completely at the left, right , up or down position). The window is not as big tho than ReaEq tho.

Last edited by SebDj; 06-25-2020 at 12:43 AM.
SebDj is offline   Reply With Quote
Old 06-25-2020, 02:42 AM   #7
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 9,250
Default

It would be rather easy to do an X/Y pad outputting two Midi CC#s as a JSFX .

In ReaPack, there is an "XYPAD.lua" script, but due to lack of any description I don't have an idea if this might be helpful.

I tested it (with no output, as I don't know how I would extract any data from the script). In any case it't terrible sluggish regarding what a JSFX would do.

-Michael

Last edited by mschnell; 06-25-2020 at 03:02 AM.
mschnell is offline   Reply With Quote
Old 06-25-2020, 08:08 AM   #8
solger
Human being with feelings
 
solger's Avatar
 
Join Date: Mar 2013
Posts: 4,637
Default

These might perhaps also be interesting:
__________________
ReaLauncher
solger is offline   Reply With Quote
Old 06-26-2020, 02:03 AM   #9
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 9,250
Default

Quote:
Originally Posted by solger View Post
Perhaps one could create some XYPad code that outputs x and y as hires Midi CC.

-Michael

Last edited by mschnell; 06-27-2020 at 04:11 AM.
mschnell is offline   Reply With Quote
Old 06-27-2020, 03:46 AM   #10
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 9,250
Default

Here you are:

XY PAD JSFX
Code:
desc:XY Pad
slider1:0<0,16,1{1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16}>Channel
slider2:1<0,31,1{0 Bank Sel,1 Mod Wheel,2 Breath,3,4 Foot P,5 Porta,6 Data Entry,7 Vol,8 Balance,9,10 Pan,11 Expression,12 Ctrl 1,13 Ctrl 2,14,15,16 GP Slider 1,17 GP Slider 2,18 GP Slider 3,19 GP Slider 4,20,21,22,23,24,25,26,27,28,29,30,31,}>X CC # (Hi Res)
slider3:1<0,31,1{0 Bank Sel,1 Mod Wheel,2 Breath,3,4 Foot P,5 Porta,6 Data Entry,7 Vol,8 Balance,9,10 Pan,11 Expression,12 Ctrl 1,13 Ctrl 2,14,15,16 GP Slider 1,17 GP Slider 2,18 GP Slider 3,19 GP Slider 4,20,21,22,23,24,25,26,27,28,29,30,31,}>Y CC # (Hi Res)

in_pin:none
out_pin:none

@init

xh  = 0;
xl  = 0;
yh  = 0;
yl  = 0;
xh_ = -1;
xl_ = -1;
yh_ = -1;
yl_ = -1;
x_  = -1;
y_  = -1;

@slider
mes1   = 0x0B0 + slider1;
mes2xl = slider2 + 0x20;
mes2xh = slider2;
mes2yl = slider3 + 0x20;
mes2yh = slider3;

@block
  xh != xh_ ? (
    xh_ = xh;
    midisend(0, mes1, mes2xh, xh_);  
  );
  xl != xl_ ? (
    xl_ = xl;
    midisend(0, mes1, mes2xl, xl_);  
  );
  yh != yh_ ? (
    yh_ = yh;
    midisend(0, mes1, mes2yh, yh_);  
  );
  yl != yl_ ? (
    yl_ = yl;
    midisend(0, mes1, mes2yl, yl_);  
  );


@gfx 640 400

  mouse_cap & 1 ? (
    _x = mouse_x;
    _y = mouse_y;
    x = _x / gfx_w;
    y = _y / gfx_h;
  
    x *= 16384;
    y *= 16384;
    y = 16383-y;
    x |= 0;
    y |= 0;
  
    x < 0 ? (
       x = 0;
      _x = 0;
     ) : x > 16383 ? (
       x = 16383; 
      _x = gfx_w-1;
    );  
    y < 0 ? (
       y = 0;
      _y =  gfx_h -1; 
     ) : y > 16383 ? (
       y = 16383; 
      _y = 0;
    );  

    xh = x / 128;
    xh |= 0;
    xl = x -xh * 128;
    yh = y / 128;
    yh |= 0;
    yl = y -yh * 128;
  
  
    (x != x_) || (y!=y_) ? (
      x_ = x;
      y_ = y;
      gfx_r = gfx_g = gfx_b = 0.15;
      gfx_rect(0, 0, gfx_w, gfx_h);
      gfx_r = gfx_g = gfx_b = 1;
      gfx_circle(_x, _y, 7);
      gfx_circle(_x, _y, 6);
    );  
  );
Please test. If no problems I will prepare it for ReaPack.
-Michael

Last edited by mschnell; 06-27-2020 at 03:58 AM.
mschnell is offline   Reply With Quote
Old 06-29-2020, 11:06 PM   #11
SebDj
Human being with feelings
 
Join Date: May 2018
Posts: 18
Default

Quote:
Originally Posted by mschnell View Post
Here you are:

XY PAD JSFX
Code:
desc:XY Pad
slider1:0<0,16,1{1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16}>Channel
slider2:1<0,31,1{0 Bank Sel,1 Mod Wheel,2 Breath,3,4 Foot P,5 Porta,6 Data Entry,7 Vol,8 Balance,9,10 Pan,11 Expression,12 Ctrl 1,13 Ctrl 2,14,15,16 GP Slider 1,17 GP Slider 2,18 GP Slider 3,19 GP Slider 4,20,21,22,23,24,25,26,27,28,29,30,31,}>X CC # (Hi Res)
slider3:1<0,31,1{0 Bank Sel,1 Mod Wheel,2 Breath,3,4 Foot P,5 Porta,6 Data Entry,7 Vol,8 Balance,9,10 Pan,11 Expression,12 Ctrl 1,13 Ctrl 2,14,15,16 GP Slider 1,17 GP Slider 2,18 GP Slider 3,19 GP Slider 4,20,21,22,23,24,25,26,27,28,29,30,31,}>Y CC # (Hi Res)

in_pin:none
out_pin:none

@init

xh  = 0;
xl  = 0;
yh  = 0;
yl  = 0;
xh_ = -1;
xl_ = -1;
yh_ = -1;
yl_ = -1;
x_  = -1;
y_  = -1;

@slider
mes1   = 0x0B0 + slider1;
mes2xl = slider2 + 0x20;
mes2xh = slider2;
mes2yl = slider3 + 0x20;
mes2yh = slider3;

@block
  xh != xh_ ? (
    xh_ = xh;
    midisend(0, mes1, mes2xh, xh_);  
  );
  xl != xl_ ? (
    xl_ = xl;
    midisend(0, mes1, mes2xl, xl_);  
  );
  yh != yh_ ? (
    yh_ = yh;
    midisend(0, mes1, mes2yh, yh_);  
  );
  yl != yl_ ? (
    yl_ = yl;
    midisend(0, mes1, mes2yl, yl_);  
  );


@gfx 640 400

  mouse_cap & 1 ? (
    _x = mouse_x;
    _y = mouse_y;
    x = _x / gfx_w;
    y = _y / gfx_h;
  
    x *= 16384;
    y *= 16384;
    y = 16383-y;
    x |= 0;
    y |= 0;
  
    x < 0 ? (
       x = 0;
      _x = 0;
     ) : x > 16383 ? (
       x = 16383; 
      _x = gfx_w-1;
    );  
    y < 0 ? (
       y = 0;
      _y =  gfx_h -1; 
     ) : y > 16383 ? (
       y = 16383; 
      _y = 0;
    );  

    xh = x / 128;
    xh |= 0;
    xl = x -xh * 128;
    yh = y / 128;
    yh |= 0;
    yl = y -yh * 128;
  
  
    (x != x_) || (y!=y_) ? (
      x_ = x;
      y_ = y;
      gfx_r = gfx_g = gfx_b = 0.15;
      gfx_rect(0, 0, gfx_w, gfx_h);
      gfx_r = gfx_g = gfx_b = 1;
      gfx_circle(_x, _y, 7);
      gfx_circle(_x, _y, 6);
    );  
  );
Please test. If no problems I will prepare it for ReaPack.
-Michael
Sorry for the delay, I haven't look at that thread for a while.

Your idea is very good but I can't get it to work. the X CC # (Hi Res) or Y CC # (Hi Res) don't work for me.

The wet dry button of the plugin work tho.

Maybe I'm doing something wrong ? Is it working for you?


Edit : I think I know what the problem is. WHen I click on "link from Midi or FX parameter"
I only see the things you put into a drop down menu.
What are those drop down menu for btw ? the channel, X CC# (Hi Res), Y CC # (Hi Res) ?
And I dont see any parameter to select the Y or the X to be move around (I only see option to select the drop down menu).

Last edited by SebDj; 06-29-2020 at 11:12 PM.
SebDj is offline   Reply With Quote
Old 06-30-2020, 06:04 AM   #12
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 9,250
Default

You need to place the XYPAD above the target plugin (or route Midi to the target track).

[x]Link from midi ...
click the [none] button and then Midi -> CC 14 bit
then select e.g. GP slider 1 for X and G slider 2 for y.
The button then should read (e.g.): MIDI: 16/48 GP slider 1 14 bit

Of course set these CCs in XYPad.
-Michael

Last edited by mschnell; 06-30-2020 at 06:11 AM.
mschnell is offline   Reply With Quote
Old 06-30-2020, 11:15 AM   #13
SebDj
Human being with feelings
 
Join Date: May 2018
Posts: 18
Default

Quote:
Originally Posted by mschnell View Post
You need to place the XYPAD above the target plugin (or route Midi to the target track).

[x]Link from midi ...
click the [none] button and then Midi -> CC 14 bit
then select e.g. GP slider 1 for X and G slider 2 for y.
The button then should read (e.g.): MIDI: 16/48 GP slider 1 14 bit

Of course set these CCs in XYPad.
-Michael
I'm sorry but I can't figure out your instruction.
Maybe you could make a short video so I could follow visually step by step?
thank you!
SebDj is offline   Reply With Quote
Old 06-30-2020, 11:48 AM   #14
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 9,250
Default

If you already used that menu, maybe the button does not show [none] anymore, but some information source.
-Michael

Last edited by mschnell; 07-08-2020 at 03:23 AM.
mschnell is offline   Reply With Quote
Old 07-08-2020, 02:57 AM   #15
SebDj
Human being with feelings
 
Join Date: May 2018
Posts: 18
Default

Nice I finally tried it correctly, and it work beautifully. Thank you mschnell!

I have a quick question/suggestion. In the "Parameter Modulation" window, Would it be possible to replace this midi setup to something similar to ReaSurround XY?

Like this :
"[x]Link from midi ...
click the [none] button and then ReaSurround -> X or Y pad"


instead of :
"[x]Link from midi ...
click the [none] button and then Midi -> CC 14 bit
then select e.g. GP slider 1 for X and G slider 2 for y.

It would be more intuitive I guess for first time user that do not have guidance or manual to help them. Anyway it's a nice new plugin in ReaPack Love it! Thank you again!
SebDj is offline   Reply With Quote
Old 07-08-2020, 03:25 AM   #16
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 9,250
Default

XYPad now is available via ReaPack.

-Michael
mschnell is offline   Reply With Quote
Old 07-08-2020, 03:36 AM   #17
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 9,250
Default

Quote:
Originally Posted by SebDj View Post
I have a quick question/suggestion. In the "Parameter Modulation" window, Would it be possible to replace this midi setup to something similar to ReaSurround XY?
Easy ... Simply adding a slider for X and Y.
-Michael

Last edited by mschnell; 07-08-2020 at 03:41 AM.
mschnell is offline   Reply With Quote
Old 07-09-2020, 12:11 AM   #18
joeyx
Human being with feelings
 
joeyx's Avatar
 
Join Date: Dec 2017
Location: Los Angeles and San Francisco
Posts: 15
Default

TouchOSC has an xy-pad and a multi xy-pad. You can bind CC's to parameters as needed in Reaper. Then in TouchOSC, you send MIDI, Control Change and set the same CC# 's you just assigned to X and Y. You will need to have TouchOSC Bridge (available for free from Hexler website) downloaded and running as well in order to send MIDI from tablet to Reaper.

The multi xy-pad is cool because it would allow you to place multiple fingers on the xy-pad on tablet screen and each finger could control two parameters. i.e. two fingers drawing around, you'd be controlling 4 parameters.

Cheers

Quote:
Originally Posted by SebDj View Post
Thank you for your suggestion, Ive used TouchDaw in Ableton. But I'm really struggling to make it work in Reaper. I can control the volume and that's about it. Maybe TouchOSC would be better?

Beside touchscreen, is there a XY script or plugin for reaper to be able to play around only with a mouse?
joeyx is offline   Reply With Quote
Old 07-09-2020, 03:51 AM   #19
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 9,250
Default

Quote:
Originally Posted by mschnell View Post
Easy ... Simply adding a slider for X and Y.
See ReaPack...
-Michael
mschnell 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 10:57 AM.


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