Questions About Random Midi Arranger

Talk about all things "KVR Developer Challenge" related.
RELATED
PRODUCTS

Post

Those are all great ideas. I especially like showing the song parts on the main sequencer. Maybe I can put some colors or letters on the background image.

To hopefully answer your question in #4, the Manipulators for each part are randomly chosen from the preset file, based on score, and then applied to any clips (if any) that were also selected for that part. The render engine will sometimes pick more than one Manipulator for a part, in which case, they are just randomly selected, and in some cases, it will even use more than one simultaneously.

I am planning on adding new 'render engine' options that allow more control, perhaps including the chord/scale function. The original plan was to have multiple 'devices' that could render each track, where each one had a personality and used different techniques to build a track.

I also decided that the program needs a 'find duplicate clips' function that will search the sequencer and the preset file for matching clips. This will be useful for determining whether a clip already exists in the preset file before adding a new one.

Developing artwork for the new built-in analogue step-sequencer is also in the very early stages.

For anyone interested in contributing preset clips, my e-mail is on my gradywerks page. Just make sure they are original, so we don't get sued. All contributers will get credit in the software. Thanks,
Greg

Post

gradywerks wrote:
I also decided that the program needs a 'find duplicate clips' function that will search the sequencer and the preset file for matching clips. This will be useful for determining whether a clip already exists in the preset file before adding a new one.
I have been using the main sequencer to visually see if the midi clip I just imported is a duplicate of the previous one but that 'find duplicate clips' function would be better and be more accurate.

And wowee I was thinking that with that functionality it could be used to find duplicates of any midi files. Just load all of them in RMA and search away. Is there a limit on how many files can be loaded in a RMA track? I know RMA wants midi files that have 64-steps or 4 bars for import. And at the moment, as you or maybe the manual indicated, RMA can't load multiple midi files.

The duplicate finder programs that I have now doesn't really look at the content in terms of "same notes, same rhythm, same velocity, etc" but just the size of the file.

Anyways, I am pretty happy with your program even just the way it is but will be glad to make suggestions and help in other ways long after the DC16 is over. It's going to be one if not the main tool that I will be using for a long time. I just have to read the entire manual and to just really really understand it.
ah böwakawa poussé poussé

Post

gradywerks wrote:I worked on an update today which will be available after the contest.

Done:
'Transpose track' menu options
Append vs. overwrite drag-n-drop option
Ability to drag multiple midi files and '.clp' sequencer clips simultaneously

To do:
Analogue step sequencer with skinable background image. This will take a while.
Much expanded preset file.
Chord / scale options.

Misc development facts:
21,363 lines of C++ code!!!
Name has changed multiple times. Some images in manual were from 'Midi Music Machine' era. Manipulators were first called 'Rule Sets'. Internal code uses old names.
Original sequencer had 9 tracks. Resulting audio was much too dense/random. Code still supports 9 tracks but GUI now limits it to 5.
Program can read '.mid' midi, '.rma' song files, '.rbs' rebirth files, '.pno' clip files, '.man' manipulator files, MPG64-R and MPG64-A files. Exports to .mid, .rma, .pno, .man, MPG64-R, and MPG64-A.
Rebirth importing was done solely by reverse engineering .RBS files. Much trial and error involved.
95% of code was written in a hotel while traveling for my job (I am in one now).
The program, in my mind, is about 10% done. Look for updates in the future!
Yeeehaaaa! Those updates are going to be timesavers. But what happened to the midi clips duplicate finder?

Okay so my second question is: since RMA is starting to behave like a DAW, why not go further?
What I mean is that RMA already allows drag and drop import of midi clips so why not have it allow drag and drop import of complete multi-track midi files?

RMA could then examine the midi file data for channel numbers and deposit the midi tracks to the proper track slots in the RMA.
Notes having channel 10 goes to track 5. Notes having midi program change 34 goes to track 1. Et cetera.
And if the midi song file that is to be imported has more than 5 tracks then it could just ignore those extra tracks.
And then RMA could split all the imported tracks into 4-bar chunks or 64-steps.

And users can save the whole thing as a preset. So in effect, users can take midi songs they have already made and RMA can then do its thing and new song structures and different manipulators can be applied.

Good luck with the contest. :)
ah böwakawa poussé poussé

Post

harryupbabble wrote: Yeeehaaaa! Those updates are going to be timesavers. But what happened to the midi clips duplicate finder?

Okay so my second question is: since RMA is starting to behave like a DAW, why not go further?
What I mean is that RMA already allows drag and drop import of midi clips so why not have it allow drag and drop import of complete multi-track midi files?
I forgot to mention the 'duplicate finder' is already done and functional. It can search the sequencer and the preset file, and displays a list of matching clips. I'll post a beta link here after the contest.

