Go Back   Cockos Incorporated Forums > REAPER Forums > REAPER General Discussion Forum

Reply
 
Thread Tools Display Modes
Old 07-20-2009, 02:03 PM   #1
paul fenton
Human being with feelings
 
Join Date: Aug 2008
Location: Nancy,France
Posts: 80
Default New JS midi sysex plugins for JX-8P and Yamaha mLAN.

For those of you who use the Roland JX-8P synth,the Yamaha Motif ES (with or without mLAN) and the Yamaha 01X (mLAN),here are few JS plugins to control these devices from within REAPER.

https://stash.reaper.fm/tag/JS-Effects

These JS midi fx use the new sysex implementation and are usable from REAPER version 3.05 and later.

The Roland JX-8P editor controls all the parameters on the JX-8P.It could be modified for use with the mks-70.At the current time all 49 parameters are not visible on most computer screens
but can be accessed using envelopes or front page knobs etc.

The first 32 patch names are what I have in my JX-8P currently and can be easily changed.

The Motif ES fx should be fairly obvious to use.They are for use in mode song or pattern.You can use 1 channel mix on each track (choose the channel) and 1 instance of the master mix (channel independent) to access other parameters.These fx are less complete than the Yamaha plugins but have the advantage of integrating well with REAPER for parameter recall.Most musically useful parameters are covered.

The 01X JS plugins also do not replace the Yamaha ones but are useful when using the 01X to mix tracks sent to the 01X,sending them back to REAPER via the 01X recording bus.Users of the 01X will most probably understand quickly the utility.

They represent also a "proof of concept" for me to learn how to program midi sysex plugins with JS.

Feel free to use and modify.Some maybe updated as I learn more about JS programming.

Paul Fenton
July 2009
__________________
viola
A6 Andromeda
Motif ES
JX-8P
01X,i88x
Phenom II with XP.
http://www.soundclick.com/paulfenton
paul fenton is offline   Reply With Quote
Old 03-02-2013, 11:17 PM   #2
UnderwaterSunlight
Human being with feelings
 
Join Date: Mar 2009
Posts: 243
Default your project and my synth

hi paul, i admire this work of yours.
one question in the beginning:
do you have a real pg-800 or are you emulating it with your js fx?

i may dissect this js fx to adapt it to my needs which are as follows:

i own a sequential-circuits sixtrak (which is good for midi cc and sysex) and i would love to use it extensively with midi in reaper. the sixtrak has only 35 parameters, but they are packed inside 16 sysex data bytes. however, the synth's parameters can also be controlled via midi cc on the fly.

i want to create a js midi effect with the following specifications:

1) when i click a "dump request" button, reaper must send a program dump request to sixtrak which will then dump the current program into this js fx.
2) this js should have a gui which would update its sliders/buttons when it detects parameter changes via mouse or even via sysex dump.
3) whenever i operate the js gui, the parameter changes should accordingly be transmitted to the sixtrak.

i realize this project is a formidable editor for my synth.

now, you may help me here:
is this functionality for all three mentioned features at all possible with a js fx?
how much effort would this involve as i am rather new to js scripting?
how could i reuse your jx8p template for that?
what else would i need to keep in mind for this project?

eventually, i may buy a bcr2000 to show parameter values on it while i work in reaper.
do you have any suggestions for that as well?

thank you for your time.
UnderwaterSunlight is offline   Reply With Quote
Old 03-03-2013, 01:52 PM   #3
paul fenton
Human being with feelings
 
Join Date: Aug 2008
Location: Nancy,France
Posts: 80
Default

Hi UnderwaterSunlight,

Thanks for showing interest in these JS FX. I'm certainly no coding expert and learnt the little I know by emulating other peoples work. Feel free to copy anything you can use in my work.

The sysex parameters I found either in the user manuals or by recording direct from each device into ReaMidiControl or midi-ox and then figuring out how to use them in a JS script. It was pretty slow work for me but ended up working.

