Using DAW-buttons on a midi-keyboard

MusE is a DAW for Linux with both MIDI and Audio editing. https://muse-sequencer.github.io

Moderators: MattKingUSA, khz, spamatica

j_e_f_f_g
Established Member
Posts: 2032
Joined: Fri Aug 10, 2012 10:48 pm
Been thanked: 358 times

Re: Using DAW-buttons on a midi-keyboard

Post by j_e_f_f_g »

imposter,

Could you write up a little tutorial for using this Transformer function? Tim said there's no documentation for it. And it's a complicated function that I doubt most people will be able to use without some explanation.

Author of BackupBand at https://sourceforge.net/projects/backupband/files/
My fans show their support by mentioning my name in their signature.

User avatar
Impostor
Established Member
Posts: 1392
Joined: Wed Aug 17, 2022 1:55 pm
Has thanked: 148 times
Been thanked: 366 times

Re: Using DAW-buttons on a midi-keyboard

Post by Impostor »

j_e_f_f_g wrote: Mon Jul 24, 2023 11:15 pm

imposter,

Could you write up a little tutorial for using this Transformer function? Tim said there's no documentation for it. And it's a complicated function that I doubt most people will be able to use without some explanation.

I'm not comfortable with writing a tutorial about something I'm clueless about. Moreover, I fail to see how I could find out what the various options and settings actually do, with just my basic midi keyboard to fool around with.

  1. Activating modules? What modules?
  2. What about those port numbers (Muse has 200 midi ports listed in the midiports dialog, but in the transformer dialog it only goes up to 127), channels (I guess 1-16 would make sense, but that one goes up to 127 too)?
  3. What are value 1 and value 2 for event types other than CC? What are those types anyway?
  4. What are all those processing options?
  5. Why is there a "dismiss" but not a "save" button?
  6. Most important of all: what are the possible use cases for all this filtering and transforming of midi messages? Apart from trying to fix quaint behaviour of hard/software?

Yeah, I agree that it needs documentation..

j_e_f_f_g
Established Member
Posts: 2032
Joined: Fri Aug 10, 2012 10:48 pm
Been thanked: 358 times

Re: Using DAW-buttons on a midi-keyboard

Post by j_e_f_f_g »

Impostor wrote:

I'm not comfortable with writing a tutorial about something I'm clueless about. Moreover, I fail to see how I could find out what the various options and settings actually do, with just my basic midi keyboard to fool around with.

Ok, if I can get some time, I'll try and put something together. This feature is pretty much the same thing as CakeWalk's "Event FIlter" which I used all the time for years. It's an important feature.

what are the possible use cases for all this filtering and transforming of midi messages?

There's so much you can do with it. Say you have a midi file that uses volume controller for crescendos and decrescendos (slow swells and "fades" of the volume). But you want to instead use expression controller for that purpose, and use volume controller for a master volume. You could open an event list window, and go through all the events to manually change each volume to expression. Or you can do this in a fraction of a second with the Transform dialog, by setting it to change all volume controller to expression.

As another example, let's say you play a keyboard part, and your finger accidentally brushes against a key adjacent to a key you wanted to play. For example, maybe you play a C chord, and your finger accidentally brushes against the C# key next to C, causing it to sound. You make several such mistakes throughout the track. You'll notice that these bad notes typically have two properties that distinguish them from the "good notes". The bad notes are usually at a much lower velocity than the good notes. That's because your finger only brushes against the bad key, rather than directly and firmly pressing it down. Secondly, the bad notes usually have a much shorter duration than the good notes. Again, your finger typically brushes across the wrong key briefly, and then immediately releases it. You can search the event list and manually remove each bad note. Or you can set the Transform dialog to affect only notes with let's say a velocity of 10 or less, and a duration of maybe a 32nd note or less. Then you can perform a "Delete" operation on only the bad notes, without affecting the good notes.

These are just two of many examples. You can restrict any operation to only notes, only controller messages, only notes within a certain note range, only particular controller numbers, only messages on certain midi channels, only messages between a certain start and end time, etc.
And you can combine any or all of these restrictions. For example, you can set the dialog to affect only notes between C4 and C6 on midi channel 3 with a velocity greater than 100 that occur between the start and end times of 1:00:120 and 32:00:000. As you can see, this allows you to "zoom" way down into a track to apply your edits to only specific events, while not affecting others.

Now the Transform settings are in effect only while the dialog is open. So if you have it set to affect only notes between C4 and C6, and you leave the dialog open while issuing the quantize command, then only notes between c4 and c6 will be quantized. If you continue to leave the dialog open, and you do a transpose, then once again only notes between C4 and C6 are transposed. If you then close (ie, "Dismiss") the dialog, those settings no longer apply. So if you do another transpose, this time it transposes all notes. And that's why there's a Dismiss button instead of a Save button. The Dismiss means "I no longer want to apply these Transform settings to all my commands".

