[LAD] Writing a music notation editor and need some help with MIDI, Jack, and FluidSynth

Paul Davis paul at linuxaudiosystems.com
Fri Dec 28 14:46:41 UTC 2012

On Fri, Dec 28, 2012 at 10:03 AM, M Donalies <ingeniousnebbish at cox.net>wrote:

> On Monday 24 December 2012 05:52:41 Pedro Lopez-Cabanillas wrote:
> > I think that you are not getting more help here because a terminology
> > confusion. This is only a guess, but I think that by "jack connections"
> you
> > mean the lines that can be created in the "ALSA" tab of qjackctl. In that
> > case, you are using the wrong name because those lines have nothing to do
> > with jack. They are ALSA sequencer connections that can be made using
> > other programs as well, like "aconnect". There is an ALSA API to create
> > connections; look for "subscription" here:
> > http://www.alsa-project.org/alsa-doc/alsa-lib/seq.html
> >
> > If you want to use jack midi instead, please clarify (and don't expect
> > answers or interest from me.)
> Well, that explains why there's a separate ALSA tab in QJackCtl. And, yes,
> I'm
> using the ALSA tab to make my connections. So, at this point, it seems I
> don't
> really need jack.

JACK is (a) sample accurate when delivering MIDI between applications (b)
very lightweight (c) the same API can be used to deliver audio and MIDI to
other applications and/or hardware.

ALSA is not sample accurate and not very lightweight, but at least the API
for delivery to other apps is the same as when delivering MIDI to hardware.

finally, for sequencing synthesis purposes, JACK MIDI is much easier from a
thread perspective. for non-sequencing (i.e. MIDI control), ALSA MIDI is
much easier.

Just a side question: if I had an application that uses audio and midi (like
> Sonar), who keeps them in sync? Is this ALSA or Jack?

between applications: with ALSA, absolutely nothing keeps them in sync.
With JACK, there is no choice but to be in sync.
within an application: neither ALSA nor JACK really play any role in this.

> Assuming that you want to use the ALSA Sequencer, and not jack midi, I can
> > provide some working examples.
> >
> > As per your request, a simple metronome program in C
> > http://lalists.stanford.edu/lau/2009/08/att-0005/ametro.c

similar examples are provided for JACK MIDI too.

I'm not really advocating ALSA over JACK for MIDI, but you need to be aware
of the fact that you do have a choice, and the choice is not *simple*.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.linuxaudio.org/pipermail/linux-audio-dev/attachments/20121228/50fb57da/attachment.html>

More information about the Linux-audio-dev mailing list