You're right about the midi song import. That needs to be done. The analogue step sequencer will be first though, as I have some momentum going with that. Thanks for the input!

Greg

Post

Just a minor update at the moment, nothing earth shattering:

www.gradywerks.com/beta.zip

Adds the few things mentioned above and cleaned up the code for future stuff. Not thoroughly tested.
So now that the contest is over, where is the best place to discuss a program like this? Keep it here, make a company forum, move to my facebook page? Let me know your thoughts.

Post

Think this is a good place, please not on facebook, I have no account (yes, the dinos still exist :lol: ).

Post

gradywerks wrote: So now that the contest is over, where is the best place to discuss a program like this? Keep it here, make a company forum, move to my facebook page? Let me know your thoughts.
I would do all of the above. Keep them all if you already have them. But I will also try to expose RMA in forums that focuses on songwriting, all over the internet. And maybe drum sequencing forums too. RMA is multi-functional. It's almost a DAW.

Thanks very much for the updates. Just briefly checked the duplicate clips finder and was super-impressed. As far as I know, there is nothing like it anywhere else. It would be great as a separate software from RMA where midi files of all lengths could be scanned and duplicates be deleted.

Greg, I think your software is underrated. I am sure a lot of people from other places in the great wide internet would be more interested in RMA. People like me. But even here, there seems to be interest because RMA did pretty okay in the DC16. Middle place is not bad.

I would say and do say, congrats. And again, a big thanks.
ah böwakawa poussé poussé

Post

now that the dc is over, i can talk about the topic without being considered overbearing ... this year was "interesting" to me as there were several entries in fields in which i hold the only vst precedent ... of course they're all generalised, obvious fields and derivation is not implied.. it's nice to see people recognise these regions as viable, and get to them. it's also nice to see someone with an objective more attuned to fulfilling harry's interests..

