How To Create A Simple Plugin Host?

DSP, Plugin and Host development discussion.
RELATED
PRODUCTS

Post

I was wondering about the process involved in creating DAW's. I have zero experience in software developing but hoping there's a simple method of visually building pieces together like in synth edit. If not next semester is coming up and would be interested in taking some classes. I just want a simple program, nothing complex like cubase, more simpler like Orion that's uncluttered with windows and routings etc.. Just need to insert Vsti's, a piano roll, song playlist and mixer and build up the options from there. Would also like to experiment with workflow ideas if progressed far enough. I have two years of university left so any classes relevant to daw production would be nice to know of.

Also are they starter resources for piano rolls, mixers, etc that I could copy and paste into a program and tweak from there. Sorry in advance for any noob questions or ignorance :)
Last edited by Touch The Universe on Thu Jul 24, 2014 3:53 am, edited 1 time in total.
High Quality Soundsets for Lush-101 | Hive | Electra 2 | Diversion | Halion | Largo | Rapid | Dune II | Thorn | and more.

TTU Youtube

Post

no, there isn't synthedit for daws :)
btw, the correct keyword is not "daw", this is a term used by end-users, but "host"
A "simple" host like orion is not simple at all, I think it will require more than a semester. It requires several years, and maybe a team of experienced programmers :)

Post

Yep, nothing simple about Orion. :)

Post

Thanks for the correction Zaphod :-) I don't mean to make light of the Orion because I like that daw but relatively speaking it certainly looks less of a complex machine than other daws windows and gui wise so I wanted to use that as an example. Function wise I think we'd all agree its simplistic and that's why its good. :hihi:

Right now I'm just trying to get a grasp of whats involved in creating a 'host' and the necessary knowledge to do so, and how to get that knowledge. If its possible to copy and paste say a piano roll code into a program I could start there. See what it looks like and behaves after rendering and work on finding codes to improve it my specifications. Would like to take shortcuts to get started so that atleast Ill be able to know what to ask and find out what I don't know that I don't know.. So far now a site to grab some code and program to implement it would be nice to know. Price isn't an issue but must have a demo. If I find I like it then and get interested in learning more a price won't be a barrier to entry as long as its not something crazy.. Peace
High Quality Soundsets for Lush-101 | Hive | Electra 2 | Diversion | Halion | Largo | Rapid | Dune II | Thorn | and more.

TTU Youtube

Post

Depending on what you mean by "simple" and what your actual goals are, you could get something working with MAX. All of the basics are there and, modulo your ability, you could write other bits as externals. That said, there is absolutely no reason to do this for either cost, or simply trying to avoid the learning curve of other daws.

There's a discussion of someone wanting to do something like this for an academic project on cycling 74.

http://cycling74.com/forums/topic/build ... in-maxmsp/

They talk about a project called noteformax.

http://www.noteformax.net/data/index.php/en/homepage

Some parts of live were originally prototyped in max. But again, the reasons for this are either exploration or because you want to do something non-traditional. If you just need a simple host because cubase is too complex or too expensive, there are quite a few choices and even the most expensive will be cheaper than trying to write almost anything on your own.

Post

I really like Orion but after switching daw's a few times and learning what's available I want to see some of the same features implemented in a much simpler host like Orion. Or rather I want a different layout entirely from the Cubase paradigm of audio track linear based workflow without dozens of windows, routings, etc. Basically I would like to see advanced features in as simple a workflow as possible. I would like to know how to implement whatever ideas into a program or if its possible or not. Whether I get interested or serious enough to do it time will tell. I like math and I like codes and algorithms have a mysterious interest to me that I want to learn more about someday. Learning about new Daws and there complexities is fun to me. :D Favorite so far is Studio One as yet.
High Quality Soundsets for Lush-101 | Hive | Electra 2 | Diversion | Halion | Largo | Rapid | Dune II | Thorn | and more.

TTU Youtube

Post

mysticvibes wrote:I really like Orion but after switching daw's a few times and learning what's available I want to see some of the same features implemented in a much simpler host like Orion. Or rather I want a different layout entirely from the Cubase paradigm of audio track linear based workflow without dozens of windows, routings, etc. Basically I would like to see advanced features in as simple a workflow as possible. I would like to know how to implement whatever ideas into a program or if its possible or not. Whether I get interested or serious enough to do it time will tell. I like math and I like codes and algorithms have a mysterious interest to me that I want to learn more about someday. Learning about new Daws and there complexities is fun to me. :D Favorite so far is Studio One as yet.
Honestly, I don't think interest and curiosity is enough here. If you want to understand some elements of making music in real time in a programming environment in a different paradigm, there's always chuck.

http://chuck.cs.princeton.edu/

Post

ghettosynth wrote:
Honestly, I don't think interest and curiosity is enough here.

http://chuck.cs.princeton.edu/
You are right but I'm trying to build interest by learning more :P
ghettosynth wrote:If you want to understand some elements of making music in real time in a programming environment in a different paradigm, there's always chuck.
Thanks. Already checking out your links and already feeling overwhelmed/bored. I want to first make a simple progress by copying a code into a program and seeing the after effects. From there I'll probably peruse the code and be bewildered but my interest will grow. Maybe someone can help me with what keywords can be helpful. Looking up 'piano roll code' in google isn't helpful. :lol:

