Here's the old guide, just for archive purposal.
-----------------------------
Hi everybody,
I'm trying to use the super-new LTS by Canonical and I'm trying to do almost everything on flatpak, being it so updated and complete about music.
Here's a small guide, a work in progress I'd like to share and edit with you.
I'm also trying to use pipewire, to solve the communication problem between system applications and sandboxed flatpak ones. Snap is totally useless and apt causes me some troubles with KXStudio packages.
INSTALLATION
- So, first thing to do: update the system.
Code: Select all
sudo apt update; sudo apt full-upgrade -y
Code: Select all
sudo apt install -y \
curl \
default-jre \
flatpak \
fonts-crosextra-caladea fonts-crosextra-carlito \
gnome-shell-extensions gnome-shell-extension-prefs \
gnome-system-tools \
gnome-tweaks \
gdebi \
icedtea-netx \
net-tools \
p7zip p7zip-full p7zip-rar \
python3-pip \
soundconverter \
synaptic \
ubuntu-restricted-extras \
unrar \
pipewire-audio-client-libraries libspa-0.2-bluetooth libspa-0.2-jack \
carla carla-bridge-linux32 carla-bridge-linux64 carla-bridge-win64 carla-bridge-win32
Code: Select all
sudo apt install -y wireplumber pipewire-media-session-; sudo cp /usr/share/doc/pipewire/examples/alsa.conf.d/99-pipewire-default.conf /etc/alsa/conf.d/; sudo cp /usr/share/doc/pipewire/examples/ld.so.conf.d/pipewire-jack-*.conf /etc/ld.so.conf.d/; sudo ldconfig; sudo apt remove -y pulseaudio-module-bluetooth; systemctl --user --now enable wireplumber.service
- Enable flatpak repos:
Code: Select all
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
Code: Select all
mkdir ~/.vst; mkdir ~/.vst3; mkdir ~/.lv2
- Check if pipewire is working:
Code: Select all
pactl info
Code: Select all
Server name: PulseAudio (on PipeWire 0.3.48)
Code: Select all
flatpak install -y \
ar.com.tuxguitar.TuxGuitar \
ch.x29a.playitslowly \
com.giadamusic.Giada \
com.github.Bleuzen.FFaudioConverter \
com.github.childishgiant.mixer \
com.github.muriloventuroso.givemelyrics \
com.github.wwmm.easyeffects \
com.gitlab.azymohliad.Qwertone \
com.polyphone_soundfonts.polyphone \
com.rosegardenmusic.rosegarden \
io.github.gillesdegottex.FMIT \
io.github.muse_sequencer.Muse \
io.github.seadve.Mousai \
io.lmms.LMMS \
net.mediaarea.MediaInfo \
net.sf.nootka \
net.sonic_pi.SonicPi \
net.sonobus.SonoBus \
net.sourceforge.VMPK \
org.ardour.Ardour \
org.audacityteam.Audacity \
org.denemo.Denemo \
org.freedesktop.LinuxAudio.Plugins.ADLplug \
org.freedesktop.LinuxAudio.Plugins.ArtyFX \
org.freedesktop.LinuxAudio.Plugins.AVLDrums \
org.freedesktop.LinuxAudio.Plugins.Calf \
org.freedesktop.LinuxAudio.Plugins.CAPS \
org.freedesktop.LinuxAudio.Plugins.ChowTapeModel \
org.freedesktop.LinuxAudio.Plugins.CMT \
org.freedesktop.LinuxAudio.Plugins.Dexed \
org.freedesktop.LinuxAudio.Plugins.DISTRHO-Ports \
org.freedesktop.LinuxAudio.Plugins.DPF-Plugins \
org.freedesktop.LinuxAudio.Plugins.DragonflyReverb \
org.freedesktop.LinuxAudio.Plugins.DrumGizmo \
org.freedesktop.LinuxAudio.Plugins.Fabla \
org.freedesktop.LinuxAudio.Plugins.Geonkick \
org.freedesktop.LinuxAudio.Plugins.gmsynth \
org.freedesktop.LinuxAudio.Plugins.Guitarix \
org.freedesktop.LinuxAudio.Plugins.GxPlugins \
org.freedesktop.LinuxAudio.Plugins.Helm \
org.freedesktop.LinuxAudio.Plugins.KapitonovPluginsPack \
org.freedesktop.LinuxAudio.Plugins.LSP \
org.freedesktop.LinuxAudio.Plugins.MDA \
org.freedesktop.LinuxAudio.Plugins.Ninjas2 \
org.freedesktop.LinuxAudio.Plugins.OBXd \
org.freedesktop.LinuxAudio.Plugins.reMID-lv2 \
org.freedesktop.LinuxAudio.Plugins.setBfree \
org.freedesktop.LinuxAudio.Plugins.sfizz \
org.freedesktop.LinuxAudio.Plugins.Sorcer \
org.freedesktop.LinuxAudio.Plugins.SoSynthLV2 \
org.freedesktop.LinuxAudio.Plugins.Surge \
org.freedesktop.LinuxAudio.Plugins.Surge-XT \
org.freedesktop.LinuxAudio.Plugins.swh \
org.freedesktop.LinuxAudio.Plugins.TAP \
org.freedesktop.LinuxAudio.Plugins.Tunefish4 \
org.freedesktop.LinuxAudio.Plugins.VL1Emulator \
org.freedesktop.LinuxAudio.Plugins.WhiteElephantAudio \
org.freedesktop.LinuxAudio.Plugins.WolfShaper \
org.freedesktop.LinuxAudio.Plugins.x42Plugins \
org.freedesktop.LinuxAudio.Plugins.Yoshimi \
org.freedesktop.LinuxAudio.Plugins.ZamPlugins \
org.freedesktop.LinuxAudio.Plugins.ZynFusion \
org.gnome.EasyTAG \
org.guitarix.Guitarix \
org.hydrogenmusic.Hydrogen \
org.kde.minuet \
org.musescore.MuseScore \
org.pipewire.Helvum \
org.rncbc.qpwgraph \
org.rncbc.qsynth \
org.rncbc.qtractor \
org.sugarlabs.MusicBlocks \
org.zrythm.Zrythm
OTHER TOOLS
Aether
https://github.com/Dougal-s/Aether/releases
Download zip and unzip .lv2 folder in ~/.lv2
Airwindows plugins
https://www.airwindows.com/
Download from “Download LinuxVSTs” and extract all the .so files in ~/.vst
Cardinal
https://github.com/DISTRHO/Cardinal/releases/tag/22.03
Download from "Linux x86_64" and extract .lv2 folders in ~/.lv2
Monique
https://github.com/surge-synthesizer/mo ... h/releases
Download zip for Linux and extract .vst3 folder in ~/.vst3
Odin2
https://www.thewavewarden.com/odin2
“Linux (generic)” → Download → extract .vst3 folder in ~/.vst3 and .lv2 folder in ~/.lv2
Wolf Spectrum
https://github.com/wolf-plugins/wolf-spectrum/releases
Download lv2 zip and extract .lv2 folder in ~/.lv2, download vst2 zip and extract .so file in ~/.vst, download Jack zip and extract the executable file in any folder you want, you'll launch it with a simple double click. It will be visible in Jack, Carla, qpwgraph and other connectors
String Machine
https://software.opensuse.org/download. ... ng-machine
Download the latest deb (20.04), don't install it, right click on the deb file → open with... → archive manager. Then extract only data.tar.xz / . / usr / lib / lv2 / string-machine.lv2 folder in ~/.lv2
Stone Phaser
https://github.com/jpcima/stone-phaser/releases
Download the Linux64.zip file (not the .deb one), and extract the two .lv2 folders in ~/.lv2
B.Low
https://github.com/sjaehn/BLow/releases
Download the tar.xz file and extract the .lv2 folder in ~/.lv2
B.Slizr
http://mirrors.kernel.org/ubuntu/pool/u ... _amd64.deb
Download .deb file (don't install it), right click on it → open with... → archive manager → data.tar.xz → . → ust → lib → lv2 → extract the .lv2 folder in ~/.lv2
B.Jumblr
https://github.com/sjaehn/BJumblr/releases/tag/1.6.8
Download the tar.xz file and extract the .lv2 folder in ~/.lv2
B.Choppr
https://github.com/sjaehn/BChoppr/releases
Download the lv2.zip file and extract the .lv2 folder in ~/.lv2
B.Schaffl
https://github.com/sjaehn/BSchaffl/releases
Download the tar.xz file and extract the .lv2 folder in ~/.lv2
B.Oops
https://github.com/sjaehn/BOops/releases
Download the tar.xz file and extract the .lv2 folder in ~/.lv2
B.SEQuenzr
https://github.com/sjaehn/BSEQuencer/releases
Download the tar.xz file and extract the .lv2 folder in ~/.lv2
B.Shapr
B.Shapr can't be installed alone as lv2, and there's no flatpak version available yet. So just install it as a deb, copy lv2 folder and uninstall, like this:
Code: Select all
sudo apt install bshapr
cp -r /usr/lib/lv2/BShapr.lv2 ~/.lv2/
sudo apt remove bshapr
ARPEGGIATORS
Unluckily, there are still no arpeggiator plugins as flatpak. To make them work, just install them as vst or lv2 in user space, load them into the system installed Carla, then make an insert in Ardour and connect it via Ardour itself or qpwgraph or Carla itself.
In this way, MIDI clock doesn't work, so in the arpeggiator you have to set the same tempo of your Ardour project. If the project has tempo changes or ramps it's a problem, but come on, who uses arpeggiators with time ramps?
LibreArp
https://librearp.gitlab.io/
"Download” → “Linux 64bit LV2”, extract .lv2 folder in ~/.lv2
It won't work in Ardour (it's enabled but it returns a generic error when launched), so load it in Carla and make an Ardour insert.
QMidiArp
Just install it from apt:
Code: Select all
sudo apt install qmidiarp
JJAZZLAB
- Download Linux zip from from https://www.jjazzlab.com/en/download/
- extract the zip to any folder you like
- Download soundfonts:
Code: Select all
wget https://musical-artifacts.com/artifacts/1036/JJazzLab-SoundFont.sf2
Code: Select all
sudo apt install fluidsynth
Code: Select all
sudo modprobe snd-virmidi midi_devs=1
Code: Select all
sudo nano /etc/modules
Code: Select all
snd-virmidi
Then open this:
Code: Select all
sudo nano /etc/modprobe.d/snd-virmidi_options.conf
Code: Select all
options snd-virmidi midi_devs=1
In order to use it, you have to:
- launch Qsynth (already installed from flatpak)
- in Qsynth, load the soundfont (Setup → Soundfonts → Load)
- Launch JJazzLab double clicking on bin/jjazzlab file in jjazzlab folder
- copy the configuration only from screenshots number 7 and 8 from this page:
https://github.com/jjazzboss/JJazzLab-X ... idsynth.md
You have a lot of free resources for JJazzlab, you have to download and extract them in ~/JJazzLab/Rhythms
- zips from here: http://www.jososoft.dk/yamaha/styles/styles.htm
- zips from here: https://www.a-mc.biz/makemusic/browse-s ... ng-styles/
- here a lot of useful stuff: https://www.jjazzlab.com/en/resources/
HOWTO
- Change sample frequency on the fly:
Code: Select all
pw-metadata -n settings 0 clock.force-rate 44100
- Change frame/buffer period on the fly:
Code: Select all
pw-metadata -n settings 0 clock.force-quantum 512
- If you reduce font scaling from Gnome Tweaks, you'll have to launch Mixxx in this way:
Code: Select all
export QT_AUTO_SCREEN_SCALE_FACTOR=0; flatpak run org.mixxx.Mixxx
- To load Windows VSTs or other plugins the sandboxed applications won't see, you have to launch Carla, load any VST in it, and then connect them to Ardour via Carla patchbay or qpwgraph. If you find a way to send MIDI clock to Carla in order to sync delays or arpeggiators to Ardour's tempo... please tell me