Just seriously took a look at the Real Time Composition Library

estevancarlos's icon

And now I feel like it took the fun out of everything for me. I was slowly trying to figure out many of the things it already has developed. Hm. Now I have to think of something else.

Thinksamuel's icon

Have a look at bachproject.net It is an amazing toolbox for composition, a kind of OpenMusic. However, you can use it in realtime as well.

Roman Thilenius's icon

i disagree. you should go on build your own "version" of the same thing. it is almost impossible to use someone elses composing system. never really understood his files anyway. :P

Thinksamuel's icon

I disagree with you Roman: I think Essl's library can function as a starting point. Completely discarding it would be a waste of time: One can look into the patches and take the good bits. Essl's library is also not a composition system, just a set of objects.

Anthony Palomba's icon

I agree with Roman, your composition process is something that you have to discover on your own. The best way to do that is to build what feels right for you. You can never do that if you are learning some other system. Now that's not to say that studying another system might not give you some insight on developing your own.

I think the ultimate goal is to enhance your creative process of making music, not replace it. If you are spending your time and energy trying to get someone else's system to work, or trying to represent your ideas in some metaform that does not feel right, then you are wasting mental energy.

I think in the end, building your own allows you to create exactly what you need. This in turn keeps the creative flow as simple and unencumbered as possible. Allowing your mind to stay in the abstract, which is where the language of music is created.

richhop's icon

Interesting, I think sometimes using other peoples patches without changing them is cheating (your own intellectual development maybe), it's like opening Logic and pulling up a preset and using it straight out of the box. I'm not sure why you would want to use someone else's interpretation (unless it fitted your musical purposes perfectly) as i find max a way to free yourself from the normal constraints/limitations of someone else's logic.

I've gone down the route of trying to build a small composition library for myself, not as complex as essl's as it doesn't need to be for my needs, I've tried to automate a lot of the processes I would usually do in a DAW, like triggering chords and playing scales. I've learned from a book that comes with pretty much all the devices pre built and ready to use, but instead of using them straight out of the box I've gone down the route of going through all the exercises and trying to understand what is happening inside to give the results so I can replicate them myself.

If you were imagining a set of composition tools that are exactly like Essl's then I reckon you should take inspiration, note flaws, adapt and create something better with more or less features using your own logic. You'll learn a heck of a lot and feel a million times better when using your own creation compared to using someone else's imo.

Everything's been done before, but no one's done it the way you would yet!

If you want inspiration of where to go instead of down this path I had a few ideas about making a perceptron that you could guide to certain chords or combinations of rhythms. Could be an interesting avenue to explore, or using neural nets to analyse real time musical input, store as bias towards certain pitch/duration/velocity values and respond to certain stimulus. Imitating someone's musical preference by machine learning in real time seems far more interesting to me than trying to imitate a set of abstractions that have been done before.

You could even explore meta tagging interesting combinations, like tagging certain results with the words moody, jazzy, happy, sad etc, then make a program that allows you to type in real world descriptive emotional words and automatically composes to that feel (This also allows you to empirically analyse other peoples subjective preferences from an objective point of view). Not to mention the usual conditioning of NN's, rewarding it for good behaviour, punishing it for bad behaviour so it doesn't crop up again. I think that's a much more relevant avenue to explore in this day and age personally. (I only mention this as you said you're a C++ head in another thread, so i thought you'd understand this mentalness!)

Thinksamuel's icon

But have you used Essl's library plain and square? You cannot make music with it: you always have to include it in some bigger whole. At the moment I am building a sonification toolbox but that only helps for the part of getting the data and doing mapping: the sound is generated using vst. And there you can choose out of many instruments/effects so that even f you use exactly the same data and the same mapping you would end up with different sounding results.

estevancarlos's icon

I would definitely expect the Max community to be very preoccupied with DIY and creating things at the granular level but let's admit that anyone developing work in Max is creating indepedent material at a pretty small level (outside of straight C++), whether using RTC or not

"Interesting, I think sometimes using other peoples patches without changing them is cheating (your own intellectual development maybe)"

Yeah, I understand.

"I agree with Roman, your composition process is something that you have to discover on your own. The best way to do that is to build what feels right for you."

Yeah, I would agree.

"I think Essl’s library can function as a starting point. Completely discarding it would be a waste of time: One can look into the patches and take the good bits."

I agree with this too. Basically, what I mean in regards to the RTC library is that upon investigation, it contains an object that I just spent time developing on my own (as a patch) and it contains other objects I was planning on developing too. In other words I was on the same page and now I realize there probably isn't any reason for me to reinvent the wheel - yet. I'm going to have to brainstorm new ideas. I'm a little disappointed but it would probably be better for me to develop new ideas built upon the RTC library.

Anthony Palomba's icon

While you are looking at Essl's RTCLib, I would also recommend you look at these...

Modal Object Library
http://www.vjmanzo.com/clients/vincemanzo/modal_change/
Great library for manipulating chords, scales, modes. I find it very useful in mapping data to
harmonic spaces.

Bach Automated Composer Helper
http://www.bachproject.net/
Nice library of higher level composition abstractions

estevancarlos's icon

Yeah, I've seen those and I still need to sit down and go through them. I definitely will, eventually.