On Sun, 26 Aug 2012, k...@trixtar.org wrote:

> OpenSuse-12.1 or 12.2
> KDE4
> Some soundfonts & fluidsynth are installed
> This works, I can hear the midi:
>   fluidsynth -a alsa -l
> /0/sa14/comp/build-common/music/sf2-filez/Unison.sf2
> /0/sa14/guitar/midi/mmp.mid

At least you have some MIDI sound.  The problem is that command tells 
Fluidsynth to use "Alsa audio", which locks "Alsa audio" in exclusive mode, and 
Jackd (Qjackctl) can't access the "Alsa audio" for audio output.

Here's my Fluidsynth command:

   fluidsynth  -a jack -j -r 44100 -g 0.40  -o synth.midi-bank-select=xg  

you can skip the "-o synth.midi-bank-select=xg", if you don't care about Yamaha 
XG midi stuff.

Note the "-a jack" tells Fluidsynth to use "Jackd audio" output instead of 
"Alsa audio".  So you need to have jackd already running, or if you use 
Qjackctl you need to have jackd started within Qjackctl.

After I have qjackctl started jackd, I can get the full command by looking at 
the output of:

   ps -ef | grep jackd | grep -v grep

and that command starts from the /usr/bin/jackd, until the end of that output 
text line.  Once you get all the parameters selected as you want in qjackctl, 
the command to start jackd may be helpful if you want to use the commandline 
instead of qjackctl.

Anyway, once you have both qjackctl and fluidsynth started, click on "Connect" 
button of qjackctl.  Within the qjackctl connection window, The "Audio" tab is 
the "jackd audio" (not "Alsa audio") connections.  The "MIDI" tab is for "jack 
MIDI" connections.  The "ALSA" tab is for "Alsa MIDI" connections.

   Select "Audio" tab, make sure fluidsynth is connected to "system".

   Select "ALSA" tab, select "14:Midi through" on the left list (output ports), 
select "Fluid synth" on the right list (input ports), click on "Connect" button 
within that qjackctl connection window.  This is the 

If you don't see "14:Midi through", you may need to load some kernel modules 
into memory with the modprobe command.  Here are my midi kernal modules loaded:

   lsmod | grep -i midi

snd_seq_midi            3592  0 
snd_rawmidi            12701  1 snd_seq_midi
snd_seq_midi_event      3620  2 snd_seq_oss,snd_seq_midi
snd_seq                35462  11 
snd_seq_device          3969  5 

I don't remember which one is the one that shows up as "14:Midi through", I 
believe it is snd_seq_midi, but I could be wrong.

The "Audio" tab selection above is automatically connected by the "-j" option 
of the fluidsynth command.  If you use fluidsynth without the "-j" option, you 
will need to manually connect it to the "jack audio" output to hear any sound 
using jackd.

The "ALSA" tab selection above is connect the virtual midi-through port to the 
fluidsynth "Alsa MIDI" input port.

Now you can test play a midi file with:

   aplaymidi -p 14  /full-path-to/some-midifile.mid

the "-p 14" option of aplaymidi tells it to send "Alsa MIDI" output to port 14, 
which is the same as the "virtual midi-through port" shown in qjackctl 
connection window under "ALSA tab".

Again, the order of apps that need to get started are:

   jackd (manually, or via qjackctl)

   fluidsynth using "jack audio" output, not "Alsa audio" output (manually, or 
via qsynth), make sure to specify a GM soundfont file within fluidsynt, or 

   connect both "jack audio", and "alsa MIDI" connections.

   play a sample midi file with aplaymidi.

Once you get all tha working, you should have at least a vague idea of the 
difference between "jack audio" vs "Alsa audio", as well as some idea about 
"Alsa MIDI" connection.

Now you can try to start Rosegarden, then try to connect the first rosegarden 
"Alsa MIDI" output port to "FLUID synth" directly, or connect rosegarfen "Alsa 
MIDI" output port to "14:Midi through", and "14:Midi through" to  "FLUID synth".

> PluseAudio is so hard wired into KDE that I cannot uninstall
> it
> While trying to find my way in the ncurses also mixer
> sliders I lost 
> all sound and had to recover the entire partition from a
> backup.

I don't use PulseAudio at all, so I don't know for sure if it can cause 
problem, but I have heard plenty, so I stay away from it.

> If I try Qjackctl with server path: pasuspender --jackd
> on launch it gives 
>    21:53:56.441 Patchbay deactivated.
>    21:53:56.443 Statistics reset.
>    21:53:56.444 ALSA connection change.
>    21:53:56.448 ALSA connection graph
> change.
> when I click Start it continues with
>    21:56:02.022 JACK is starting...
>    21:56:02.022 /usr/bin/pasuspender --jackd
> -v -dalsa -dhw:0 -r48000 -p1024 -n2 -H
>    21:56:02.025 JACK was started with
> PID=5731.
>    21:56:02.027 JACK was stopped with exit
> status=1.
>    21:56:04.065 Could not connect to JACK
> server as client. - 
>    Overall operation failed. - Unable to
> connect to server. 
>    Please check the messages window for more
> info.

The problem may be that PulseAudio is already stared and grab a hold of "Alsa 
audio" already, and nothing else can connect, or output to "Alsa audio".  
That's the problem of "Alsa audio", it only allow one app to connect to it.

You can try to stop the PulseAudio daemond, then starts qjackctl/jackd.  Even 
then qjackctl may still not be able to run jackd by default, you may have to 
play around with various parameters within the qjackctl "Setup" window.

Good luck.


Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
Rosegarden-user mailing list
Rosegarden-user@lists.sourceforge.net - use the link below to unsubscribe

Reply via email to