Jump to content
Variorum

New MidiFX Available

Recommended Posts

Hope it's Ok to post this here... if not, feel free to publicly flog me ;)

I decided to brush the brain dust off my C++/COM/UI programming and write some plugins for Cakewalk...

The first (little) one is a MidiFX plugin called CSHumanize... because randomization is easy :)
It's basically a replacement for the CAL script "Humanize" with a couple minor enhancements.

It's free and available at my new, hastily set up site http://viramor.com if you'd like to test it out. It's 64-Bit only, but if any of you CAVEMEN still using 32-Bit OS's are interested, I'll compile a version for you.

Yeah, I know you can add randomization with the Quantize plugin, but this one's a slightly different shade of blue ;)

CSHumanize.jpg

  • Like 11
  • Thanks 6

Share this post


Link to post
Share on other sites

This looks lovely! I have a feature suggestion. Would be great if I could open DNA groove banks (.grv) or extract groove from midi/audio transients beats to the memory and make some 'humanizing' around that groove with this tool. If there's no such possibility in Cakewalk already (maybe I'm missing it somehow) than that would be something for consideration, if it's not asking too much.

I know one can do it in few steps but doing some slight randomization aroung grooves in one go and audition the results in realtime while adjusting could be golden.

Edited by chris.r
  • Like 1
  • Thanks 1

Share this post


Link to post
Share on other sites
On 1/6/2019 at 6:53 PM, scook said:

Posting here is fine. Nice first effort.

Thanks scook! 

7 hours ago, BlackHeart Emoji said:

Very nice plugin, Im trying it out now, we def need more cakewalk plugins and community support like this. 🤓

Let me know if you have any issues or suggestions... remember, I offer a 100% money back guarantee 😁

7 hours ago, chris.r said:

This looks lovely! I have a feature suggestion. Would be great if I could open DNA groove banks (.grv) or extract groove from midi/audio transients beats to the memory and make some 'humanizing' around that groove with this tool. If there's no such possibility in Cakewalk already (maybe I'm missing it somehow) than that would be something for consideration, if it's not asking too much.

I know one can do it in few steps but doing some slight randomization aroung grooves in one go and audition the results in realtime while adjusting could be golden.

Hmmm... To integrate everything into one component, I'd probably have to be able to read and parse the GRV files directly. It looks like there are two types; one by DNA™ and another that is native to Cakewalk. Cakewalk also allows you to copy MIDI data from a track to use as the groove definition... that would actually be the easiest part to implement because I'd know the format of the data on the clipboard.

If I can get (or decode) the file format, I may be able to load a groove pattern and allow you to humanize it before it's applied to the track. Might be tricky to implement as a real-time effect as opposed to processing an entire track/selection because the plug-in receives small chunks of buffered note data. I'll have to think about how it might work and do some research into the GRV file format.

  • Like 1

Share this post


Link to post
Share on other sites
23 minutes ago, Variorum said:

It looks like there are two types; one by DNA™ and another that is native to Cakewalk.

Oh, I had no idea. I thought dna grooves in cakewalk (.grv) are the same thing. Wow.

55 minutes ago, Variorum said:

Might be tricky to implement as a real-time effect as opposed to processing an entire track/selection because the plug-in receives small chunks of buffered note data.

Right, didn't take that into account.

To make thing even more enjoyable, I came up with that idea to include option to process also CC messages. Here's the idea, say you have midi track with solo instrument melody full of continuous controllers (modulation, expression etc) and you want to make an ensemble. You can duplicate track and then slightly randomize controllers data, in addition to notes. I tried to do it with the quantize plugin that came with cakewalk but it won't allow me to process CC data, only notes, unless I'm missing something.

I realize I'm crossing the lane already 😛

  • Like 1

Share this post


Link to post
Share on other sites
2 hours ago, chris.r said:

To make thing even more enjoyable, I came up with that idea to include option to process also CC messages

That will definitely be in the next version... not too hard to implement. I use GPO5 a lot and need the controller events (modulation, expression, pitch) to follow the note movements. But I'm slow 🐌. I'm also trying not to step on any commercial developers' toes, like Frank's MIDI Plug-Ins (who has a great humanize plug-in for sale that adjusts controller values and a lot more).

BTW - TenCrazy.com has some interesting free MFX plugins, and AZSlow has an MFX plugin that allows you to write scripted functionality in a language called LUA, He has a great site... I've learned a lot about MFX and Control Surface programming from reading the posts on his forum (somehow he types with a Russian accent 😜).

Not sure if either of them doing any current development related to CbB, though.

Oh, my comment about "Might be tricky to implement as a real-time effect , blah blah blah" doesn't really apply. For some reason I was thinking  that Groove processing would need to take into account large blocks of music to fit phrases to the selected, uh, groove. A couple measures in the buffer should be enough to adapt the data. Plus, I build a private cache of the supplied buffers for historical reference. 

Edited by Variorum
  • Like 2

Share this post


Link to post
Share on other sites

Actually your comment sounds very promising. Also no such thing like time pressure here. Last months I'm mostly spending time with 2 frolic toddlers, it will take much time before I decide for next job. And yeah, I work mainly with MIDI so having such randomizing tool is immense.

