Resynth Beta

edit: ReSynth now released - get it here

All,

As promised, here is a beta version of ReSynth for testing.

Please let me know any crashes / errors you receive with this tool and I’ll fix them before releasing to the tools page.

As you can see I’ve stripped out the redundant controls (envelopes and filter settings). These will gradually be re-introduced into the tool as API access allows.

When modifying controls the instrument will automatically update.

As per the artyFM native FM synth, each controls tooltip will display its current value and the ReSynth windows status bar will update to inform of any changes.

All controls are midi mappable, which allows quick and easy sound creation from (for example) an external midi controller keyboard. When using midi mapped controls, the GUI window does not need to be displayed.

As mentioned above, volume, pitch, pan and filter envelopes and settings still have to modified through the usual Renoise instrument pane.

To create a new ReSynth instrument use the menu from the instrument list or Tools -> ReSynth -> New ReSynth Instrument.

To open the GUI select a ReSynth instrument and select Open GUI from either the Tools -> ReSynth or instrument list menu.

Enjoy!

edit: In case people were wondering what the purpose of this tool is: it is to utilise the native sampler functionality of Renoise to emulate a ‘standard’ subtractive dual oscillator synthesiser.

It makes this easier / presents a more ‘synth-like’ interface.

I’ve also uploaded some quick test patches here.

Thanks, will try it out soon.

Very nice! We have been messing with this all morning. It seems to always put the resynth into instrument slot 7 though?

Glad you like it! Made it crash yet?

‘New ReSynth Instrument’ always adds a new instrument to the instrument list.

I believe I set it to append to the instrument list (i.e. it will be the last instrument) so it doesn’t renumber all your other instruments which people may not be expecting.

Works like a charm!

No crashes here, and very easy to pick up and use :slight_smile:

You could also add the following : it simply forwards any key pressed while the Resynth dialog is focused
This would make it possible to rehearse the sound with the PC keyboard while adjusting parameters

  
function keyhandler(dialog, key)  
 return key  
end  
  
function create_dialog()  
 update_controls()  
 dialog_instance = renoise.app():show_custom_dialog("ReSynth", vb_dialog, keyhandler)  
end  
  

+1 to this!!

No crashing here so far…
It would be nice to see separate parameter displays for each knob. And maybe a way to double click and reset a paramater to “default”.
but We really like the small size of the GUI window also…nothing worse than a synth GUI that takes up an entire screen.

Well, I’ve had a look at it and it was caught with an off-by-one bug. It would insert the instrument in the instrument slot the one before the end. This has been fixed.

Added, thanks!

I’m also added some better feedback - it will report changes to the main Renoise status bar if the ReSynth dialog is not visible.

There doesn’t appear to be many bugs, so hopefully I’ll have a 1.0 release sometime this week.

Thanks for testing everyone.

Are you going to increase the amount of possible oscillators in this tool?

Would be great for detuned unison kind of synth sounds, slightly offset the tuning of 8 saw-waves divided over the complete keyzone, playing at the same time for instant Tiesto :wink:

No, there are no currently plans to increase the number of oscillators for this version.

You can create ‘fat’ sounds with just two oscillators if you know what you are doing. :)

Personally I find all supersaw sounds a bit similar so it isn’t a high priority.

However, if you want a supersaw sound you can start with the instrument created by this tool and then manually duplicate the samples and sample mappings and detune. Alternatively start from the ‘Bass-mxb-Hoover’ instrument which is a supersaw hoover sound that comes bundled with Renoise and work it from there.

Very nice tool. No bugs or problems here. More oscillators (like noise) wouldn’t do harm tho. ;)

This is a step to right direction. Of course in the end i would like to have full (or at least plenty) featured synth.
Sure we have plenty of vst instruments but they are not cross platform compilant. That’s why there is need for a native synth.

Coll stuff (well, as usual ;) ). A small hint: When not recreating the sample buffer every time, but only when the sample length changes, this will speed up things a lot and should also avoid that existing played notes are stopped. Might be handy to tweak the osc settings while playing.