You and I have different ideas of approaching audio host paradigms. To me There's Orion/FL studio (pattern based 'paradigm'), Reason, then every other Daw as Cubase mimic paradigm, give or take a few bewildering modular host's I try to stay away from. :hihi:
High Quality Soundsets for Lush-101 | Hive | Electra 2 | Diversion | Halion | Largo | Rapid | Dune II | Thorn | and more.

TTU Youtube

Post

mysticvibes wrote:
ghettosynth wrote:
Honestly, I don't think interest and curiosity is enough here.

http://chuck.cs.princeton.edu/
You are right but I'm trying to build interest by learning more :P
ghettosynth wrote:If you want to understand some elements of making music in real time in a programming environment in a different paradigm, there's always chuck.
Thanks. Already checking out your links and already feeling overwhelmed/bored. I want to first make a simple progress by copying a code into a program and seeing the after effects. From there I'll probably peruse the code and be bewildered but my interest will grow. Maybe someone can help me with what keywords can be helpful. Looking up 'piano roll code' in google isn't helpful. :lol:

You and I have different ideas of approaching audio host paradigms. To me There's Orion/FL studio (pattern based 'paradigm'), Reason, then every other Daw as Cubase mimic paradigm, give or take a few bewildering modular host's I try to stay away from. :hihi:
At an abstract level, there is no difference between a linear and pattern based host other than the pattern based host has a mechanism for chaining linear tracks. Chuck is a completely different paradigm but it will get you close to some idea of representing music in code.

If you view midi notes, e.g. a piano roll, as simply a sequence of number pairs (note and velocity) and then realize that the piano roll is really just a view on this data, that is, a way to see the data, then you can make the connection to using chuck, max, pd, or reactor, to start sketching a simple sequencer.

There is no shortcut here. Beginning programming students often experience a sort of frustration and aha moment when they move from writing simple console based applications to applications with a more complete user interface. Chuck is, in some way, the equivalent of a console based version of a daw. It's more than that, and less at the same time, but it will lead you to the aha moment that will make you realize that searching for piano roll code is a waste of time.

Post

Its more about paradigms of different workflows. Most daws use the audio track linear layout of production and geared heavily for recording and routing intstrument channels to different midi devices taking up lots of gui space and imo cluttering up unnecessarily the production environment, especially if only using vsti's and no hardware. Most of the daw's even look the same generally and the workflow is very similar, hence the 'cubase paradigm'. Orion and Fl studio are very much different approaches. I am interested in learning how to create a simpler uncluttered host.

I've been perusing some threads and its very interesting to see the codes and what they are trying to implement in them, like the increments of the knobs of the vsti or the length of the delays in ms and how the ranges of knobs respond to different functions. I have no idea what it means by I can guess at what the code is trying to achieve by looking at it and it seems kinda fun imo.

In any case a step sequencer isn't as simplistic as what I'd have in mind with regards to work flow. Nothing is easier than piano roll, though with both things can be done that each can't do on its own.

I think people are interested in different things in accomplishing for first learning how things work. So I want give up yet in finding a way that interests me. It doesn't even have to be a piano roll. I find it hard to believe with all the open source applications there isn't nestled in the package a code for a piano roll that I can copy and paste into a program like 'Juice' press render or what have you then open up the engine or .dll into a another program to see how it behaves or maybe even just a starter window application type. Well will see, but for now this is what I want to accomplish. I won't understand the code but Ill get closer to understanding how a daw is put together.
High Quality Soundsets for Lush-101 | Hive | Electra 2 | Diversion | Halion | Largo | Rapid | Dune II | Thorn | and more.

TTU Youtube

Post

So basically, you want to build something....youre not quite sure what....from someone elses work....you dont have a clue how to do it.....but you have a few weeks spare to 'learn'

Good luck :lol:

Post

You decided to drop by and do what exactly? Ridicule someone trying to learn something?

Good luck :lol:
High Quality Soundsets for Lush-101 | Hive | Electra 2 | Diversion | Halion | Largo | Rapid | Dune II | Thorn | and more.

TTU Youtube

Post

mysticvibes wrote:You decided to drop by and do what exactly? Ridicule someone trying to learn something?

you dont need me for that. :lol:


If you want to learn how to code a host, do it. Should only take a few years, unless some kind dev gives you all the parts you need to copy/paste into a magical host that does everything you need.

:tu:

Post

Its good to know you are amusing yourself.

Funny that you can't imagine what open source code could be used for. Learning.

At this point I want to learn more about the programs that handle the code and what features they offer. Ill look into what classes are available at university that could help with understanding coding fundamentals. If I could copy and paste parts of source code into a proto daw that would be awesome. I would just have to learn the code to tweak almost finished parts into how I want it to behave. This seems like a perfectly good way to build interest into actually learning code. I already said forgive me for asking nooby questions so if you are only going to laugh at someone's learning methods or what they think would help build interest then you really need to examine your sense of humor and work on better people skills :roll:
Last edited by Touch The Universe on Thu Jul 24, 2014 9:29 am, edited 1 time in total.
High Quality Soundsets for Lush-101 | Hive | Electra 2 | Diversion | Halion | Largo | Rapid | Dune II | Thorn | and more.

TTU Youtube

Post

No.

Post Reply

Return to “DSP and Plugin Development”