In the meantime I'll check out Frank's plugins, TenCrazy I know already. Didn't know Azslow has a mfx but I can't do scripting anyway, small adjustments to CALs is all I was able to achieve in that regard. I have plans to buy icon Platform m+ and connect it to Azslow surface though, trying to make it work also with prochannel and vst/vsti if possible. Hopefully that will take only heavy setting up and not programming, unless we could work out something new in future. Thanks for your suggestions.

Edited by chris.r

Share this post


Link to post
Share on other sites

Alright, here's another MFX plugin that has a pretty limited user base 😉


This is a simple transposer... basically the same functionality as the Key+ control in the midi panel of a track, BUT it's syncable in groups!
Sleetah2000 had a question about transposing multiple tracks at once (Multi-track Transposing) which is difficult because the Key+ control isn't groupable, so I came up with a way to synchronize several instances of an MFX plugin... seems to work.


You can assign each plugin to one of four groups; all plugins in the same group will track together (i.e. changing any of them changes all of them)
Drop a plugin in a track, assign it to Group 1, say, and Control/Drag it onto several other tracks and you can transpose all of them at once.

It only has an 'Absolute' mode at the moment, but I'll add a 'Relative' mode soon.

Granted, it's just a transposer and not terribly useful, especially if the Key+ control is made groupable in a future CbB release (hint, hint), but the syncing model I'm using will probably be handy for other more complex MFX plugins coming up.

It's free. You can DL it at Viramor.com if you want to try it out.

CSTranspose.png

 

  • Like 3
  • Thanks 1
  • Great Idea 1

Share this post


Link to post
Share on other sites
On 1/9/2019 at 5:54 PM, msmcleod said:

I appreciate Azslow's effort but as an aging Tcler, it would get a lot more use by if it used a Tcl engine instead of Lua. Don't have anything against Lua, I know it is an extremely popular scripting language just have my own preferences. Now if Variorum want's a challenge, create an MFX wrapper for Tcl. One that takes advantage of the TK graphical toolkit.

 

Share this post


Link to post
Share on other sites
14 hours ago, scook said:

Now if Variorum want's a challenge, create an MFX wrapper for Tcl. One that takes advantage of the TK graphical toolkit

Yeah... Let me finish up my Grand Unified Theory and get that Mid-East peace treaty signed and I'm on it 🤪

  • Haha 1

Share this post


Link to post
Share on other sites
On 1/6/2019 at 8:36 PM, Variorum said:

Hope it's Ok to post this here... if not, feel free to publicly flog me ;)

I decided to brush the brain dust off my C++/COM/UI programming and write some plugins for Cakewalk...

The first (little) one is a MidiFX plugin called CSHumanize... because randomization is easy :)
It's basically a replacement for the CAL script "Humanize" with a couple minor enhancements.

It's free and available at my new, hastily set up site http://viramor.com if you'd like to test it out. It's 64-Bit only, but if any of you CAVEMEN still using 32-Bit OS's are interested, I'll compile a version for you.

Yeah, I know you can add randomization with the Quantize plugin, but this one's a slightly different shade of blue ;)

CSHumanize.jpg

I just signed up to thank you for this amazing plugin! I use mainly hardware synths with cakewalk and this is really useful. May I suggest an idea for a new plugin?  some kind of LFO to control midi parameters (cutoff, volume, panning, etc.) is lacking in cakewalk, and a MFX is perfect for this, I've tried to do this with VSTs and is really cumbersome to make it work.

thanks again!

 

  • Like 1
  • Thanks 1

Share this post


Link to post
Share on other sites
5 hours ago, Grafo said:

May I suggest an idea for a new plugin?  some kind of LFO to control midi parameters (cutoff, volume, panning, etc.)

Ha! Already started poking around on this one after I saw a post about a VST called Midi Shape Shifter

It'll be pretty simple at first, maybe generate a sine, triangle, square, sawtooth wave... tempo synced with divisions, and I think allowing control of amplitude and frequency from assignable CC's would be cool.

I'll keep you posted! Hahaha! Get it?... Posted?... It's a Forum?... <crickets> 😋

  • Like 1
  • Thanks 2
  • Great Idea 1

Share this post


Link to post
Share on other sites
1 minute ago, Variorum said:

Ha! Already started poking around on this one after I saw a post about a VST called Midi Shape Shifter

It'll be pretty simple at first, maybe generate a sine, triangle, square, sawtooth wave... tempo synced with divisions, and I think allowing control of amplitude and frequency from assignable CC's would be cool.

I'll keep you posted! Hahaha! Get it?... Posted?... It's a Forum?... <crickets> 😋

Awesome! :)

 

Share this post


Link to post
Share on other sites
On 1/22/2019 at 7:17 PM, Variorum said:

It'll be pretty simple at first, maybe generate a sine, triangle, square, sawtooth wave... tempo synced with divisions, and I think allowing control of amplitude and frequency from assignable CC's would be cool.

What are the practical uses for this? Can you use it to modulate anything within Cakewalk, does Cakewalk allow for it, what routing? Or it's just for creating new midi controller lines? Sorry I'm trying to wrap my head around this :).

Share this post


Link to post
Share on other sites

Anything that generates MIDI data may be used to modulate practically anything in Cakewalk. There are several VSTs that do this now. The routing would involve a virtual MIDI cable and Remote Control or ACT.

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

×
×
  • Create New...