You see?

I'll explain it in much greater detail, with screenshots, when I write up the final tutorial.

Author of BackupBand at https://sourceforge.net/projects/backupband/files/
My fans show their support by mentioning my name in their signature.

User avatar
Impostor
Established Member
Posts: 1392
Joined: Wed Aug 17, 2022 1:55 pm
Has thanked: 148 times
Been thanked: 366 times

Re: Using DAW-buttons on a midi-keyboard

Post by Impostor »

j_e_f_f_g wrote: Tue Jul 25, 2023 1:36 pm

If you then close (ie, "Dismiss") the dialog, then those settings no longer apply. So if you do another transpose, this time it transposes all notes. And that's why there's a Dismiss button instead of a Save button. The Dismiss means "I no longer want to apply these Transform settings to all my commands".

That makes it rather useless to block the unwanted transport button release messages with then. I guess that fix should be implemented in MusE's code instead.

j_e_f_f_g
Established Member
Posts: 2032
Joined: Fri Aug 10, 2012 10:48 pm
Been thanked: 358 times

Re: Using DAW-buttons on a midi-keyboard

Post by j_e_f_f_g »

Impostor wrote:

That makes it rather useless to block the unwanted transport button release messages with then.

Actually I'm describing the way it worked in calkwalk. It could be slightly different in muse. I haven't gotten around to verifying any differences (which is why I wanted you to write the tutorial. It seemed like you had already experimented with it).

Also, Muse appears to have a separate "event filter" for recording, versus menu commands on existing tracks. Maybe the one for "input events" works as you need it to. CakeWalk had only the latter.

Author of BackupBand at https://sourceforge.net/projects/backupband/files/
My fans show their support by mentioning my name in their signature.

j_e_f_f_g
Established Member
Posts: 2032
Joined: Fri Aug 10, 2012 10:48 pm
Been thanked: 358 times

Re: Using DAW-buttons on a midi-keyboard

Post by j_e_f_f_g »

Just a followup. I've started working with Muse's Transformator dialog. Although it's fundamentally the same as cakewalk's "Event Filter" dialog, it has an entirely different way of specifying and executing an operation, In particular, my above paragraph about the settings being in effect only while the dialog is open is not how Muse does it.

So before you waste time testing it under that assumption, just know that's not the case. I've already started a tutorial, but can't say how soon it will be done because this dialog is extremely complex. Just know that, if you've ever said "I wish that Muse could do <whatever>", it probably already could via the Transformator dialog.

Author of BackupBand at https://sourceforge.net/projects/backupband/files/
My fans show their support by mentioning my name in their signature.

Tim E. Real
Established Member
Posts: 669
Joined: Sat Sep 15, 2012 12:36 am
Has thanked: 40 times
Been thanked: 110 times

Re: Using DAW-buttons on a midi-keyboard

Post by Tim E. Real »

Back to the original problem:

I looked at the code.
For some reason it was written so note-on turns on the setting while note-off turns it off.
Which is not very helpful - you would have to hold a key down for say, the record to stay on.

This should be fixed in github master now.
I removed the acceptance of note-offs.

The transport record button now toggles with each note-on received.

Another problem this fixes, which I am surprised nobody reported, is that the step-record feature of the
various editors was broken - entering double notes, one for note-on and one for note-off!
(FYI The step-record feature accepts chords. The developers did a neat job on that.)

Someone asked if these remote functions are per-port or per-channel.
Unfortunately currently no. They just blindly accept all input from all ports and channels.
For each of these remote functions, I really wanted to provide per-port and per-channel settings, and learn buttons which
would remove the tedium of experimenting with the trigger notes. I was ready to proceed.
But there are some complications requiring more time.
Specifically, I am wondering whether the step-record feature should really take its input from a track's connected routes
instead of being governed by the remote dialog.
Hmm...

Thanks for the reports!

User avatar
Impostor
Established Member
Posts: 1392
Joined: Wed Aug 17, 2022 1:55 pm
Has thanked: 148 times
Been thanked: 366 times

Re: Using DAW-buttons on a midi-keyboard

Post by Impostor »

Tim E. Real wrote: Mon Jul 31, 2023 7:46 pm

Another problem this fixes, which I am surprised nobody reported, is that the step-record feature of the
various editors was broken - entering double notes, one for note-on and one for note-off!

That was mentioned a while ago already
viewtopic.php?t=24925

and I still haven't learned to play the keys in the meantime:)

