Rosegarden and Fluidsynth Developers:

In working with Fluidsynth problems, the Fluidsynth developers have 
wondered why I insist on using JACK with Qsynth, rather than just 
configuring it to use PulseAudio.  Yesterday I finally found out why I 
do this, but what the cause of the problem is, possibly both sets of 
developers (together) might be able to postulate.

Here are the steps of a test you can do to illustrate the problem:

1. Configure Qsynth to use "pulseaudio" instead of "jack".  Even doing 
this can cause hangs if you have more than one engine configured.  Best 
approach is to not restart the engine when it prompts you, instead, 
terminating Qsynth, and bring it back up after completing the 
configuration changes.

2. Bring up the newly-re-configured Qsynth, which now uses PulseAudio.  
If you were using JACK (QjackCtl) before, you may have to reboot before 
doing it.

3. In a terminal window, cd to a folder having MIDI ('.mid') files, then 
enter the following statement:
pmidi -l
On my machine, it produces the following lines referencing the Qsynth 
ports (I have 2 qsynth engines):
129:0     FLUID Synth (Qsynth1)             Synth input port (Qsynth1:0)
130:0     FLUID Synth (Qsynth2)             Synth input port (Qsynth2:0)

4. In the terminal window, use the information printed by the prior 
statement to enter a statement to play a MIDI file.  On my machine, I 
did the following:
pmidi -p 129:0 TheCarpenters-MaybeItsYou.mid

5. Notice that it plays, and you can hear the sound.  Notice that the 
indicator light of the engine shows activity.  You can terminate it 
early after hearing that it plays (control-c will stop it).

6. Launch Rosegarden (it doesn't matter if it is the latest version, or 
the oldest version you have).  Answer any welcome message.

7. Return to the terminal window without doing anything in the 
Rosegarden window (other than answering the welcome message), and 
re-enter the statement that you used to play the MIDI-file using pmidi.  
Notice that the indicator-light of the Qsynth engine flashes, showing 
activity, but also notice that there is no sound. Terminate pmidi using 
control-c.

8. Terminate Rosegarden, and repeat step 7, noticing the result (no 
sound) is the same.

9. Terminate Qsynth, noticing (if you have a memory-space monitor 
running) that the memory used for the soundfonts of both engines is not 
released.

10. In the terminal window, enter the following statement:
pmidi -l
You will see that the client and port for the 2nd engine is still there.

11. At this point, the only way to allow Qsynth to produce sound again, 
is to reboot.  If you log-out, and log back in, the memory will be 
reclaimed, but when you fire-up a new Qsynth, and attempt to play the 
MIDI-file again, there is still no sound.


It appears that bringing-up Rosegarden is the step that causes the 
problem.  If instead, I brought up MusE, there was no problem, and MusE 
could even use the Qsynth ports for playing.  In another test, when I 
tried to use the Qsynth ports in Rosegarden for playing, Qsynth showed 
activity, but there was no sound.

If you configure Qsynth to use JACK for its audio, you don't encounter 
this problem.  I use Qsynth with Rosegarden all the time. I'm sure I've 
run into this problem before - probably multiple times.  But all I 
remember of it, is that you have to use jack (the default) with Qsynth.

But before we conclude it to be a problem with Qsynth alone, be aware 
that what started me down this line of testing, is that I fired-up 
Fluidsynth in a terminal window, using pulseaudio for its audio, and it 
worked fine with my new MIDI device.

But when I tried to use it with Rosegarden, though it saw the Fluidsynth 
device, and I could map my MIDI playback device to use it, there was no 
sound.  And that thereafter, though my new MIDI device seemed to be 
sending to it okay, but there was no sound.  In this case, eventually 
error messages started coming out of Fluidsynth, saying it couldn't 
allocate (something) for each specific note played.

-- Sincerely, Aere

------------------------------------------------------------------------------
Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS,
MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current
with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft
MVPs and experts. ON SALE this month only -- learn more at:
http://p.sf.net/sfu/learnnow-d2d
_______________________________________________
Rosegarden-devel mailing list
[email protected] - use the link below to unsubscribe
https://lists.sourceforge.net/lists/listinfo/rosegarden-devel

Reply via email to