MusE Sequencer forum
How to connect a midi keyboard - Printable Version

+- MusE Sequencer forum (http://muse-sequencer.org/forum)
+-- Forum: MusE Forum (http://muse-sequencer.org/forum/forumdisplay.php?fid=5)
+--- Forum: Getting Help (http://muse-sequencer.org/forum/forumdisplay.php?fid=3)
+--- Thread: How to connect a midi keyboard (/showthread.php?tid=61)



How to connect a midi keyboard - ediehl - 12-10-2012

This is my first time trying Muse, and I find the Jack midi connections to be a bit different than other programs I've used.
I created a midi track and would like to record some midi. I look in the QjackCtl Jack tab and see Muse has 2 inputs: "a2j:Midi Through" and
"firewire_pcm". I am completely baffled. "firewire_pcm" is my midi keyboard, but why is it listed as Muse input channel? I want to connect it to some "midi_in" of Muse. I also see there is "Muse settings"->"Midi ports" which opens a panel of midi connections. I can see a coorelation with the names listed in QJackCtl but I have no clue how this relates to getting midi to track 1. .... After staring at this panel for a while I figure out there are I and O columns with green dots that I can click on and off to turn on and off for inputs and outputs. So I click off all inputs except my midi keyboard and discover I am able to make a recordings.

Ok, I guess I have answered my question. I have to say, I find Muse's naming of midi channels highly non-intuitive. Rather than use names related the tracks in Muse they are related to the names of the external midi connections. I find this totally bizzare. By the way this is Muse 2.0.1.


Re: How to connect a midi keyboard - spamatica - 12-10-2012

Hi ediehl,
Great that you found out how to connect it. The muse-way is to do all connections within MusE so please don't add or remove connections using qjackctl.
Having said that I understand your confusion with the Midi port dialog. It has been extended to allow for a lot of requirements that aren't always logical. It's been on my mind to find a simpler way to show this information but haven't figured out a solution yet...

Not sure I exactly what you mean with the naming of midi channels, in the dialog I suppose, they are connections to the outside world, should they not be named with that in mind?

Regards,
Robert


Re: How to connect a midi keyboard - ediehl - 12-12-2012

Thanks for your response. Now that I understand to only use the midi port panel to make connections in makes a bit more sense (though I have not fully understood the midi ports panel yet). With other Jack programs I am accoustumed to using either an internel routing or QJackCtl to make connections (e.g I believe Ardour, and Qtractor use Jack for internal routing, so it makes no difference how you make the connections). In the case that I am using VMPK (virtual keyboard) for input what I see in QJackCtl for the Jack Midi inputs to Muse are aj2:Midi Through and aj2:VMPK Output and so then it seems strange to me that I would be connecting the output of VMPK to an input which is labelled Muse:VMPK Output. But ok, this is not the way to make connections with Muse.


Re: How to connect a midi keyboard - ekkehardm - 02-26-2013

OK, this might already solve my problem - I'll try it later today. I was also trying to use Virtual MIDI Keyboard with MusE (before connecting something else). The strange thing was that the MIDI indicator LED correctly lit up, but data wasn't forwarded (playing on the piano roll directly w/ the mouse worked, so the output was correctly set up).

Normally, MusE ought to be capable of handling connection change events (like from QJackCtl), it would definitely be a nice feature to have (you might have a look at the source code of other applications to see how this works).

I'm a developer too -- if I find time, I might have a look at the source code and might be able to give you some input on how to improve MusE! <!-- sSmile --><img src="{SMILIES_PATH}/icon_e_smile.gif" alt="Smile" title="Smile" /><!-- sSmile -->

BTW, connecting an external keyboard (virtual or real) would not be necessary if MusE had a built-in virtual keyboard (like ZynAddSubFX or Yoshimi does). The Virtual MIDI Keyboard btw is a very simple Tcl/Tk script you might want to have a look at it, or perhaps you could even integrate it into MusE somehow (the Tcl interpreter is embeddable).

Ugh, I miss the olden days of Aegis Sonix and OctaMED on the Amiga.


Re: How to connect a midi keyboard - term356 - 02-26-2013

spamatica Wrote:The muse-way is to do all connections within MusE so please don't add or remove connections using qjackctl.
ekkehardm Wrote:Normally, MusE ought to be capable of handling connection change events (like from QJackCtl),

Ehm, MusE handles all such graph connection changes, from using QJackCtl or anything else, to change connections.
If it didn't, it would sure be one busted mess of an app!
Go ahead and use QJackCtl or whatever you want.
Just, it can usually be more convenient to handle all of this through MusE.

All connections/disconnections made in MusE or QJackCtl or anything else, automatically reflect in all relevant clients.

Are you making a connection in QJackCtl and it doesn't reflect in MusE? Then it's a BUG. Tell us more and we'll fix it.

Thanks.
Tim.


Re: How to connect a midi keyboard - term356 - 02-26-2013

Also, please tell us what Jack version you are using - Jack 1 or Jack 2.

If you are confused by the terminology of what ports are labelled as 'Capture' and what are
labelled as 'Playback', this is a difference between Jack 1 and Jack 2, the terminology was
reversed in Jack 2. This is not a fault of the app.

Several years ago, with Jack 1, under certain conditions QJackCtl was not behaving well with MusE.
I had assumed this would be fixed at some point in either Jack 1 or QJackCtl. Maybe it hasn't?
Because everything works fine with Jack 2. We've had no complaints about Jack 1 so probably
it's a non-issue these days.
When I investigated the problem, MusE's graph callbacks were NOT the problem AFAICT.

Thanks.
Tim.


Re: How to connect a midi keyboard - ekkehardm - 02-27-2013

So I figured out how to use Muse 2.1.1 with a virtual keyboard, here's the workflow:
  • First close everything, if you haven't already done so.
  • Start JACK. (In QJackCtl, press the Start button -- if it doesn't work, change the settings until it does)
  • Start your virtual keyboard (for me, only the JACK virtual keyboard worked). MusE will automatically connect to it when started.
  • Start MusE (from the command line to see error messages). The RTC clock needs to be accessible and configured properly. Cf. this article to see how.
  • As in the dated tutorial video, create a synthesizer track (I used FluidSynth).
  • Create a MIDI track. Change the "port" setting in the table to "FluidSynth" (it defaults to the keyboard, which is a bug, b/c that one cannot output anything).
  • Use the pencil tool to create a range of MIDI buffer inside the track.
  • Use the arrow tool to double click on it, which opens the MIDI editor.
  • In the MIDI editor, choose an instrument. You can verify that the output is working by hitting the keyboard on the piano roll.
  • Make sure the "midi in" icon is clicked. When hitting notes on the keyboard, the tiny LED indicator should flash.
  • You won't hear anything played on the virtual keyboard until the record button is activated. If you click on it the first time, you will be asked to enter a file name. Afterwards, you'll be able to use the record button normally.

I think that's pretty much convoluted for just hearing some notes played on the virtual keyboard, but it does work, if you're patient enough ...

I think that MusE could be improved vastly by simplifying configuration tasks ... especially the MIDI settings dialog is so complicated that I won't touch it until I have a detailed description how it works exactly and what exactly what thing does.


Re: How to connect a midi keyboard - spamatica - 02-27-2013

Hi ekkehardm,

Great that you got it going and as you mention we could sure use some simplification, especially the midi settings dialog which has way too many options.

Still let me comment on a few things below that should not be needed.

ekkehardm Wrote:So I figured out how to use Muse 2.1.1 with a virtual keyboard, here's the workflow:
  • First close everything, if you haven't already done so.
  • Start JACK. (In QJackCtl, press the Start button -- if it doesn't work, change the settings until it does)
  • Start your virtual keyboard (for me, only the JACK virtual keyboard worked). MusE will automatically connect to it when started.
  • Start MusE (from the command line to see error messages). The RTC clock needs to be accessible and configured properly. Cf. this article to see how.
Getting RTC working is not entirely needed, MusE will fall back on AlsaTimer which suffices unless there is a warning displayed in the gui.
ekkehardm Wrote:
  • As in the dated tutorial video, create a synthesizer track (I used FluidSynth).
  • Create a MIDI track. Change the "port" setting in the table to "FluidSynth" (it defaults to the keyboard, which is a bug, b/c that one cannot output anything).
  • Use the pencil tool to create a range of MIDI buffer inside the track.
  • Use the arrow tool to double click on it, which opens the MIDI editor.
  • In the MIDI editor, choose an instrument. You can verify that the output is working by hitting the keyboard on the piano roll.
  • Make sure the "midi in" icon is clicked. When hitting notes on the keyboard, the tiny LED indicator should flash.
I see what you mean, creating a part and using the midi-in in the midi editor. This should not be necessary though.

ekkehardm Wrote:
  • You won't hear anything played on the virtual keyboard until the record button is activated. If you click on it the first time, you will be asked to enter a file name. Afterwards, you'll be able to use the record button normally.
This, however, is needed.
Once the record button for the track is clicked you should get input to the track, regardless if there are parts drawn on the track.
ekkehardm Wrote:I think that's pretty much convoluted for just hearing some notes played on the virtual keyboard, but it does work, if you're patient enough ...

I think that MusE could be improved vastly by simplifying configuration tasks ... especially the MIDI settings dialog is so complicated that I won't touch it until I have a detailed description how it works exactly and what exactly what thing does.

Indeed. Will try to prioritize making some new videos.
Thanks for giving feedback!
/Robert


Re: How to connect a midi keyboard - term356 - 02-28-2013

ekkehardm Wrote:First close everything, if you haven't already done so.
Why? I wouldn't call this a required step to run MusE.

ekkehardm Wrote:Start JACK. (In QJackCtl, press the Start button -- if it doesn't work, change the settings until it does)
Not required. MusE automatically starts Jack, unless you tell it not to.

ekkehardm Wrote:As in the dated tutorial video, create a synthesizer track (I used FluidSynth).
Create a MIDI track. Change the "port" setting in the table to "FluidSynth" (it defaults to the keyboard, which is a bug, b/c that one cannot output anything).
Use the pencil tool to create a range of MIDI buffer inside the track.
Or click New. Choose from the pre-defined templates, in this case "synti.med"
Tracks, example synth, part, and connections are created ready to go.
Well, except the input routing connection LEDs are not turned on by default with templates. I'll take a look...

About the port setting "bug":
What should happen when a new midi track is created, and a synth track exists but also real midi devices exist?
Should the midi track automatically choose the synth or a real physical device to output to?
An equal number of people might say the real physical device, and be annoyed if we chose the synth.
So, this default choice itself can be changed in the 'dreaded' Midi Port Settings dialog.
You want the 'Default out channel' column. There are tooltips there if you hover the mouse.

About MusE choosing the VMPK as output device:
When MusE does want to automatically select a real midi device, by default it chooses the first output device
that it finds in the list of devices reported to it from either Jack or ALSA. That list is in Midi Port Settings.
Again, you can change the default choice.
So VMPK seems to be your only listed midi device. Otherwise real devices are listed first.
MusE cannot discern what kind of device it is, only that it is an output device capable of accepting midi in,
which VMPK does.

Depending on what devices you have and how you run Jack, you can also tell MusE to list ALSA devices
using our native ALSA driver. Try the -A switch to force ALSA devices to be listed as well as Jack devices
if Jack is running.

ekkehardm Wrote:Make sure the "midi in" icon is clicked. When hitting notes on the keyboard, the tiny LED indicator should flash.
It's just an icon. No need to click it.

ekkehardm Wrote:You won't hear anything played on the virtual keyboard until the record button is activated. If you click on it the first time,
you will be asked to enter a file name.
That's the main record button. Not required. Just record-arm the track to hear notes (the record-arm column in the track list).

Once you get to know MusE you'll find it's not that hard. Can it be improved? Of course.
We now have some real documentation, which explains some of this stuff, in the SVN trunk to be released very soon.
I hope you'll find it helps. You've been introduced by trial-by-fire, and we're here to help, but at least now other new users will
have some documentation to start with.

Thanks.
Tim.