To your questions:- As far as I know JS does not receive sysex i.e. a slider will not react to a sysex message. (This may have changed,I haven’t looked into this for some time) So sysex messages can be sent but not received which is a bit of a bummer and does limit the utility of JS sysex FX. A normal Reaper midi track can record sysex however and of course send it back to the device.

It maybe easier to use midi CC's to control your sixtrak and JS sliders can react to CC changes. I think you'll find examples of this in other JS midi FX in the collection that comes with Reaper.

Another possibility is to look at http://ctrlr.org/. I haven’t done so for some time but I seem to remember a panel for the sequential-circuits sixtrak. I don't know if it is 2 way and could represent another level of complexity?

If you want to try to modify my JX-8P FX you should be able to change the name of each slider and then put the corresponding sysex parameter(s) (without the F0 and F7) in place of each JX parameter. It may take time to figure out and will be only one-way! I remember I started out making a script for just 1 or 2 parameters and waited until that worked before tackling a full editor. I do find it useful for tweaking a few parameters on the fly or even automating them.

The bcr2000 tempts me from time to time as well although I have no experience with it.

Hope this helps a little.

Paul
__________________
viola
A6 Andromeda
Motif ES
JX-8P
01X,i88x
Phenom II with XP.
http://www.soundclick.com/paulfenton
paul fenton is offline   Reply With Quote
Old 03-04-2013, 12:42 AM   #4
UnderwaterSunlight
Human being with feelings
 
Join Date: Mar 2009
Posts: 243
Default

thanks paul. i found a js sixtrak editor/preset manager here:
http://forum.cockos.com/showthread.p...hlight=sixtrak
i even found a bug in it and corrected it !
UnderwaterSunlight is offline   Reply With Quote
Old 03-04-2013, 03:00 AM   #5
royarn
Human being with feelings
 
royarn's Avatar
 
Join Date: Oct 2008
Location: Kent
Posts: 58
Default

These would have been useful but unfortunately I've confined my 01X and I88X to the loft because of the no 64bit drivers thing, still using the Motif es though so I'll take a look.

Many thanks for your work.

Roy
royarn is offline   Reply With Quote
Old 03-04-2013, 12:56 PM   #6
paul fenton
Human being with feelings
 
Join Date: Aug 2008
Location: Nancy,France
Posts: 80
Default

Hi Roy,

Yeah the lack of mLan drivers for modern OS's is a real drag and I have to calm my anger about this regularly. It certainly makes me think twice about buying new Yamaha gear despite the quality. At least Yamaha have usb midi drivers for the motif ES up to date, my JS FX for the ES should still work over usb midi.

I'm still on XP because I really like my mLan gear but the writing is on the wall over this.

Paul
__________________
viola
A6 Andromeda
Motif ES
JX-8P
01X,i88x
Phenom II with XP.
http://www.soundclick.com/paulfenton
paul fenton is offline   Reply With Quote
Old 03-05-2013, 05:46 PM   #7
Andywanders
Human being with feelings
 
Andywanders's Avatar
 
Join Date: Jun 2006
Posts: 1,113
Default

Hi Paul

I'm interested in the Motif plugin (should work with my MOX 6), but I have no idea how to run it. The download link is to a txt file which looks like code of some sort - I guess that's what I need - but what do I do with it?

Can you (or anyone else) give me a step-by-step instruction on how to install it?

Thanks

Andy
__________________
Some of My Songs

Andy M. VST
Andywanders is offline   Reply With Quote
Old 03-06-2013, 06:56 AM   #8
paul fenton
Human being with feelings
 
Join Date: Aug 2008
Location: Nancy,France
Posts: 80
Default

Hi Andy,

I'm on XP so I'm not completely sure if it's the same for Windows 7 or 8. You need to put the text file in the folder with your JS FX. For me it is C:\Documents and Settings\Paul\Application Data\REAPER\Effects\MIDI. You need to have "show hidden files and folders" in folders options ticked to see this folder. You can then run it by choosing insert FX on a midi track and then in All plugins choose JS and then finding the motif ES plugin you want in the impressive list of JS FX.

