Straightliner - public beta release

Official support for: rs-met.com
RELATED
PRODUCTS

Post

Robin from www.rs-met.com wrote:
Paulie Phonick wrote:An amazing synth indeed. I love an instrument that makes me play and this is one of them. Great sound, I don't think I've heard such earthshaking bass from a plug-in since Poly-Ana.

thanks Paulie, and nice to meet you again.
Same here! I'm glad to see you keeping on working on your unique plugins! :)

Robin from www.rs-met.com wrote:
* All parameters available for host automation - and/or - a built-in MIDI learn function to map CC's to parameters (this would be the better option)
O.K. i will make as much parameters available for automation as possible (some just can't be automated like the 'Spectrum' and pretty much all the envlope stuff). MIDI-learn - mmhh, i always wonder where the mappings are supposed to be stored then. in a global preferences file? or in the preset? i'm actually not really a fan of this feature: it either breaks your song-projects when tranferred to another machine (when mappings are stored globally) or it makes for a completely inconistent MIDI implementation in the sense that each patch may potentially react different on control-changes (when mappings are part of the preset)
The first thing I did with Straightliner (after I realized it can be done) was to use energyXT's MIDI learn to map Cutoff to Modwheel for playing a bass sound. Then on a different channel (arpeggio) I mapped Cutoff and Reso to two knobs next to each other on my MIDI keyboard to record some tweaks. Bottom line - I wouldn't call it inconsistent, but rather flexible and useful.

An internal MIDI learn function would be great for people who use hosts that don't support easy MIDI mapping of VST parameters. I think it should be done as a per-preset setting, as different setting make sense for different patches. Ideally there would also be an option of adapting a mapping globally (that is to use it as long as a preset does not provide it's own mapping).

To avoid it from becoming confusing it would be a good idea to introduce a mapping screen, which would show what parameters are mapped to which controllers. Ideally, this would also allow to provide a multiplier for each CC so that it's possible to have eg. modwheel operate in +/- 20% off the parameter setting in a preset.

With that you could even make it possible to control envelopes via MIDI-CC by assigning separate controllers to X and Y for each point that needs to be controlled - which is something that cannot be easily done in a static way with free form envelopes. This would probably allow for having an ADSR-like behaviour for a patch if desired...

I'll better shut up now ;)
Robin from www.rs-met.com wrote:
* Smoothing for parameters - controlling eg. Cutoff via MIDI CC at the moment results in nasty steps, which are in full contrast to the smooth sound of the synth
for cutoff and maybe resonance, yes. but more? well, that would cost CPU: every smoother is a filter which has to be calculated (per voice, per sample)
I of course realize that smoothing costs CPU cycles, but then again as far as I know you can get away with doing it cheaply (=simple filter, not per sample). I'd say that smoothing would be desired for all parameters that would be controllable via MIDI (internally or using host parameter automation), including the pitch bend. In the end you don't want to have a synth that has a beautiful sound only when it's playing static, untweaked notes :)

Robin from www.rs-met.com wrote:
blatanville wrote:Straightliner doesnt seem to listen to my sustain pedal...
indeed does it not listen to sustain. sustain in a synth...do you regard that as an important feature? i mean, for a piano it makes sense - here it simply extends the release phase, because plucked/struck string based acoustic instruments generally do not exhibit infinite sustain (even when the sustain pedal is active). synths do. hmmm...as for the metaphor to acoustic instruments - it would be quite similar to having sustain in an organ. do organs generally have such a feature? the only halfway sensible way that comes to my mind could be to extend the release-phase when sustain is active. should i do this?
That is also something I'd support, though I will not agree that it is important only for patch design! I often use the sustain pedal when playing big chords on pads or arpegios to keep the sound playing while I align my hands for the next chord - and also when playing mono leads with glide to have constant legato. It is useful to have sustain pedal support and the desired behaviour is most likely as simple as 'hold the note-off until the pedal is de-pressed'.
the the impotence of proofreading

