Can jackd and pulseaudio coexist?

Kevin Kofler kevin.kofler at chello.at
Sun Mar 8 02:30:11 UTC 2009


Daniel B. Thurman wrote:
> Bummer.  So in a nutshell, I cannot use RoseGarden until all of these
> issues (PA) are fixed/resolved, right?

Wrong. You can use JACK on your hardware and PA on top of JACK, as described
here:
http://www.harald-hoyer.de/linux/pulseaudio-and-jackd

But if all you need is MIDI, you might even get away with running JACK with
the dummy audio device and letting PulseAudio use the real one, as you only
need MIDI output from JACK, which is separate (see also the next
paragraph).

> I was trying to find a MIDI player that works and kmid just does not
> work (cannot figure it out), so... I think I will postpone it for now.

You don't have hardware MIDI synthesizing (most modern sound cards don't
have it because software wavetable synthesizers produce much better MIDI
output than the FM synthesis which was built into older cards), so you need
to start a software synthesizer. The same thing is also true if you use
JACK for MIDI, as JACK just uses ALSA MIDI sequencers like KMid does.

You can start an instance of TiMidity++ (from the timidity++ package) with:
timidity -iADq -OO --sequencer-ports=1

What these switches mean:
-iA = ALSA sequencer interface
D = daemonize (ALSA sequencer interface option)
q = quiet (ALSA sequencer interface option)
-OO = libao output (works with PulseAudio)
--sequencer-ports=1 = only one sequencer port (the default is 2, you can set
any number you like/need)

So what this does is that it emulates an ALSA MIDI device, synthesizes the
sound in software and outputs the result to PulseAudio. (Try -Oj instead
of -OO if you want to output to JACK.)

If the quality is not good enough, try adding --realtime-priority=1, but by
default this is only allowed for root for security reasons.

KMid should work after that. (But for some reason you may have to restart
TiMidity++ sometimes: killall timidity and rerun the command above. I have
yet to figure out whether that's a KMid, ALSA or TiMidity++ bug.)

There are other software synthesizers available, I haven't tried if they
have an ALSA sequencer mode too. TiMidity++ does the job in any case.

        Kevin Kofler




More information about the users mailing list