The midi mapping properties do need a unique path:identifier per control:

Something like this, for each control:

midi_mapping = "com.mxb.Resynth:Osc1:Wave"  
  

You then also need to add the handlers for the identifiers somewhere:

renoise.tool():add_midi_mapping{  
 name = "com.mxb.Resynth:Osc1:Wave",  
 invoke = function(message)  
 -- do something  
 end  
}  
  

com.renoise.ExampleToolGui has a few dummy examples for this.

heh, I was more or less taking the piss with the Tiesto comment, I’m not looking for super-saws in particular, there are plenty of vsti I could use for that kind of sound. Nevertheless I wouldn’t mind extra oscillators in your tool.

Maybe I’ll do a unison/detuning tool request, something which takes a sample out of an instrument and automatically duplicates it with offsets in a panning and finetune range for easy broadening, something out of the scope of this tool.

Long term plans are to incorporate more synth features as access becomes available through the Renoise API. The plans also include adding another simple oscillator (probably just ‘noise’ as feeding a noisy waveform to the filter will result in a sound with more ‘bite’). I may have time to add this before 1.0 release as it may make futureproofing a bit easier. I have some good ideas for this tool and hope it will grow into a much better ‘synth’ :)

Thanks! ;)

Rerendering of waveforms only occur when changing either the waveform type or the phase bias as this will result in a different waveform although I’ve just noticed an optimisation that can occur here and will be rolled into the next version. The sample length never changes. Modifying other controls does not result in a rerendering as it just modifies instrument parameters. If there is something that I have overlooked feel free to let me know.

I had a look at this. I understand that ViewBuilder controls can have a “midi_mapping” parameter set, but I wasn’t too sure how it works as I’m not sat infront of Renoise to test it.

For example, my midi mapped functions scale a midi CC value down from 0-127 to appropriate values (e.g. -50 to + 50). If the control is defined as having a maximum of +50 and minimum of -50, what is the resultant value sent to the midi mapped function? Does this scale it back to 0-127 and then I rescale it back again? Otherwise I would need another MidiMapped function? Maybe the documenation could clarify this a bit better.

See above, it’s among many other planned features…

I remember this… So MXB is going to give us an unison generator? sweet! ;)

This is terribly cool

MXB for president!

thanks, this is a real lifesaver. I hope MXB will add this to his tool soonish (in fact, I wish all tools with GUI would have the keyhandlers properly set so that it’s safe to keyjam)

mxb one request - when doing “Create New Instrument” (from Tools, not from InstrumentBox)- could we get the selection to become the new instrument, so that it’s selected?
also, i’ve been able to reach states where the transpose knob is no longer accurate, for instance that osc1’s 0 and -1 are the same, or that -12 is no longer “one note lower”. It seems to correct itself tho when in the positives of the knob. (but will still be wrong when in negatives)

ok it’s this: -1 in transpose is same as 0 in both oscillators.

Keyhander has been incorporated into latest development version which will result in version 1.0.

When creating a new instrument, that instrument will now be automatically selected.

Fixed the small issue with the controls (it applied to transpose, tune, volume and pan) - all fixed.

Still aiming to get a release by the end of the week.

d’you think it’d be at all possible to transfer the user-view to sample editor so one could see one of the two waves being altered by the sliders?
What I’m getting at is selecting sample#2 when altering osc1 and sample#3 when altering osc2. I think it’d be really freakin cool!

Well, it would be possible, but I don’t know how many users would want that to be done automatically.

Personally I like using ReSynth without looking at the instrument or sample views as it gets you away from looking at the numbers and you concentrate on listening to the sound. In a very graphical music application such as ReNoise its sometimes nice to not be bothered by all the numbers (hence rotary dials with optional tooltips rather than number boxes in the GUI).

What I suggest is if additional users want this to be added that they ‘+1’ your post so I get an idea how many people would like this feature incorporated.