Post

I finally got round to trying Straightliner ... it's a very nice synth with a really big sound. Thank you rs-met, I like this a lot :D

Post

Paulie Phonick wrote:I'm glad to see you keeping on working on your unique plugins! :)
thanks - not only that, now i'm also attemting to turn that into a full time job.
The first thing I did with Straightliner (after I realized it can be done) was to use energyXT's MIDI learn to map Cutoff to Modwheel for playing a bass sound. Then on a different channel (arpeggio) I mapped Cutoff and Reso to two knobs next to each other on my MIDI keyboard to record some tweaks. Bottom line - I wouldn't call it inconsistent, but rather flexible and useful.
O.K in that case your host keeps track of the mappings - no issues with porting projects to another computer because the mapping is part of the project. i must think about it some more.
An internal MIDI learn function would be great for people who use hosts that don't support easy MIDI mapping of VST parameters. I think it should be done as a per-preset setting, as different setting make sense for different patches. Ideally there would also be an option of adapting a mapping globally (that is to use it as long as a preset does not provide it's own mapping).
yes, something like that is breeding in my mind as well.
To avoid it from becoming confusing it would be a good idea to introduce a mapping screen, which would show what parameters are mapped to which controllers. Ideally, this would also allow to provide a multiplier for each CC so that it's possible to have eg. modwheel operate in +/- 20% off the parameter setting in a preset.
mmhh...you say controllers should not adjust the parameters directly and absolutely but in some kind of relative manner?

I'll better shut up now ;)
:hihi: :-o well, ideas are always welcome...but i can't promise to pick all of them up, of course.
I of course realize that smoothing costs CPU cycles, but then again as far as I know you can get away with doing it cheaply (=simple filter, not per sample).
when i do it, then i want to do it right, and that means: per sample. but i thought about it - i don't really need it per voice, i think it can be done for all voices at once. actually, i'm not sure whether such complications like 'do it only per 16 samples' would make for a better performance since the smoother is just a simple first order filter.
I'd say that smoothing would be desired for all parameters that would be controllable via MIDI (internally or using host parameter automation), including the pitch bend.
pitch bend? isn't the resolution of that fine enough?
It is useful to have sustain pedal support and the desired behaviour is most likely as simple as 'hold the note-off until the pedal is de-pressed'.
O.K. that should be easy enough to implement then. so i will.
My website: rs-met.com, My presences on: YouTube, GitHub, Facebook

Post

thecontrolcentre wrote:I finally got round to trying Straightliner ... it's a very nice synth with a really big sound. Thank you rs-met, I like this a lot :D
:D :!:
My website: rs-met.com, My presences on: YouTube, GitHub, Facebook

Post

