Questions About Random Midi Arranger

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

Post

How do I change instruments so that track 1 is midi program 33 (Electric Bass) instead of midi program 00 (Grand Piano)? And how do I change track 2 to midi program 25 (Acoustic Guitar)?

I am using CoolSoft VirtualMIDISynth for sound output. I do hear drums on the 5th track, but the first 4 tracks are all Grand Pianos.
ah böwakawa poussé poussé

Post

I have not found the answer to my questions above via the user's guide nor the internet. Methinks it's not possible with CoolSoft VirtualMIDISynth.

But I did manage to have it working by way of the "virtual midi cable" method, using Midi Yoke. As far as I know, none of the free DAWs can handle 5 simultaneous Midi Yoke inputs though, except Reaper 0.99.
ah böwakawa poussé poussé

Post

Glad you sorta found a workaround. The RMA sequencer is pretty basic and can't send program changes. It was something I wanted to add, but didn't have the time. Perhaps in a future release? If anyone has other questions or ideas, let me know! Thanks,
Greg

Post

Any good links for additional patterns working in Random midi arranger ? Most of the stuff I found is for the old rebirth and mostly dead now.

Post

It does seem that Rebirth RBS files are hard to find these days. Maybe someone else has a good link. If you message me on facebook (gradywerks) I will send you a link to some archives that I downloaded many years ago. I will wait until after the contest is over though, as the files were created by other people, and should not be considered part of my entry. Along those lines, I had a great deal of success using the Rebirth files. Presets containing Rebirth clips generally produced much better results than my little preset file did. However, as mentioned, since those clips were created by others, I excluded them from the project. What I would like to see is a community/collaboration type thing where people can contribute their own 'royalty free' presets to the project. Message me on facebook if interested!

Post

This Random Midi Arranger is so interesting and so much fun. I tried creating and inputting my own clips into it but yours (the preset file that contains the clips, that came with the program) are much much better. I guess, for the user of the program, making clips is going to be the artistic part, the hard part. May I ask how long did it take you to compose those clips? It's probably going to take me forever to build up my own midi clips.

I have a few more questions please. The maximum length of the clips seem to be 4 bars. Is the minimum length 1 bar? Or is 4 bars also the minimum?
Also, when the program is choosing the clips how does it choose them? Does it choose them column by column? I mean if, for example,
"bass clip #35" is chosen for track 1 bar 1 does that mean that
"lead clip #35" will be chosen for track 2 bar 1 and
"pad clip #35" will be chosen for track 3 bar 1 and
"arpeggio clip #35" will be chosen for track 4 bar 1?

I mean if track 1 (bass) is, for example, using the Am chord then wouldn't track 2 (lead) has to also be using the Am chord? I mean wouldn't the whole column of 4 tracks has to be using the same chord?
Or are the clips really are chosen totally random (as the word random in Random Midi Arranger)?

Anyways, great, great program. I just love it. Thanks very much for creating it. Oh man I'm so sleepy. Fiddlin' all night with it. Good night then.
ah böwakawa poussé poussé

Post

I am glad you like the program. As for clip development, I mostly just added notes to the sequencer while looping just 16 steps or so, and then copied those 16 steps to fill in steps 1-64. All clips are 64 steps, but you can loop just 1-16 (length =.25), which I use frequently.
It does take a while to build up clips, which is why there aren't many in the preset. I think it would be nice to get a community going where people contribute a few clips and/or Manipulators here and there and then we copy those into a new 'KVR collaboration' preset. Clips can be named and color coded to identify contributors as well. Even if people sent me original midi files, I would do the importing tasks.
As for choosing the clips, it is totally random! The program does prefer to pick clips with higher scores. There are also some exceptions, like 'start' clips, which are only used as the first clip in a part (example: an intro that fades in). You can give a clip or a Manipulator a different score by right-clicking on it. Normally, a song part for a given track will either be empty or contain a single clip that gets repeated, but there are occasions where it will use 2 or more clips that alternate within a part. Same goes for Manipulators that modify the clips. The 'render engine' page gives the user some control over that behavior.
One way to force chords/scales would be to make a unique preset file for each type that you desire. At the moment, that is probably the best way. You could also make a preset where specific tracks contain specific scales, and then you can specify which tracks will draw from those.
A scale/chord function for specific song parts or bars might be needed in the future, as I have had a similar request from someone else.
Take care,
Greg

Post

As you probably already know I use the "virtual midi cable" method for sound output. In Reaper 0.99 I cannot adjust the octave of the midi notes that is coming from the Random Midi Arranger program. I suppose this is the case no matter what DAW is used. I was wondering if there is a way to adjust midi note octave from within the RMA, before Reaper 0.99 or Podium Free receives them? This seem to only happen to the bass track but it would be nice if all the tracks could be transposed one octave down/up, or more, if required, from within the RMA.

As it is, bass midi clips that I made in other DAWs (like Reaper and Podium Free) ends up being an octave lower when I drag and drop them onto the RMA. I suppose I could just save two bass midi clip versions from the DAW, one transposed and another untransposed. One bass midi file for DAW use and another for RMA use... but it seems extra work and extra drive space.

