On Tue, Nov 29, 2016 at 12:42:06PM -0500, Przemek Klosowski wrote:
I was always impressed with the amount and quality of audio software
in
Linux. When it all works, and is driven by someone who knows what they're
doing, it's essentially a high-end DAW production environment. If it all
worked smoothly, I am sure it could be one of Linux and Fedora showcases.
I am a musical dilettante, so my attempts have been perhaps haphazard, but I
had a mixed luck: I was able to get everything to run, but the setup seemed
very brittle. I was not very successful debugging the problems because the
audio chain is pretty complex, what with the raw devices, ALSA, PulseAudio
and Jackd having overlapping roles, and lots of obsolete and conflicting
information on the web. I decided to write to the development list in the
hope of starting a technical discussion that would result in either
technical and/or configuration fixes, or at least some documentation, that I
could perhaps help develop.
I have been using the following programs:
play/aplay simple .wav players
espeak speech synthesizer
Qsynth/fluidsynth .midi players/synthesizers
audacity sound editor
pianobooster keyboard play-along teaching tool
Rosegarden w/lilypond music editor
Hydrogen drum synthesizer
Yoshimi synthesizer
rakarrack guitar effect processor
As I said, I was able to use all of them successfully, but I had problems
integrating them and keeping them up and running in the long term. I wonder
if I am doing something wrong, or are there technical issues that I'm
running into, currently on Fedora 25 but also on previous versions.
Obviously, out of the box, simple sound obviously works: I can aplay a .wav
file, espeak works, and some of the synthesizers like audacity and hydrogen
simply work without any preconditions.
Other audio programs require starting Qsynth first: that seems to be the
case for Rosegarden, Yoshimi and pianobooster. What is puzzling is that
there seems to be a lot of hidden state: after running Qsynth for a while,
the simple sound (aplay, espeak) tend to no longer work: they hang without
producing any sound, even though Qsynth is no longer running. I tried
stracing them, but they just go into nanosleep() busy loops on internal file
descriptors, so it's not clear what exactly they're blocking on. I ran into
one glitch where qsynth somehow inserted a .wav file as a soundfont in the
configuration file, which prevented it from working subsequently (I had to
delete the ~/.config/rncbc.org/Qsynth.conf file).
I am planning to log some bugzilla reports, but I am not sure against what
subsystems: is it ALSA, or PulseAudio, or Gnome/pavucontrol, or Qsynth.
Specifically, I'd like to address the following issues:
- simple sound (aplay, espeak) failing after running fancy synthesized sound
apps (Qsynth): I'd need guidance what to test to find the hidden state that
causes that.
- fancy sound apps (Rosegarden/pianobooster) silently failing without the
synthesizer (Qsynth) running first. I'd like to discuss what could be done
to at least produce some error messages directing users to set up
synthesizers first, or maybe to automatically start the required
synthesizers.
I thought most of those music apps required jack to run--are you running
jack or not? If you are, then it's probably just the usual
jack/pulseaudio conflicts. Which Fedora seems set up to fix, but for
seem reason the fix doesn't work; I filed a bug here:
https://bugzilla.redhat.com/show_bug.cgi?id=1390043
Agreed that the Fedora music stuff seems very promising but a bit
frustrating to get set up in practice. It'd be nice to get some of
these problems sorted out.
I'm an amateur musician more interested in live performance--I use my
laptop as a sound module for organ/piano/synth sounds played from a midi
controller keyboard.
--b.