Zyklus Improvisor, real-time harmonic sequencer

VST, AU, AAX, CLAP, etc. Plugin Virtual Instruments Discussion
Post Reply New Topic
RELATED
PRODUCTS

Post

Let me shine some light on how Improvisor is a Max program but uses (mostly) Java for its internal workings.

The only things that are purely Max in Improvisor are its GUI, timing objects, midi in/out objects and some few routing objects. 90% is Java I guess. The reason for using Java is simple: 1) Improvisor is too complex to be a pure Max program and 2) the language C was not an option because the learning curve was too high for me back then. Keep in mind, I had to learn Java from the start when developing Improvisor. Programming OTOH was not new, years of Delphi under my belt. If Delphi only had some more midi and timing components as Max have, I never touched Max again, at least not for a program like Improvisor.

Improvisor doesn't use [seq] or [mtr] Max objects; it's all done using object arrays being scanned in Java when the appropriate tick arrives. Reading and writing files are also Java, only the dialog windows are provided by Max. Harmonizer code is Java. As a rule of thumb, everything that could be done in Java, is Java. The main reason for this is I'm more comfortable working with an IDE like Eclipse then patching objects in Max.

Pitch bend and other controller data are excluded from sequencing because I was afraid that my scanning routine was not fast enough to handle 32 sequences for example full with pitch-wheel data. It's funny however that as the moment we speak I'm rewriting this part of code so you can record and loop pitch bend and controller data. There will be one more update of the current version after all.

Import/export midi files is something I want to try on the next version.

Post

So could it work under Linux ?
You can't always get what you waaaant...

Post

stanlea wrote:So could it work under Linux ?
Uh, no. Although Java is used extensively it's still a Max program. See it as Java embedded, using a special Max object, inside the Max program.

Post

bronswerk wrote: Pitch bend and other controller data are excluded from sequencing because I was afraid that my scanning routine was not fast enough to handle 32 sequences for example full with pitch-wheel data. It's funny however that as the moment we speak I'm rewriting this part of code so you can record and loop pitch bend and controller data. There will be one more update of the current version after all.

Import/export midi files is something I want to try on the next version.
thank you Bert for that detailed explanation above^^^, the inside of the program makes a lot more sense to me now.

sometimes when trying to learn a protocol it helps to look at previous developers work, learn by example, your program certainly left me with more questions than answers in MAX.

happy to hear you still have a few tricks up your sleeve and you haven't thrown in the towel after all.

I tried for a while to use this program in a live setting but it just proved to be to hard to trigger/re-trigger all those tracks/scenes with a foot controller while playing midi instruments with my hands and feet, one track with multiple channels proved to be better for me (simple bass and drum backing track type stuff)

I suppose it would be perfect for a DJ or someone used to mostly using hand controllers to create/manipulate patterns, like a dedicated keyboard player.

the Xposer was my favorite tho, being able to step through patterns with a single note trigger worked well with a footar and allowed me to do things my other midi loopers currently can't do.

oh, and now that you might include other controller data this will be great for storing sweeps (eg. bass velocity ramps, pitch) can actually be used as a live synth bass effect controlling the notes you are currently playing when mixed in an external midi stream.....(think Hot Hand, dubstep, source audio type stuff).

keep up the good work bro!

jerm 8)

Post

bronswerk wrote: Programming OTOH was not new, years of Delphi under my belt. If Delphi only had some more midi and timing components as Max have, I never touched Max again, at least not for a program like Improvisor.
Usine would be perfect for you then, it is developed in Delphi, uses objects/modules like MAX and makes it easy for users to connect them.

keep shinin

jerm 8)

Post

jeremysdemo wrote:Usine would be perfect for you then, it is developed in Delphi, uses objects/modules like MAX and makes it easy for users to connect them.
Not exactly what I had in mind. I love Delphi's IDE and language and all what I need is a few midi in/out components that handles the low level midi stuff and a good timing component that provides a stable midi tick.

I have the recording of pitch bend and controller data working. In the program there's behind the scenes an "control event" list running parallel with the notes list. Some more tests are needed, but it looks good for now.

Post

well the only advantage I could see over MAX with Usine is the ability to export projects as VST's.

if memory serves me correct earlier versions of MAX/mps (before 5) used to allow this with Pluggo which was buggy....I don't think pluggo is even supported anymore...

obviously a Vst can rely on any users DAW for timing...problem eliminated?