The motif JS fx may or may not work with your MOX, sysex implementation and CC assignments are likely to be similar but different. You may need to look into the MOX data sheets to see what midi messages correspond to the same parameters. It should be fairly easy to change them in the JS text file (FX).It might take a while to figure out though!

Paul
__________________
viola
A6 Andromeda
Motif ES
JX-8P
01X,i88x
Phenom II with XP.
http://www.soundclick.com/paulfenton
paul fenton is offline   Reply With Quote
Old 03-06-2013, 07:01 AM   #9
Andywanders
Human being with feelings
 
Andywanders's Avatar
 
Join Date: Jun 2006
Posts: 1,113
Default

OK... I found the answer in this thread...

http://forum.cockos.com/showthread.php?t=68667

Feedback:

The Motif plugins work with the MOX 6/8 keyboards except the EQ sliders don't seem to do anything - no biggie.

BUT... As soon as I load one of them (either of them), the Master Meter jumps into the red (+14dB) and stays there until I remove the plugin.

I have absolutely no idea why.

If it wasn't for that, these two plugins could be quite useful for me.
__________________
Some of My Songs

Andy M. VST
Andywanders is offline   Reply With Quote
Old 03-06-2013, 08:50 AM   #10
paul fenton
Human being with feelings
 
Join Date: Aug 2008
Location: Nancy,France
Posts: 80
Default

Hi Andy,

A JS plugin that sends sysex messages while loading seems to always make the master meter lock into the red and makes an audible click. I also don't know why, I seem to remember asking about this some time ago....? It hasn't changed. And I really know next to nothing about coding, just a little bit about midi!

You can, however, just click where it is marked "inf" at the top of the master meter and it resets the meter. It won't affect the meter when moving individual sliders, might do so when loading a preset.

Glad to hear it works with the MOX. I guess Yamaha re-use a lot of their midi implementation.

Maybe this will work for you.

Paul
__________________
viola
A6 Andromeda
Motif ES
JX-8P
01X,i88x
Phenom II with XP.
http://www.soundclick.com/paulfenton
paul fenton is offline   Reply With Quote
Old 03-06-2013, 06:47 PM   #11
Andywanders
Human being with feelings
 
Andywanders's Avatar
 
Join Date: Jun 2006
Posts: 1,113
Default

Quote:
Originally Posted by paul fenton View Post
...You can, however, just click where it is marked "inf" at the top of the master meter and it resets the meter...
Thanks Paul.

That was the first thing I tried, but it didn't work - the meter stayed put.

Anyway, thanks for explaining the situation with the Sysex/JS bug, and thanks again for making and sharing these plugins.

Unfortunately, the meter bug makes these plugins unusable for me, but who knows, maybe one day it will be fixed.

Cheers
__________________
Some of My Songs

Andy M. VST
Andywanders is offline   Reply With Quote
Old 03-07-2013, 05:25 AM   #12
paul fenton
Human being with feelings
 
Join Date: Aug 2008
Location: Nancy,France
Posts: 80
Default

Hi Andy and anyone else who is interested,

I've attached a JS plugin (simple text file)that does a lot of what the motif ES plugin does but without sysex. It's pretty basic but could be used with a fair range of midi hardware instruments.


A Simple Midi Mixer. JS plugin for REAPER

Can be used to alter or automate a few standard midi hardware instrument parameters.

Tested with the Yamaha Motif ES.

Install to your JS effects folder.


Put on a (midi) track and choose in I/O your destination and channel. (It defaults to ch1)

Enjoy!

Paul
Attached Files
File Type: txt Simple Midi Mixer.txt (3.0 KB, 279 views)
__________________
viola
A6 Andromeda
Motif ES
JX-8P
01X,i88x
Phenom II with XP.
http://www.soundclick.com/paulfenton

Last edited by paul fenton; 03-07-2013 at 06:08 AM.
paul fenton is offline   Reply With Quote
Old 03-07-2013, 01:17 PM   #13
royarn
Human being with feelings
 
