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 To get a backtrace, build Piano Booster with DEBUG option
type type:
```cmake -DCMAKE_BUILD_TYPE=Debug .``` ```cmake -DCMAKE_BUILD_TYPE=Debug .```
type type:
```gdb ./pianobooster``` ```gdb ./pianobooster```
then then:
```run``` ```run```
then then:
```bt``` ```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. '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). To start the fluidsynth sound generator copy and paste the following command line (one very long command line).
Using ALSA:
```bash ```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. 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 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. 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 which caused a lot of latency delay but unfortunately these flags may also
bypass the desktop volume controls. 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 For more information on running fluidsynth with low latency see
[this page](https://github.com/FluidSynth/fluidsynth/wiki/LowLatency). [this page](https://github.com/FluidSynth/fluidsynth/wiki/LowLatency).

View File

@ -1,6 +1,6 @@
#!/bin/sh #!/bin/sh
#use_jack="1" use_jack="0"
MES1="Error: SoundFonts FluidR3_GM.sf2 and FluidR3_GS.sf2 were not found!" MES1="Error: SoundFonts FluidR3_GM.sf2 and FluidR3_GS.sf2 were not found!"
MES2="Error: fluidsynth was not run!" MES2="Error: fluidsynth was not run!"
@ -91,7 +91,7 @@ then
exit 1 exit 1
fi fi
if [ ! -f "/usr/bin/jackd" ] && [ ! -z "$use_jack" ] if [ ! -f "/usr/bin/jackd" ] && [ "$use_jack" = "1" ]
then then
echo "$MES7" echo "$MES7"
if [ ! -z "$notify_send" ] if [ ! -z "$notify_send" ]
@ -131,7 +131,7 @@ then
exit 1 exit 1
fi fi
if [ ! -z "$use_jack" ] if [ "$use_jack" = "1" ]
then then
echo "$MES8" "$MES9" echo "$MES8" "$MES9"
if [ ! -z "$notify_send" ] if [ ! -z "$notify_send" ]
@ -140,23 +140,23 @@ then
fi fi
fi fi
if [ ! -z "$use_jack" ] if [ "$use_jack" = "1" ]
then 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 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 & 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 fi
PID=$! PID=$!
if [ ! -z "$use_jack" ] if [ "$use_jack" = "1" ]
then then
sleep 10 sleep 10
else else
sleep 3 sleep 3
fi fi
process=`ps -p $PID -o comm=` process=`ps -p $PID -o comm= 2>/dev/null`
if [ -z $process ] if [ -z $process ]
then then
@ -172,7 +172,7 @@ pianobooster
kill $PID kill $PID
if [ ! -z "$use_jack" ] if [ "$use_jack" = "1" ]
then then
sleep 5 sleep 5
fi fi