can't wait to test out the new toy...

is there a file I can replace in my existing program to get it up to speed?

or do I need to download whole new build?

jerm 8)

Post

jeremysdemo wrote:well the only advantage I could see over MAX with Usine is the ability to export projects as VST's.

if memory serves me correct earlier versions of MAX/mps (before 5) used to allow this with Pluggo which was buggy....I don't think pluggo is even supported anymore...

obviously a Vst can rely on any users DAW for timing...problem eliminated?

can't wait to test out the new toy...

is there a file I can replace in my existing program to get it up to speed?

or do I need to download whole new build?

jerm 8)
Yes, making VST's is cool, that's a miss in todays Max, bummer. Zyklus Improvisor OTOH was never intended to be a VST anyway. About the timing, Max has stable clocks on board when running Improvisor as a stand-alone, no problem. If however Improvisor is used as a slave, meaning listening to midi clock coming from a daw, I've programmed a special part in Max that takes the average timing of the last 8 midi clock messages that was received from the daw and does this continuously. In practice this gives (at least over here) very good results. If I record the midi output from Improvisor in Cubase and see how close those notes are lying to the grid lines in the key editor I always check if auto quantize was not accidentally on. It was not so very good results if I may say. YMMV.

Whenever there is a new update, it's best to "install" all files. In Improvisor case there is no install actually, only a copy of a folder to your destination of choice and start the exe file from there. It's noted that in this case your old songs won't work anymore because of the changed song file format hence the extra controller data that can be recorded.

Post

Hello, I just joined KVR audio now so I could write to you on this thread. I work as a programmer and the youtube video I just watched with you showing how the Improvisor works is simply amazing. It is the tool every computer music composer should have. Simply great.

I am not a professional musician but I like to mix programming and music whenever time allows. I am almost 40 and I've been fiddling with audio and computers since I learned my first Qbasic programming skills back in the DOS era! :)

Now, I find this amazing tool called Improvisor.
I'll see if I can install it here in my computer. Any tips to dodge any known pitfalls?

I'm very excited about trying your Improvisor. Really a great job what you are doing here.

Cheers,

Daniel

Post

bronswerk wrote:@UncleAge
Using standard midi files is something I thought about, but what if there's all sort of data that ZI can't handle at the moment? I would have to scan the file, check for errors, transform it into the appropriate format that ZI uses etc. Technically very difficult..
Can't this "MIDI file" (for direct "import") be predefined with the necessary/appropriate elements, and those which should/must be excluded, thereby circumventing any real or imagined (current) limitation to loading MIDI sequences? :?

Notwithstanding there will always be something someone wants/needs/must-have, but considering everything Zyklus Improvisor DOES ~ I'm thinking most users would be delighted with any type of "import".

Creating a usable sequence, or stripping a MIDI file of things that won't "translate" is not difficult.

[2c]
I'm not a musician, but I've designed sounds that others use to make music. http://soundcloud.com/obsidiananvil

Post

Sorry, I do not want to go through each page on this thread, but can I download this for my windows 7 PC?

Thanks :)

Post


Post

danielmonte wrote:
Now, I find this amazing tool called Improvisor.
I'll see if I can install it here in my computer. Any tips to dodge any known pitfalls?

Cheers,

Daniel
it worked better for me with Java 6 than 7, (on Windows XP pro).

other than that there really wasn't anything to install, the app is just a folder and you launch the .EXE file from there to run it.


on one of my systems (on O.Q.O. UPMC) I did have to install a Microsoft re-distribution package 2010 but that was it.

keep shinin

jerm :cool:

Post

vaisnava wrote:Sorry, I do not want to go through each page on this thread, but can I download this for my windows 7 PC?

Thanks :)
the only way I know how to get it is to join the Zyklus Yahoo group and ask bert to send you a link to the file.

He's happy for beta testers specially with the new build for CC data recording.

keep shinin

jerm 8)

Post

This is very interesting.

I was pointed to this by a friend, been out of the industry for years.

Bill Marshall, was one of the founders of Zyklus, along with myself and
Peter Kellock. I was the MD of the company.

Its gratifying to know that our ideas are finally being taken up.
In some ways I am amazed that this has not been developed sooner.

Given modern hardware, processing power and software tools.

Pete and myself developed the original Zyklus MPS code in about 8 months.

Would be great to have a follow up

Good Luck with the project

Post Reply

Return to “Instruments”