royarn's Avatar
 
Join Date: Oct 2008
Location: Kent
Posts: 58
Default

Downloaded these Paul, but I'm away for a few days so not tried them yet, but looking forward to see what they'll do for my Motif ES.
Yeah shame about the old mLAN stuff, I did get it working nicely on win7 32 bit
but the need for more ram overcame me. So I got a focusrite interface to move away from mLAN and a BCF2000 for control. all ok but not as good as my o1x and I88x setup. Had to move on eventually, sod Yamaha they keep their stuff now.

Best Roy
royarn is offline   Reply With Quote
Old 12-15-2016, 10:00 AM   #14
loopdokter
Human being with feelings
 
Join Date: Dec 2016
Posts: 3
Default

Hi Paul,

Do you have any plans on modifying this to an actual VST plugin? I'm not a user or Reaper (although I've heard great things), but I would love to have something like this in actual software.

I use Cubase and they use something called Panels. I tried looking at your code to see if I'd be able to interpolate it, but it was all gobbly gook to me.
loopdokter is offline   Reply With Quote
Old 12-15-2016, 12:12 PM   #15
paul fenton
Human being with feelings
 
Join Date: Aug 2008
Location: Nancy,France
Posts: 80
Default

Hi loopdoktor,

Unfortunately I really don't know how to make VST plugins, my JS work was based totally on copying other peoples work and a lot of trial and error. If I look inside these JS fx now I'm even surprised I managed to make them work, it sure looks like gobbly gook.

What is important to understand (at least rudimentarily) is the midi sysex implementation of each device you want to use. It's time consuming but not so complicated to use, although I wouldn't say that I really understand how it works.

Before using Reaper I used Cubase (last was SX3) for several years and I remember making a panel for the JX-8P. It takes patience to implement but with a sysex list it is possible. Just go slow and try 1 or 2 parameters to see if it's working.

I would however suggest you take a good look at Reaper, while somewhat disorienting after Cubase, the flexibility and CPU efficiency among many other things is quite remarkable!

No DAW is perfect and it depends a lot on what you want to realise ( and takes time to learn a new one!) but for me Reaper is much more suitable and is improving all the time.

Paul
__________________
viola
A6 Andromeda
Motif ES
JX-8P
01X,i88x
Phenom II with XP.
http://www.soundclick.com/paulfenton
paul fenton is offline   Reply With Quote
Old 12-15-2016, 12:29 PM   #16
paul fenton
Human being with feelings
 
Join Date: Aug 2008
Location: Nancy,France
Posts: 80
Default

Hi loopdoktor,

I just remembered you could try the VST version of Reaplugs http://www.reaper.fm/reaplugs/.
It's possible to use any JS effect in the JS VST fx.

I'm not sure if you can use it in Cubase ( would need to be on a midi track and Cubase would need to be able to send Sysex from a VST plugin?). Many DAWs don't accept sending sysex as easily as Reaper. Just an idea.

Paul
__________________
viola
A6 Andromeda
Motif ES
JX-8P
01X,i88x
Phenom II with XP.
http://www.soundclick.com/paulfenton
paul fenton is offline   Reply With Quote
Old 12-15-2016, 12:57 PM   #17
ijijn
Human being with feelings
 
ijijn's Avatar
 
Join Date: Apr 2012
Location: Christchurch, New Zealand
Posts: 482
Default

Dear P. Fenton,

Thanks heaps for sharing this and congratulations on your daring feat of reverse engineering!

Dear L. Dokter,

You could also try using the (oddly-named but brilliant) Geep Jeez to compile a VST from JSFX source.

If you don't have success with any of these, let me know and maybe I can create a VST for you.

PS I'm not entirely convinced that Reaper itself couldn't be classified as actual software.
ijijn is offline   Reply With Quote
Old 12-18-2016, 09:59 AM   #18
loopdokter
Human being with feelings
 
Join Date: Dec 2016
Posts: 3
Default

Quote:
Originally Posted by paul fenton View Post
Hi loopdoktor,

