Monday, August 30, 2010

Vriareon (first Draft)

Well , I have been coding for fun for more than 20 years now. But I never made any serious app, only messing around, enough to learn the programming languages I wanted. Gwbasic, dbase, clipper, c++, assembly, delphi, java , c# and now python.

So enter Vriareon. Basically its an app for transmiting multipoint envelopes to hardware synthesizers. If you did not understand what I just said, well, its normal if you dont use a synthesizer , software or hardware.

Bottom line is that most synths out there dont ever go being simple ADSR , which is a 3 point envelope , mine will go as much as you want.

Basically an envelops is nothing more than a graph that says to a parameter when to increase and when to decrease automatically. In most cases an envelope is made of no more than 4 points (A,D,S,R for Attack, Decay, Sustain, Release) . Attack is triggerd when a note is played, decays is after the attack, sustain when a not is keep pressed down, and release when a note is released. However in software synths like Absynth, Zebra, Alchemy this restriction is droped, and the user can make envlopes using an almost unlimited amount of points, thus creating incredible deep and complex sounds.

Vriareon uses midi protocol, either CC or NRPN to transmit midi data that makes up the envelope.

Currently the app, implements simple functionality. It support, add , move and delete of points, together with zoom in , zoom out and pan.

This is a video showing the app in action.

The app of course is far from finished, but I am in no hurry either. I want to take my time and make this into a very useful and very impressive app. The ultimate goals is to impement more features than multipoint envelops, but for the time being this is the only goal. Gui is still very crude and it may not seem impressive, but most the basic architecture of the app is almost finished. I have to , as a next step, transmit the midi to the the hardware synth. But its the Gui stuff that will take me long cause I want to build a very felxible gui from zero.

I use python and the python library Pygame, for gui and midi, as pygame has included the pyportmidi library which is very easy and efficient into sending and receiving midi signals.

I will keep you posted with monthly updates of my pogress.

No comments: