update faq: jack+fluidsynth

This commit is contained in:
glixx 2019-06-27 06:20:26 +03:00
parent 74a135c793
commit 29381c3bec
3 changed files with 28 additions and 14 deletions

View File

@ -163,19 +163,19 @@ DEBUGGING
To get a backtrace, build Piano Booster with DEBUG option
type
type:
```cmake -DCMAKE_BUILD_TYPE=Debug .```
type
type:
```gdb ./pianobooster```
then
then:
```run```
then
then:
```bt```

View File

@ -94,18 +94,32 @@ To install fluidsynth you must install the following packages 'fluidsynth' 'flui
'fluid-soundfont-gs' using your favourite package manager.
To start the fluidsynth sound generator copy and paste the following command line (one very long command line).
Using ALSA:
```bash
fluidsynth -C 0 -R 0 -r 22050 -c 6 -z 128 -l -a alsa -o audio.alsa.device=plughw:0 -o midi.alsa_seq.id=fs /usr/share/sounds/sf2/FluidR3_GM.sf2 /usr/share/sounds/sf2/FluidR3_GS.sf2
fluidsynth -i -s -g 1 -C 0 -R 0 -r 22050 -c 6 -z 128 -l -a alsa -o audio.alsa.device=plughw:0 -o midi.alsa_seq.id=fs /usr/share/sounds/sf2/FluidR3_GM.sf2 /usr/share/sounds/sf2/FluidR3_GS.sf2
```
Using JACK:
```bash
fluidsynth -i -s -g 1 -C 0 -R 0 -r 22050 -c 6 -z 128 -l -a jack -o midi.alsa_seq.id=fs -j /usr/share/sounds/sf2/FluidR3_GM.sf2 /usr/share/sounds/sf2/FluidR3_GS.sf2
```
If you have a fast machine then you can leave out the flags `-C 0 -R 0 -r 22050` which turns off the reverb, chorus and reduce the sample rate.
The flags `-c 6 -z 128` control the latency try `-c 5 -z 128` for less latency
but at the risk of audio drop outs.
The flags `-o audio.alsa.device=plughw:0` bypasses the Ubuntu Pulse Audio layer
The flags `-o audio.alsa.device=plughw:0` bypasses the Pulse Audio layer
which caused a lot of latency delay but unfortunately these flags may also
bypass the desktop volume controls.
Flag `-i`: don't read commands from the shell. Flag `-s`: start FluidSynth as a server process. Flag `-g 1`: set the master gain = 1.
Flag `-a alsa` or `-a jack`: the name of the audio driver to use.
Flag `-j`: attempt to connect the jack outputs to the physical ports.
For more information on running fluidsynth with low latency see
[this page](https://github.com/FluidSynth/fluidsynth/wiki/LowLatency).

View File

@ -1,6 +1,6 @@
#!/bin/sh
#use_jack="1"
use_jack="0"
MES1="Error: SoundFonts FluidR3_GM.sf2 and FluidR3_GS.sf2 were not found!"
MES2="Error: fluidsynth was not run!"
@ -91,7 +91,7 @@ then
exit 1
fi
if [ ! -f "/usr/bin/jackd" ] && [ ! -z "$use_jack" ]
if [ ! -f "/usr/bin/jackd" ] && [ "$use_jack" = "1" ]
then
echo "$MES7"
if [ ! -z "$notify_send" ]
@ -131,7 +131,7 @@ then
exit 1
fi
if [ ! -z "$use_jack" ]
if [ "$use_jack" = "1" ]
then
echo "$MES8" "$MES9"
if [ ! -z "$notify_send" ]
@ -140,23 +140,23 @@ then
fi
fi
if [ ! -z "$use_jack" ]
if [ "$use_jack" = "1" ]
then
fluidsynth -i -s -g 1 -C 0 -R 0 -r 22050 -c 6 -z 128 -l -a jack -j -o midi.alsa_seq.id=fs $sf2_1 $sf2_2 &
fluidsynth -i -s -g 1 -C 0 -R 0 -r 22050 -c 6 -z 128 -l -a jack -o midi.alsa_seq.id=fs -j $sf2_1 $sf2_2 &
else
fluidsynth -i -s -g 1 -C 0 -R 0 -r 22050 -c 6 -z 128 -l -a alsa -o audio.alsa.device=plughw:0 -o midi.alsa_seq.id=fs $sf2_1 $sf2_2 &
fi
PID=$!
if [ ! -z "$use_jack" ]
if [ "$use_jack" = "1" ]
then
sleep 10
else
sleep 3
fi
process=`ps -p $PID -o comm=`
process=`ps -p $PID -o comm= 2>/dev/null`
if [ -z $process ]
then
@ -172,7 +172,7 @@ pianobooster
kill $PID
if [ ! -z "$use_jack" ]
if [ "$use_jack" = "1" ]
then
sleep 5
fi