I just remembered you could try the VST version of Reaplugs http://www.reaper.fm/reaplugs/.
It's possible to use any JS effect in the JS VST fx.

I'm not sure if you can use it in Cubase ( would need to be on a midi track and Cubase would need to be able to send Sysex from a VST plugin?). Many DAWs don't accept sending sysex as easily as Reaper. Just an idea.

Paul
Thanks Paul. My real name is Jay for the record.

Anyway, what I was trying to do was retrieve the necessary information from your text file to build out a Cubase panel, but if you already made one and still have it from your Cubase SX days, that would be great if you'd be willing to share. Feel free to PM me if that's the case because it's not overtly Reaper-based. I don't understand SysEx whatsoever and the thought of trying to do so makes my head hurt. I've tried. My brain completely shuts down. There's a reason MIDI CC was invented - for idiots like me!

I built out a panel for my Lexicon MX200 effects unit, but that was easy enough because it just uses CC data instead of hex and the like. Numbers and I don't get along so well.

Cubase does indeed send/receive SysEx data. Ultimately what I *really* want to control is automation of the cutoff filter, resonance, ADSR and perhaps LFO rate. Since I have the PG-800 actually programming the synth itself isn't what I'm trying to accomplish. It's making my life a lot easier when it comes to recording and not having to do all sorts of multiple dodgy takes! I want to be able to print my hardware synth tracks as soon as possible into audio for easier manipulation.
loopdokter is offline   Reply With Quote
Old 12-18-2016, 10:14 AM   #19
loopdokter
Human being with feelings
 
Join Date: Dec 2016
Posts: 3
Default

Quote:
Originally Posted by ijijn View Post
Dear P. Fenton,

Thanks heaps for sharing this and congratulations on your daring feat of reverse engineering!

Dear L. Dokter,

You could also try using the (oddly-named but brilliant) Geep Jeez to compile a VST from JSFX source.

If you don't have success with any of these, let me know and maybe I can create a VST for you.

PS I'm not entirely convinced that Reaper itself couldn't be classified as actual software.
Haha. I've never been referred to Mr. L. Dokter before!

Frankly, the thought of code (as explained above), compiling, etc. makes my head hurt. I come from an IT background but stress I am *not* a coder nor wish to even try. It really frustrates me that much!

I think there's a market for a simple VST-based PG-800/JX-8P editor. No additional software required outside of a DAW that sends and receives SysEx (like Logic, Cubase, Reaper, etc.). CRTRL is free and open source, but there's next to no documentation (being open source) and setting it up requires a lot of routing, plus a MIDI loop back device like Bode's. I've got it to work in Ableton but no dice in Cubase.

Other people have used MaxMSP to code a panel for Live, but it's Mac-only. I have a Mac but it's not my main studio machine and is limited only to Live.

Lastly, I've heard of something called PG-8x that 'supposedly' allos you to edit the JX-8P as well as being an actual virtual synth version, but I've yet to test it out and it appears to only be in beta.

So my very long answer is.. If you can knock out a VST, that would be great.
loopdokter is offline   Reply With Quote
Old 07-15-2018, 12:48 PM   #20
WMD
Human being with feelings
 
Join Date: Jul 2018
Posts: 1
Default The 01X JS plugins

Paul (if you are still here) or anyone with knowledge/experience,
I am still running on 01X (it's been a faultless horse for me for over a decade) and I only tried now to run Paul's 01X JS plugins, but for some reason when I load one (JS: 01 Control Tracks, mono or stereo) I see a syntax error in the plugin itself (see the attached screenshot):
@init:51; syntax error: 'in_pin <!> :non'

Is this a bug, or did I not load it properly? Are there any pre-requisite steps I missed to perform in order for the plugin to work?
Thanks in advance!
Attached Images
File Type: png 01X-control-error.png (20.3 KB, 168 views)

Last edited by WMD; 07-15-2018 at 12:55 PM. Reason: (tried to attach a screenshot)
WMD 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 01:46 PM.


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