User avatar
Impostor
Established Member
Posts: 1392
Joined: Wed Aug 17, 2022 1:55 pm
Has thanked: 148 times
Been thanked: 366 times

Re: Using DAW-buttons on a midi-keyboard

Post by Impostor »

Tim E. Real wrote: Mon Jul 31, 2023 7:46 pm

This should be fixed in github master now.
I removed the acceptance of note-offs.
The transport record button now toggles with each note-on received.
Another problem this fixes, which I am surprised nobody reported, is that the step-record feature of the
various editors was broken - entering double notes, one for note-on and one for note-off!

Step record works now, but the transport button remote control only works correctly when using notes, not with cc. At least, not with the buttons on my midi keyboard (they send cc-whatever value 127 when pressed, and cc-whatever value 0 when released, and MusE responds to both. May be a hardware quirk though: I can't see why those (dedicated) buttons would need to send any message on release...

Tim E. Real
Established Member
Posts: 669
Joined: Sat Sep 15, 2012 12:36 am
Has thanked: 40 times
Been thanked: 110 times

Re: Using DAW-buttons on a midi-keyboard

Post by Tim E. Real »

If I read ya correctly, I was fooled by that too!

The 'CC' column in the remote dialog means the CC number, not its value.
Setting it to '1' for example uses the MOD wheel.

Special for record transport button: The CC value has meaning: Value 0 means record off, value 1 - 127 means record on.
All other functions ignore the CC value.

It is not possible to step-record with CCs, only notes.

Tim E. Real
Established Member
Posts: 669
Joined: Sat Sep 15, 2012 12:36 am
Has thanked: 40 times
Been thanked: 110 times

Re: Using DAW-buttons on a midi-keyboard

Post by Tim E. Real »

Oh wait, I see. Sorry.
Your CC button sends 127 then 0, eh?
Phht. Maybe I'm gonna have to make separate CC numbers for record on and off, to avoid this kind of problem...
[ Edit] Er, I mean possibly just make it toggle but only if 1-127 is received.

[ Edit ] Also the other functions may need to change to ignore 0 and only respond to 1-127.

User avatar
Impostor
Established Member
Posts: 1392
Joined: Wed Aug 17, 2022 1:55 pm
Has thanked: 148 times
Been thanked: 366 times

Re: Using DAW-buttons on a midi-keyboard

Post by Impostor »

Tim E. Real wrote: Mon Jul 31, 2023 10:11 pm

Your CC button sends 127 then 0, eh?

Exactly.

User avatar
Impostor
Established Member
Posts: 1392
Joined: Wed Aug 17, 2022 1:55 pm
Has thanked: 148 times
Been thanked: 366 times

Re: Using DAW-buttons on a midi-keyboard

Post by Impostor »

Tim E. Real wrote: Mon Jul 31, 2023 10:11 pm

Phht. Maybe I'm gonna have to make separate CC numbers for record on and off, to avoid this kind of problem...
[ Edit] Er, I mean possibly just make it toggle but only if 1-127 is received.
[ Edit ] Also the other functions may need to change to ignore 0 and only respond to 1-127.

I don't know. Maybe on other midi keyboards the record button is already set up as a toggle button (first press: value 127; second press: value 0). If you let MusE ignore value 0 then those buttons don't work correctly anymore.

Tutorius
Established Member
Posts: 47
Joined: Sat Jun 17, 2023 4:04 pm

Re: Using DAW-buttons on a midi-keyboard

Post by Tutorius »

I have got the keyboards DAW-keys to work, but its not useable.

The keyboard uses tow midi-devices, one for normal Midi-data, the other for DAW-things.
In the "normal" remote-settings, its not possible to tell what channel the remote-thing should listen for the notes or controlers.
Would be fine if there is a way to tell remote to use ony one midi-device.

Thanks for your good work...

User avatar
Impostor
Established Member
Posts: 1392
Joined: Wed Aug 17, 2022 1:55 pm
Has thanked: 148 times
Been thanked: 366 times

Re: Using DAW-buttons on a midi-keyboard

Post by Impostor »

Tutorius wrote: Fri Aug 11, 2023 10:10 pm

Would be fine if there is a way to tell remote to use ony one midi-device.

Would it matter? My keyboard also has two ports, one for notes, volume, modulation, and pitch bend, and another for the transport button data. But I merge these ports into a single midi through port before feeding it into MusE (because reasons).

The transport buttons send distinct cc messages from the other controls so whether or not they arrive via the same or via a different port from the note data shouldn't matter, as long as MusE is connected to both ports.

(In my case, all on one port, I'll also record the transport button messages on my midi track if I use them during recording, but I suppose those are easily filtered or removed.)

Post Reply