anyway - my entry two years ago, blewm, (placed at #22, in front of my entry this year! fyi..) was a procedural generator with a weak timbral implementation (gave myself 8 weeks to do the lot). there are some threads where i discuss the method for "chords" et c. which i'll briefly recount here, might be stimulating -

meter/rhythms are based on concatenation, the ancient consideration of treating rhythms as phrases of eg. 2, 3, 4 counts. so eg. 8 counts could be a pattern of eg. 3+3+2 and so forth...

i only used simple triads, and my method was to select only in-chord notes on the emphasised beats. other notes could eg. walk in between and such. mentioning it because it's a very simple method that has good results, sounds coherent, has room for interest (and for me, that's the next step.. to use "interest" variables that make windows for different elements to do more interesting/divergent things so everything doesn't all go haywire at once).

hope this is easy to read, cat did some typing.

not interested in working on a generative project with others, as i've long encouraged popular entry in this field.. i think, instead of vst, or albums, developers could release engines that have their own particular style, and such variety would reduce the need for the engine to "do everything". but to date, most of the standalones are not very sophisticated... i posted a month or so back in the "site stuff" forum petitioning for a popular DC-alike fete for self-contained musical automations.. food for thought.
you come and go, you come and go. amitabha neither a follower nor a leader be tagore "where roads are made i lose my way" where there is certainty, consideration is absent.

Post

xoxos wrote:it's also nice to see someone with an objective more attuned to fulfilling harry's interests..

anyway - my entry two years ago, blewm,
I am guessing that, foremost, Greg is fulfilling his interests. For all I know, it's possible that he was already thinking about creating software that uses randomization long before the DC16 started. Or maybe even before DC14? I presume a few developers dabbled with that. Maybe more than a few. A lot of your own plugins uses randomization right? Not just Blewm.

The antiknot, a DC16 entry, has a nice randomizer. I presume, a lot of developers slash music-makers are into using randomizers to make their music. Maybe some music-makers just don't like to admit that their music-making got assisted that way. But the DC16 voting results seem to indicate that even here, there is interest in that method of making music since RMA managed to place near the middle of the DC16 voting results.

I am guessing there was/is interest in Blewm but to this day has anyone figured out how to use it? I tried. I had thoughts like "But how do I edit the generated output?" and "I sure wish I could incorporate Blewm into my music-making." but I am not smart enough to know how to route the Blewm's midi output into my DAW. Maybe it's not even possible to do that? Or if it is possible, only developers know? I vaguely remember a few people inquiring about it during the DC14 and really wanting it to be usable but I got the impression that no one really knew how to creatively use it in the end.

Aarrghh, I'm getting sleepy. Time to prepare hot tea. Laters then.
ah böwakawa poussé poussé

Post

harryupbabble wrote:I presume a few developers dabbled with that. Maybe more than a few.
perhaps you'll note that i went out of my way to type an entire first paragraph indicating that
they're all generalised, obvious fields and derivation is not implied..
surely i am an egotistical monster for considering the developer might have found it helpful. i'll never try to stimulate development again ever.

dear bloody god.
you come and go, you come and go. amitabha neither a follower nor a leader be tagore "where roads are made i lose my way" where there is certainty, consideration is absent.

Post

Okay some communication breakdown happened there. Not intentional though. I guess sometimes I find your English too advanced even when you have maybe dumbed it down. Heck, I find basic English challenging. Anyways, I have no wish to offend anyone. Like Switzerland.
ah böwakawa poussé poussé

Post

Hello and happy holidays.

I've been spending most of the holidays getting to know RMA and I'm loving it even more. Also the two external programs are great too.

Just a bug to report:

When creating a preset, If the song length, also known as "preset length" is, let's say, 30 bars long, then dragging and dropping 31 clips or greater onto the RMA gui will cause it to crash.

To keep RMA from crashing, one has to use the "Insert 10 Bars" function. But if the total clips to be imported is, let's say, over a thousand clips then the "Insert 10 Bars" function can get very tedious.

Would it be possible, when creating a preset, for the user to be able to specify the length of the preset. I might set mine to 5,000. Or better yet: infinite?
ah böwakawa poussé poussé

Post

Thanks for the feedback and ideas. I'll leave this thread as the official place for feedback and updates. The post from xoxos inspired me to start work on two new Manipulator rules: Melodic Interval and Harmonic Interval. They both replace notes by reading certain steps (like a S/H) and then creating harmonies with interval spread selected from an internal list. The first one is monophonic and the second one makes polyphonic chords. I have a few days in Ecuador coming up where I should be able to get stuff done (between family and addiction to flying FPV drones, I never get anything done at home).
Thanks Harry for finding that bug. It might have been introduced in the new code. I didn't really test it much. I'll fix it. And yeah, I need an option to add a variable length to the song. I am also pretty sure there was an upper limit of 99,999 or something like that due to the LCD display size and some laziness regarding memory allocation.
Happy Holidays!

Post

A new beta update is available (v1.0b):

www.gradywerks.com/beta.zip

Improvements:
Bug fix related to importing multiple clips (thanks harryupbabble)
New Manipulator rules that make chords, as mentioned above (inspired by xoxos).
New clips contributed by Bojan Boyss (http://www.sampleism.com/boyss-sound-e-scapes)

Send me any original midi clips/patterns and I will put them in the preset file in future updates!

Post

Hi Greg. I can confirm that that bug that caused RMA to crash when loading too many midi clips... is fixed. Thanks very much for the update.

Okay, so, I have a few more suggestions:

1) It would be nice if loading more than one preset at once is doable... just like loading (dragging and dropping) many midi clips at once is doable. This would also be good in keeping track who made the presets (because as it is now, it's getting hard to tell which midi clips was made by Bojan Boyss). If presets would have their own name, like "Bojan Boyss Preset.rma", it would be good for clarity's sake.

2) Since the midi clips progresses horizontally rather than vertically (like trackers), it would be nice to have a Previous Page button and a Next Page button (maybe reassigning the existing Page Up and Page Down keys might do). Also, a Last Page (or End key) button would be nice (jumping to the last page would be a good way to tell how long the song is). The Stop button already acts like a First Page button (or Home key). Another maybe faster and maybe better way to navigate is to be able to enter numbers in the Position thingy rather than just clicking the two little arrows.

4) Click any clip and have that clip's column play in a loop. Even better is to click a clip and be able to play that clip's column along with the previous and/or next clip's column in a loop (for auditioning how well they fit with each other, or transition). Or even best is to ignore that click-method I suggested and just go with how most DAWs handles playing of loops, like this method: Image

5) Lock any clip, meaning that locked clips will remain in place, unchanged, even when the Auto Randomize Song button is pressed.

6) This may be a ridiculous request/suggestion that asks for much too much but how about an external program, similar to the other two existing ones, that is geared towards creating midi clips that follows the rules of harmony. Let's say I already have a chord progression in mind like Am Bb F G... whatever generated melodies/riffs should be forced to conform to that chord progression. I am not sure if the new two Manipulators (inspired by xoxos) are already doing that (I haven't checked it out yet, but will).
ah böwakawa poussé poussé

Post Reply

Return to “KVR Developer Challenge 2023”