Re: [linux-audio-user] Newbie Linux user Struggling with MIDI

From: Paul Davis <paul@email-addr-hidden>
Date: Sat Jul 30 2005 - 06:26:09 EEST

On Fri, 2005-07-29 at 21:47 -0500, PhilJackson wrote:
> >>Thanks for confirming that. How doI make it route the MIDI
> >>through the soundcard to the soundcanvas (and then back
> >>into the card to be played as audio)?
> >
> Ok thanks. I fired up qjackctl and haven't the foggiest idea what to
> do with it. Sorry -Windows user and quite unfamiliar. I don't know
> Jack about Jack. The task at hand is probably quite simple for the old
> hands but I haven't a clue.

not suprising that you'd find it confusing. it is confusing.

1) sending MIDI to a h/w synth on a souncard
    a) you need to find out which ALSA sequencer port is representing
       the synth. the simplest way to find out is from the command line
       with the command:

         aconnect -o

       the output should give you some clue about a pair of numbers
       to use that correspond to your soundcanvas. For example:

---- output from aconnect -o on my system -------
client 0: 'System' [type=kernel]
    0 'Timer '
    1 'Announce '
client 62: 'Midi Through' [type=kernel]
    0 'Midi Through Port-0'
client 72: ' MIDI 1' [type=kernel]
    0 ' MIDI 1 '
   32 ' MIDI 2 '

        that third client, mysteriously enough, is an RME HDSP
        with 2 h/w MIDI ports. the first h/w port would be
        sequencer port 72:0, the second 72:32.

        the pattern is: <client ID>:<port ID>

    b) then get hold of pmidi, a nice command line tool
       for sending MIDI to an ALSA sequencer port. use this
       command to do what you want:

           pmidi -p <clientID>:<portID> yourmidifile.mid
       changing the values of <clientID>, <portID> and the name
       of the file to something more appropriate, such as
           pmidi -p 72:0 bach_tocatta_and_fugue.mid

2) getting audio back

      This is actual much harder to describe. It depends on the
      intimate and ugly details of your Soundscape's builtin
      h/w mixer, and without access to it, it will be hard
      to describe what you need to do. Every h/w mixer in every
      card is different, despite the presence of a few
      "standards" for such things.

      What you will need is an ALSA program to manipulate the
      h/w mixer. I like alsamixer, which runs in a terminal
      window; I like it because it shows me everything and
      doesn't try to be all cute like a generic windows mixer app.
      The goal is to identify which signal stream corresponds
      to the output of the MIDI h/w synth, and select it
      as the capture source (in alsamixer, done by moving
      the "focus" to that mixer/signal stream, and pressing
      the spacebar.

      After that, every app that records from the soundscape
      will be listening to the output from the MIDI synth.

If this all appears arcane and absurd, don't worry, it is.

The problem on linux is that we (generally) attempt to use generic tools
that are independent of the particular h/w installed. For very simple
things, this works well, but audio + MIDI interfaces really do not tend
to benefit from the current approach that has been taken, and it
requires a lot of knowledge on the part of the user to make sense of the
information that is presented.


Received on Sat Jul 30 08:15:06 2005

This archive was generated by hypermail 2.1.8 : Sat Jul 30 2005 - 08:15:06 EEST