As a request and as suggestion, please, is it possible for RMA to have that feature after the DC16 contest is over? Or is it allowed by the DC16 rules to add that now?
ah böwakawa poussé poussé

Post

Very cool program ;) A first it went under my radar, but seeing this topic popping out due to harryupbabble's posts, I decided to download it, and what do you know, this things is cooler and more usable than the manual leads you to believer ;) It doesn't take that long to come up with a good song starting point. It would be nice to have a scale & chords locking option - that would prolly also make the generated midi tracks less totally random and a bit more musical. And maybe (streching it, I know) a way to generate parts based on music genre style...

Anyway, very cool stuff, thanks! ;)
TELURICA - "Made In ___ [INSERT LOCATION]" - EP.
Available now on Soundcloud: https://soundcloud.com/telurica/sets/ma ... t-location

Post

Was looking for a midi randomizer, and wow, this one's really slick.
Spent a little time, didn't want to get too lost in it.
Wanted to try before voting, so you got my top vote.

Post

Thanks for the nice feedback and ideas! A scale/chord feature will definitely be added to a future version. I just have to figure out how to implement that. The 'transpose track' function is already done. Expect an update with that as soon as the contest is over. Here's the C++ code:

void transpose_track(int amount)
{
r=cliphead[focus_track]; //start at the first clip in focus track
while(r!=NULL){ //loop through each clip
for(i=1;i<65;i++){ //loop through each step 1-64
w=r->firstnote; //start with the lowest note on step 'i'
while(w!=NULL){ //if there are notes...
w->pitch+=amount; //transpose the note data by 'amount', which can also be negative
if(w->pitch>127)w->pitch=127; //max pitch
if(w->pitch<0)w->pitch=0; //min pitch
w=w->nextnote; //the next higher note at step=i (if any)
}
}
r=r->nextclip; //advance to the next clip
}
saveprompt(); //show that changes need to be saved
updatepiano(); //redraw the entire piano-roll with all notes from focus clip
}

Post

That's great. It's going to be a time-saver and disc-space-saver. But if I understand the code above correctly... by "amount" does this mean the user gets to input any value or will the program do it all automatically? That it will know whenever the bass track is too low and adjust it to the right octave? I myself would prefer the user input method. That way, it might be interesting to not stay in key sometimes, if the user want to be adventurous.

I have another question but I don't quite know how to put it into words. I might have to make a video. It's something to do with the program crashing whenever I load a new song. Sometimes it crashes but sometimes it loads fine when I do a sequence or ritual of loading a song. Be back later, maybe, with a temporary link to a video capture of the crashing.
ah böwakawa poussé poussé

Post

I couldn't reproduce the crashes that I had the other night but hey I just discovered the existence of the two external programs that randomizes the midi clips of the 4 tracks and the drum track. I had them all along (older versions) and also I had already downloaded the newer versions the same day that I downloaded the RMA program but I was not sure exactly what their functions are at that time. And so I replaced the older ones. I tend to download and install programs and not use them and forget about them. But I will be using those two external programs a lot from now on knowing what their functions are and how crucial they are to the RMA program.

Also, it just occurred to me that I don't even really need a DAW to create midi clips, I can do it all from those two external programs. I can save the clips to midi files from there and if required I can import those midi files into a DAW and edit them from there. It just keeps getting better and better as I learn more about it. Happy happy, joy joy. Will fiddle around with it some more and report back if I find bugs, etc. But I am thinking that the way the program is now... there really isn't more that I can think of to improve it. But I guess the transpose function is still necessary if a DAW is going to be used to edit the clips. But since you already have that transpose feature completed and will be available after the contest is over then to me, it's quite functional as it is but of course maybe other people can suggest further improvements.
ah böwakawa poussé poussé

Post

That is unfortunate about the crashes. I'll get it fixed. As for the transpose amount, I made menu options for +/-1 note and +/-1 oct. The note editor in the KVR entry has something similar, but it only works on the current clip instead of an entire track.
Those 'MPG64' things were originally written circa 1999ish. My master plan is to integrate a better looking analogue step sequencer and drum grid into the program at some point. Much work to do, but I am motivated by feedback.

Post

Although, in my opinion, RMA is quite functional as it is, I guess a few more suggestions could make it more user friendly.

1) In the clips area of the main window it would be nice to have indication of Parts, just like in the Manual Randomization options window. That way, the user knows if they are editing clips that belong to Part B or Part D, etc.

2) It would be nice to export midi clips directly from the clips window. Drag and drop export would be best but regular export should be included too.

3) Let me fix your tutorial video's volume level. It's easy with the GoldWave demo software.

4) More tutorial videos. At the moment I am slightly confused about Manipulators. Is one particular Manipulator linked to one particular clip or do Manipulators get randomized separately and could end up paired with any clip? I realise that this question could be a dumb one.

5) It would be nice if clips could be as short as one bar or 4 beats if in 4/4 meter.
ah böwakawa poussé poussé

Post Reply

Return to “KVR Developer Challenge 2023”