New Tool (2.8): Guru

This is a really cool thread, and the amount of support that it’s generated is really cool :slight_smile:

I didn’t see as I read through, but has anyone created definitions for the Yamaha XG series? I’m thinking of getting started as I’ve resurrected a SW1000XG card!

I’ve been making progress building a synth definition for XG. I have the basic initialisation sysex, a couple of global sysex parameters (Chorus/Reverb) that can be toggled, and all of the Control Codes work.

The Yamaha XG gear has a number of other global and insertion effects that can be applied and selected using sysex commands, one of them being Reverb types. Here’s a list of them:

Hall1, F0 43 10 4C 02 01 00 01 00 F7
Hall2, F0 43 10 4C 02 01 00 01 01 F7
Room1, F0 43 10 4C 02 01 00 02 00 F7
Room2, F0 43 10 4C 02 01 00 02 01 F7
Room3, F0 43 10 4C 02 01 00 02 02 F7
Stage1, F0 43 10 4C 02 01 00 03 00 F7
Stage2, F0 43 10 4C 02 01 00 03 01 F7
Plate, F0 43 10 4C 02 01 00 04 00 F7
WhiteRoom, F0 43 10 4C 02 01 00 10 00 F7
Tunnel, F0 43 10 4C 02 01 00 11 00 F7
Basement, F0 43 10 4C 02 01 00 13 00 F7

What I’d like to do with Guru is have all of those reverb types be selectable in a drop-down. How do I do that? The problem for me is that I don’t understand how to change both of the last two hex values based upon a selection.

Thanks in advance for any help!

Sorry to bump. I decided to take a stab at it, just adding some selection buttons for now. It might be fun to override the effect choices through some automation if possible - possibly quite handy for the variation effects for if, say, you wanted to switch from Overdrive to Flanger in a new section:

At the time of posting I’ve not actually tried this in the UI, so beware…it might not work at all :slight_smile: Last week was spent compiling all of the Sysex from http://www.jososoft.dk/yamaha/pdf/Beggar_SysExGuide.pdf and trying to get sanity on repeated parameters and whatnot.

Hi,

I’ve put together a Guru definition for the Moog Minitaur. It includes all the ‘hidden’ parameters that are not on the front panel. I imagine it would also work with the Sirin as they share the same cc mappings.

One oddity I noticed was that when you select MIDI clock for the LFO tempo sync, the Minitaur only picks the MIDI clock up once you press play in Renoise.

Moog_Minitaur.lua (8.1 KB)

1 Like

Hi everyone!

This is a great tool! Still fiddling with it in 2024 :smiley:
I just have one issue : I would like to send MIDI CC over specific MIDI channel. I read the whole thread but I cannot find any information about this. Is this even possible?

The HW I’m trying to control is the Korg Volca Drum and I have to use it in split channel mode which means 1 MIDI channel controls 1 drum part (kick, snare…) and all the parts share the same MIDI CC numbers. So I need to address this specific channel thing when sending my CC command…

Perhaps somebody encountered the same issue?Any fellow Volca lover ? Also I’d be happy to share my preset when everything will be sorted out !

Been trying to capture incoming hardware synth automation in to a renoise automation graph, but was going straight to hex in the column.
Found guru and thought “great, I’ll make a panel for each synth and use that to record the automation!” - spent 2 nights coding up a panel for a Novation Nova, then realised Renoise does not record the automation movement made in Guru (or I’m doing something wrong!?)

I am absolutely gutted.

Is the src for Guru available online? Does anyone know if it is possible to make Guru track automation in/out of renoise - or is that a massive massive task?
I’ve been a professional dev in many languages over the years, but never written anything in lua or for renoise - but Guru seems like my best bet for the functionality I want in renoise.
Just need to make the days 48 hours longer…

If you have installed the Guru tool then you already have the source code, it’s all under Tools\com.cornbeast.Guru.xrnx.

Or you can open it in the script editor in Renoise itself.

Yeah I’ve found it in GitHub.
Currently sat here reading duplex API over a coffee

I would never have imagined this code should still work after 14 years without touching a single line of the code! Kudos to Renoise team for that.

I just wrote it without knowing lua, but it was pretty straight forward, quite flexible structures for lists, dictionaries and such.

Unfortunately I can’t be of any help anymore, but go ahead take a crack at it :slight_smile:

Since I moved on to another DAW I did make a VST / AU etc plugin using JUCE. I can highly recommend that framework to make plugins wider available to users and more standardized, likte midi mapping and automation in any DAW.

Cheers
Fredrik

3 Likes