Robin from www.rs-met.com wrote:thanks - not only that, now i'm also attemting to turn that into a full time job.
That's really cool, I do hope it works out for you. :tu:
Robin from www.rs-met.com wrote:O.K in that case your host keeps track of the mappings - no issues with porting projects to another computer because the mapping is part of the project. i must think about it some more.
There will also be no problems with porting projects or moving presets if you do the mapping internally. As long as you save the full mapping in the preset, it will keep the mapping created by the preset designer and give it to the user as a starting point which can then be adjusted if necessary.
Robin from www.rs-met.com wrote:mmhh...you say controllers should not adjust the parameters directly and absolutely but in some kind of relative manner?
Ideally, yes. MIDI CC have very poor resolution so being able to use all of it for tweaking the desired part of a parameter range would be great (after all, in a vast majority of cases you don't tweak eg. Cutoff from 0 Hz to 20 kHz). I think it would be natural to have Min and Max settings for each MIDI controlled parameter, with Min corresponding to CC=0, Max to CC=127 and values in between linearly scaled to parameter values between Min and Max.
Robin from www.rs-met.com wrote::hihi: :-o well, ideas are always welcome...but i can't promise to pick all of them up, of course.
I'll try to keep my science fiction filter on - if I go too far just let me know ;)
Robin from www.rs-met.com wrote:pitch bend? isn't the resolution of that fine enough?
Not really when you do rapid full range bends at +/- 12 semitone setting (not that it is something you'd do a lot of, but still). It might as well be a problem with non-sample accurate timing of values passed to the plugin by the host - I don't know, I'm not that deep into VST SDK - but steps on pitch bend can happen, so I guess smoothing wouldn't hurt.
the the impotence of proofreading

Post

Paulie Phonick wrote: There will also be no problems with porting projects or moving presets if you do the mapping internally. As long as you save the full mapping in the preset, it will keep the mapping created by the preset designer and give it to the user as a starting point which can then be adjusted if necessary.
O.K. mappings should be stored in the preset then. i think, i will have a default mapping which can be overriden in the preset.
MIDI CC have very poor resolution so being able to use all of it for tweaking the desired part of a parameter range would be great (after all, in a vast majority of cases you don't tweak eg. Cutoff from 0 Hz to 20 kHz). I think it would be natural to have Min and Max settings for each MIDI controlled parameter, with Min corresponding to CC=0, Max to CC=127 and values in between linearly scaled to parameter values between Min and Max.
this is a cool idea. yes, i want that.

Not really when you do rapid full range bends at +/- 12 semitone setting (not that it is something you'd do a lot of, but still). It might as well be a problem with non-sample accurate timing of values passed to the plugin by the host - I don't know, I'm not that deep into VST SDK - but steps on pitch bend can happen, so I guess smoothing wouldn't hurt.
you mean steps larger than the resolution of the pitch bend? mmmhh... i will consider a smoother for it, but i'm not yet sure
My website: rs-met.com, My presences on: YouTube, GitHub, Facebook

Post

Thats great Baby !!! :D

Post

Sternensoldat wrote:Thats great Baby !!! :D
Hi Dario! finally you managed to join the KVR community. welcome! hope to see you more often here in the future.
My website: rs-met.com, My presences on: YouTube, GitHub, Facebook

Post

Robin from www.rs-met.com wrote:O.K. mappings should be stored in the preset then. i think, i will have a default mapping which can be overriden in the preset.
Robin from www.rs-met.com wrote:this is a cool idea. yes, i want that.
Cool! Looking forward to testing those once they're implemented! :hyper: 8)
Robin from www.rs-met.com wrote:you mean steps larger than the resolution of the pitch bend? mmmhh... i will consider a smoother for it, but i'm not yet sure
I mean steps as in sample-and-hold as opposed to a smooth, continuous glide. Running the pitch bend data through a smoother should fix all the stepping problems, regardless of the cause (PB resolution, jitter caused by inacurate timing) and in the end one more smoother won't increase the CPU load much while it may work wonders for the bends ;)
the the impotence of proofreading

Post

Robin, I'm starting to be very, very impressed with even your alpha software attempts. I'm even going to be using your tutorials tonight. A profound thanks :)

Post

runagate wrote:Robin, I'm starting to be very, very impressed with even your alpha software attempts.
glad to hear that...well, those alpha...beta...version 0.xx...whatever terms - i don't really have a well founded strategy to tack those terms to specific versions. however, v 1.0 is reserved to a version which i can regard as 'finished' in some sense (although a software project may be ever evolving due to it's nature, of course). actually i'd prefer to use build dates rather than having some (arbitrarily chosen) version numbering system. mmm...well, blah blah. nevermind.
I'm even going to be using your tutorials tonight. A profound thanks :)
hope they are (or were) useful for you.

see you, robin
My website: rs-met.com, My presences on: YouTube, GitHub, Facebook

Post

time for an update. version 0.6.5 has been uploaded. here is the changelog:

global:
-preset was not remembered between GUI closing/re-opening - fixed
-clicks on note-off when 'Level by velocity' was nonzero - fixed
-responds to sustain-pedal now
-responds to all-notes-off now
-automation via MIDI has been implemented (based on MIDI learn and setting lower/upper controller limits)
-shape slider is grayed out where it does not apply
-behaviour of sliders changed (right click opens MIDI automation context menu instead of resetting the value to default - reset to default is now via ctrl-click (unfortunately, it grabs keyboard focus then as well - so consider this as preliminary))
-more presets, more waveforms

oscillators:
-on load of a new waveform, the waveform display didn't reflect M/S and pan settings - fixed

envelope generators:
-levels > 2 were not shown in the sliders - fixed
-sometimes the grids were shown although grid-buttons were unpressed - fixed
-there was no loop, when the loop end was the very last breakpoint - fixed
-important parts of the envelope generator re-programmed (hopefully for the better)
-tweaking the 'Time Scale' parameter during holding a note is now directly reflected in the sound (well, when is hits the next breakpoint at least)




comments are welcome again, especially with regard to the new features - that midi learn stuff turned out to be a pretty complex thing - so i'd be interested if it works as expected.
My website: rs-met.com, My presences on: YouTube, GitHub, Facebook

Post

Robin,

thanks for including the sustain pedal operation.
I'm wondering if it was your design or a bug, however, that makes the synth sustain when the pedal is UP (MIDI value = 0) and then NOT sustain, or respect the amp envelope when the pedal is DOWN (MIDI value = 127).

thanks again for your hard work, and I'm really enjoying your synth and your freebies.
rrrc.bandcamp.com||bandcamp.com/blatanville
"ALL YOUR CUBASE ARE BELONG TO REAPER" - 5.1 Posted: Thu Jul 31, 2008 3:17 pm
i9-10900CF|32GB|Nvidia RTX3060Ti|Win 11|REAPER|FLStudio|more plugins than I've had hot meals

Post

ahh damn...you are right - i implemented it just the other way around. this is probably due to the fact that my sustain pedal looks like this:

Image

(an abused footswitch for a floor-lamp). :oops: will be fixed in the next version.
My website: rs-met.com, My presences on: YouTube, GitHub, Facebook

Post

Got around to try the Straightliner... I'm pretty covered on the synth front but I must say you have a nice one here, congrats! The osc section seems quite powerful and the raw sound is nice, plus the open design of the filter section is scary, in a good way... iirc your old Agressor had a fair selection of filters so I assume this one will have a good amount as well. And of course the modulators are out of this world and it's a pity that they can only affect the overall volume and the freq of the only filter onboard, they feel kinda underused... may I provide a couple suggestions?

- A second filter section, plus the ability for the filters to affect oscillators one by one (i.e. so filter1 could affect say oscs 1 and 2 and filter 2 say oscs 3 and 4)

- At least 1 (ideally 2) extra multipurpose modulators with a selection of typical destinations (individual osc volumes, filter freqs and Qs, the speeds of the other modulators, etc), and the ability to affect more than one destination


Preemptive apologies for these structural suggestions... I understand that they are probably very cpu intensive and you might already have the architecture closed, but I feel that they would give the synth a greater chance in the commercial arena if it's meant to be sold...

Btw, 0.65 is apparently rock solid here in energyXT running on WinXP SP2.

Oh, and just for kicks I tried Straightliner's "breakpoint modulator presets" in your MultiModulator plugin... they load! Well, almost... I've identified a couple differences:
- Depths > 1 get translated as 1
- If 2 adjacent points have the same t-axis value, the first one is discarded by MultiModulator, hence the curve is different and the final breakpoint count is wrong so the loop points don't match

The preset "AnalogPattern010" is a perfect example of both issues... anyway, I don't know if this is intended but I think it would be a cool feature if both plugins could share modulator presets :)
The mind boggles.

Post Reply

Return to “rs-met”