Produzione musicale su Ubuntu 22.04

Premessa (mi raccomando leggete prima di seguire questa guida!)

Prima di seguire questa guida, bisogna aver configurato Ubuntu 22.04 con la guida presente in questo stesso sito: Ubuntu 22.04 supercompleta.
Mi raccomando, seguitela altrimenti non funziona nulla  ^_^

Se avete ancora Ubuntu 20.04, potete seguire la vecchia guida per l’audio su Ubuntu 20.04, ma sappiate che non è più supportata (non la aggiorno se qualcosa nel frattempo cambia).

Questa guida funziona solo su Ubuntu 22.04. La gestione della musica su altre distribuzioni, ma anche su versioni di Ubuntu diverse da 22.04, è diversa e non facilmente adattabile alle istruzioni qui riportate.

Questa guida è testata con un computer con scheda sonora Scarlett 2i2 2nd generation, oppure con una normalissima HDA Intel integrata alla scheda madre. Queste schede funzionano out of the box senza bisogno di installare driver o alcuna configurazione. Se la vostra scheda ha bisogno di configurazione o di driver particolari, vi prego di non chiedere qui a me perché non sono un tecnico hardware e non posso conoscere soluzioni per periferiche che non posseggo e non posso testare. Nel caso, postate sul forum italiano di Ubuntu, nella sezione Hardware e Periferiche.

Per chiedere assistenza su questa guida, non coinvolgete solo me, ma tutta la comunità, in modo che il sapere circoli e sia condiviso, nella filosofia del software libero. Perciò postate per favore anche in questo caso sul forum italiano di Ubuntu, nella sezione Multimedia, magari facendo riferimento alla mia guida e poi segnalandomi il post attraverso la pagina “Contatti” di questo sito, così leggo e provo a intervenire anch’io.

Segnalatemi poi per favore refusi, errori, proposte di integrazione e consigli.

In questa guida prima prepareremo il sistema, poi installeremo tutto il necessario e quindi spiegheremo come si usa un po’ in generale tutto il sistema audio.


Preparazione del sistema

Usare solo le schede sonore che servono

Se avete una scheda sonora aggiuntiva sarebbe molto meglio disabilitare le altre. Fatelo comunque solo se avete dei problemi (programmi che scelgono sempre la scheda sonora sbagliata, o l’audio che gracchia se state usando il microfono della scheda USB e il video di una webcam che avrebbe il microfono).
Per esempio, se usate un cavo HDMI per vedere il computer sulla TV o su un monitor con audio, non disabilitate la scheda sonora “HDMI” altrimenti non sentirete l’audio che passa attraverso quel cavo. Oppure, se avete un microfono USB, quello viene visto dal sistema come una scheda sonora; non vi conviene disabilitarlo.

In genere in un computer fisso su cui usiamo una scheda sonora esterna di buona fattura, è abbastanza utile disabilitare due schede: la scheda sonora integrata e quella della webcam (le webcam hanno un microfono, spesso pessimo, visto da Ubuntu come una scheda sonora).

Per disabilitare una scheda sonora integrata in genere c’è una voce nel BIOS del computer, ma spesso e volentieri disabilitare la scheda sonora da BIOS non serve. Conviene disabilitarla a livello di sistema operativo. Per disattivare una o più schede, digitate:
cat /proc/asound/modules
e individuate il modulo della scheda da eliminare. Per esempio snd_hda_intel
Poi aprite il file della “lista nera”:
sudo geany /etc/modprobe.d/blacklist.conf
E alla fine aggiungete:
# scheda sonora integrata
blacklist
<nome_del_modulo>
Per esempio:
# scheda sonora integrata
blacklist snd_hda_intel

Salvate e chiudete. Al riavvio, non vedrete più traccia di quella scheda sonora.

Se poi volete disattivare il microfono di una webcam USB allora non potete fare con il metodo suddetto, dacché sia il microfono della webcam che la scheda esterna USB hanno lo stesso nome: snd_usb_audio
In questo caso, prima di tutto individuate la webcam così:
lsusb
Non sempre c’è scritto chiaramente che è una webcam. Se non si capisce qual è, basta che facciate lsusb due volte, una con la webcam attaccata e una no, così vedete la riga diversa qual è. Nel mio caso, la riga che identifica la mia webcam (una economicissima Aukey) è questa:
Bus 002 Device 010: ID 1bcf:0215 Sunplus Innovation Technology Inc.
Dovete segnarvi bene quei due gruppi di cifre e numeri separati dai due punti. Il primo è il cosiddetto “Vendor ID”, il secondo il “Product ID”.
Create un file vuoto di regole di caricamento dei dispositivi:
sudo geany /etc/udev/rules.d/90-blacklist-webcam-sound.rules
E dentro scrivete:
# Disables webcam audio.
SUBSYSTEM=="usb", DRIVER=="snd-usb-audio", ATTRS{idVendor}=="1bcf", ATTRS{idProduct}=="0215", ATTR{authorized}="0"

Ovviamente mettete i vostri valori al posto di quelli in rosso. Salvate, chiudete e riavviate le regole:
sudo udevadm control --reload-rules

Installazione dei repository di KXStudio

I principali software musicali e plugin sono tenuti aggiornati in questi meravigliosi repository, oggi finalmente ben compatibili con Ubuntu 22.04. Per aggiungerli occorre andare in questa pagina:
https://kx.studio/Repositories
Scorrete fino alla scritta “Debian / Ubuntu” e cliccate sul link kxstudio-repos.deb che vi farà scaricare un .deb che poi installerete con GDebi (se non sapete fare, è tutto nella guida per Ubuntu 22.04 Supercompleta).

Pipewire per gestire tutto l’audio

Se venite da versioni precedenti di Ubuntu, sapete che il problema era spesso quello di avere due sistemi audio distinti, Pulseaudio e Jack, uno per l’audio normale del desktop e uno per la registrazione e la produzione musicale professionale. Bisognava scegliere o l’uno o l’altro, con l’ulteriore problema per cui il secondo disattivava il primo, per cui non era possibile ascoltare qualcosa su Youtube o Spotify mentre si produceva audio, e si doveva ricorrere a programmi ponte fra i due sistemi. Ma poi è nato Pipewire, un sistema comodissimo che gestisce tutti i flussi audio e tutti i flussi video come fossero tubi da collegare e scollegare come ci pare, qualunque sia il sistema che usiamo, Jack o Pulseaudio che sia.

Prima di tutto aggiungiamo i repository ufficiali di Pipewire, per averlo sempre all’ultima versione stabile:
sudo add-apt-repository ppa:pipewire-debian/pipewire-upstream -y
sudo add-apt-repository ppa:pipewire-debian/wireplumber-upstream -y

Anche se non aggiornatissimo (ma ora che abbiamo aggiunto i repository fra poco lo sarà), su Ubuntu 22.04 Pipewire è già integrato, ma solo per il video. Per l’audio è disattivato e quindi dobbiamo dire al sistema di far gestire tutto l’audio da Pipewire. Per far ciò, occorre prima aggiornare il sistema, installare alcune librerie, poi toglierne altre, quindi configurare alcuni file di testo di sistema, disabilitare e abilitare alcuni servizi, e infine aggiungere il proprio utente al gruppo “audio”. Si fa tutto in una riga, così:
sudo apt update; sudo apt full-upgrade -y; sudo apt install -y pipewire-audio-client-libraries libspa-0.2-bluetooth libspa-0.2-jack 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; sudo addgroup $USER audio
(credits: Ubuntuhandbook.org)

A questo punto è necessario…

Riavviare il sistema

Riavviato il sistema occorre controllare due ultimi dettagli:

  • Controllare se pipewire sta funzionando:
    pactl info
    Ci dev’essere una riga simile a questa:
    Server name: PulseAudio (on PipeWire 0.3.56)
  • Creare nella propria cartella utente (nel terminale questa cartella si chiama semplicemente ~, carattere che si chiama “tilde” e sulla tastiera italiana su Linux si ottiene premendo Alt Gr + ì cioè la i accentata, in alto a destra) le cartelle in cui i programmi vanno a cercare i plugin musicali:
    mkdir ~/.vst; mkdir ~/.vst3; mkdir ~/.lv2

A questo punto possiamo finalmente passare alla fase di installazione.


Update del sistema

Ovviamente prima di installare tutto, è meglio fare l’upgrade del sistema:
sudo apt update && sudo apt full-upgrade -y && sudo apt autoremove -y && sudo snap refresh && sudo flatpak update -y && sudo apt autoremove -y && sudo flatpak uninstall --unused -y

Installazione dei software e dei plugin principali

Ecco quel che riusciamo a installare grazie ai repository di Ubuntu e quelli di KXStudio:
sudo apt install -y \
a2jmidid \
abgate \
add64 \
adlplug \
aeolus \
agordejo \
airwindows airwindows-lv2 \
amb-plugins \
ams ams-lv2 \
amsynth \
arctican-plugins-lv2 arctican-plugins-vst \
ardour \
arpage \
artyfx \
autotalent \
avldrums.lv2 \
bchoppr \
beatslash-lv2 \
bjumblr \
blepvco \
blop blop-lv2 \
bsequencer \
bshapr \
bslizr \
calf-plugins \
caps caps-lv2 \
cardinal cardinal-lv2 cardinal-vst2 cardinal-vst3 \
carla-git carla-bridge-win64 carla-vst-wine \
cmt \
csladspa \
csound \
cv-lfo-blender-lv2 \
dexed dexed-lv2 dexed-vst \
die-plugins \
distrho-plugin-ports distrho-plugin-ports-lv2 distrho-plugin-ports-vst \
dpf-plugins dpf-plugins-lv2 dpf-plugins-vst dpf-plugins-ladspa \
dragonfly-reverb-lv2 dragonfly-reverb-vst dragonfly-reverb-standalone \
drmr \
drowaudio-plugins-lv2 drowaudio-plugins-vst \
drumgizmo dgedit \
drumkv1 drumkv1-lv2 \
easyssp-lv2 easyssp-vst \
easytag easytag-nautilus \
eq10q \
fabla \
fil-plugins \
fmit \
foo-yc20 \
g2reverb \
geonkick \
ghostess \
guitarix guitarix-lv2 guitarix-ladspa gxplugins gxvoxtonebender gxw-glade gxtuner \
helm \
hexter \
hybridreverb2 \
hydrogen hydrogen-drumkits-effects \
ildaeil \
infamous-plugins \
invada-studio-plugins-ladspa invada-studio-plugins-lv2 \
ir.lv2 \
jackass \
jconvolver \
juce-opl-lv2 juce-opl-vst \
juced-plugins-lv2 juced-plugins-vst \
klangfalter-lv2 klangfalter-vst \
linuxsampler linuxsampler-dssi linuxsampler-lv2 linuxsampler-vst \
lmms lmms-vst-server \
lsp-plugins lsp-plugins-data lsp-plugins-jack lsp-plugins-ladspa lsp-plugins-lv2 lsp-plugins-vst \
lufsmeter-lv2 lufsmeter-vst \
luftikus-lv2 luftikus-vst \
lv2vocoder \
mcp-plugins \
mda-lv2 \
mediainfo mediainfo-gui \
melmatcheq.lv2 \
mixxx \
mod-cv-plugins mod-distortion mod-pitchshifter mod-utilities \
moony.lv2 \
noise-repellent \
non-mixer \
obxd obxd-lv2 obxd-vst \
omins \
oxefmsynth \
padthv1 padthv1-lv2 \
pitcheddelay-lv2 pitcheddelay-vst \
pizmidi-plugins \
qmidiarp \
qmidiroute \
qsynth fluidsynth fluidsynth-dssi fluid-soundfont-gm \
rakarrack \
regrader \
rosegarden \
rubberband-ladspa rubberband-lv2 \
safe-plugins \
samplv1 samplv1-lv2 \
setbfree \
sherlock.lv2 \
shiro-plugins \
so-synth-lv2 \
sooperlooper \
sorcer \
swankyamp-lv2 swankyamp-vst \
swh-plugins swh-lv2 \
synthv1 synthv1-lv2 \
tal-plugins-lv2 tal-plugins-vst \
tap-lv2 \
temper-lv2 temper-vst \
teragonaudio-plugins-lv2 teragonaudio-plugins-vst \
vitalium-lv2 vitalium-vst \
vocproc \
wah-plugins \
whysynth \
wineasio \
wolf-shaper \
wolf-spectrum \
wolpertinger-lv2 wolpertinger-vst \
x42-plugins \
xsynth-dssi \
yoshimi \
zam-plugins \
zita-at1 zita-bls1 zita-dc1 zita-lrx zita-mu1 zita-resampler zita-rev1 zita-dpl1 \
zlfo \
zynaddsubfx-vst zynaddsubfx-lv2

Se vi piacciono i sequencer chiptune, potete installare questi:
sudo apt install -y \
bambootracker \
cheesecutter \
goattracker \
hivelytracker \
klystrack \
milkytracker \
pt2-clone \
schism

Infine, per abilitare la compatibilità di alcuni plugin scritti originariamente per Windows:
regsvr32 wineasio.dll

Altri plugin da installare a mano

Per installare tutti gli altri plugin non presenti nei repository, basta in generale scaricarli dal loro sito principale e scompattarli nelle cartelle utente (nascoste) che avevamo preparato prima. Per vedere le cartelle nascoste vi ricordo che basta premere Ctrl+h nel file manager. Le cartelle nascoste, su Linux, sono cartelle il cui nome semplicemente inizia con un punto. Le tre cartelle che abbiamo preparato sono .vst per i plugin di tipo “Linux VST2”, .vst3 per i plugin di tipo “Linux VST3”, e .lv2 per i plugin di tipo LV2. Siccome la vostra cartella utente si può abbreviare con la tilde (~) invece di scrivere cose come /home/conte-mascetti/.vst2 nel terminale è sufficiente scrivere ~/.vst2
Ecco tutti i plugin che uso o che mi avete segnalato, con relativo link da cui scaricarli e indicazioni su come renderli disponibili in Carla e Ardour:

Aether
https://github.com/Dougal-s/Aether/releases
Scaricare il file zip e scompattare la cartella .lv2 in ~/.lv2

B.Low
https://github.com/sjaehn/BLow/releases
Scaricare il file tar.xz ed estrarre la cartella .lv2 in ~/.lv2

B.Oops
https://github.com/sjaehn/BOops/releases
Scaricare il file tar.xz ed estrarre la cartella .lv2 in ~/.lv2

B.Schaffl
https://github.com/sjaehn/BSchaffl/releases
Scaricare il file tar.xz ed estrarre la cartella .lv2 in ~/.lv2

chowtapemodel
Installare il deb da:
https://github.com/jatinchowdhury18/AnalogTapeModel/releases

Dragonfly reverb
Li abbiamo installati con un comando prima, ma in alcuni casi il pacchetto potrebbe non funzionare e, specie per la loro versione VL2 Ardour potrebbe non vederli. Per ovviare a questo problema andare qui:
https://github.com/michaelwillis/dragonfly-reverb/releases/tag/3.2.5
Scaricate qui il file .tgz, scompattatelo e, solo se non vengono visti da Ardour, copiate le cartella .lv2 in ~/.lv2, e tutti i file .so in ~/.vst

gmsynth
https://x42-plugins.com/x42/x42-gmsynth
Scaricare il file tar.xz ed estrarre la cartella .lv2 in ~/.lv2

kapitonov (kpp)
https://github.com/olegkapitonov/Kapitonov-Plugins-Pack/releases
scaricate il tar.bz2 per Ubuntu, entrare nelle varie cartelle ed estrarre tutti i .lv2 in ~/.lv2

librearp
https://librearp.gitlab.io/download/
Scaricare il Linux64 sia lv2 che vst3 e scompattare rispettivamente la cartella .lv2 in ~/.lv2 e la cartella .vst3 in ~/.vst3

Monique
https://github.com/surge-synthesizer/monique-monosynth/releases
Scaricare il file zip per Linux ed estrarre la cartella .vst3 in ~/.vst3

Ninjas2
https://github.com/clearly-broken-software/ninjas2/releases
Scaricare lo zip Linux64 e scompattare la cartella .lv2 in ~/.lv2

Odin2
https://www.thewavewarden.com/odin2
“Linux (generic)” → Download → estrarre la cartella .vst3 in ~/.vst3 e la cartella .lv2 in ~/.lv2

ReMID-lv2
È un vecchio plugin tutto particolare (si “programma” modificando un file di testo, ma si può caricare come strumento in qualsiasi DAW) che non viene più sviluppato da un pezzo, ma se qualcuno è abituato a usarlo, la versione flatpak funziona. Quindi basta installare ReMID-lv2 da flatpak, copiare la cartella .lv2 nella cartella ~/.lv2 e disinstallare. Tutto questo si fa in tre comode righe da terminale:
flatpak install org.freedesktop.LinuxAudio.Plugins.reMID-lv2/x86_64/21.08 -y
cp -r /var/lib/flatpak/runtime/org.freedesktop.LinuxAudio.Plugins.reMID-lv2/x86_64/21.08/active/files/lv2/remid.lv2 ~/.lv2
flatpak uninstall org.freedesktop.LinuxAudio.Plugins.reMID-lv2/x86_64/21.08 -y

Sfizz
Scaricare e installare l’ultimo .deb per Ubuntu da qua:
https://sfz.tools/sfizz/downloads
Serve per usare i soundfont nel formato sfz.

Stone Phaser
Scaricare e installare il .deb da qua:
https://github.com/jpcima/stone-phaser/releases

String Machine
Scaricare e installare l’ultimo .deb per Ubuntu da qua:
https://software.opensuse.org/download.html?project=home%3Ajpcima&package=string-machine

Surge XT
Scaricare e installare il .deb da qua:
https://surge-synthesizer.github.io/

Tunefish4
Per qualche strano motivo, su Ubuntu 22.04 il VST2 per Linux che si scarica dal sito ufficiale da estrarre in ~/.vst non funziona. Carla non lo vede e Ardour dà errore. Ma la versione flatpak funziona, quindi basta usare uno stratagemma simile a quello usato per ReMID-lv2, tre righe nel terminale:
flatpak install org.freedesktop.LinuxAudio.Plugins.Tunefish4/x86_64/21.08 -y
cp /var/lib/flatpak/runtime/org.freedesktop.LinuxAudio.Plugins.Tunefish4/x86_64/21.08/active/files/vst/Tunefish4.so ~/.vst/
flatpak uninstall org.freedesktop.LinuxAudio.Plugins.Tunefish4/x86_64/21.08 -y

White Elephant Audio Richter
https://www.whiteelephantaudio.com/plugins/richter
Scaricare il file e scompattare la cartella .vst3 in ~/.vst3

White Elephant Audio Carve
https://www.whiteelephantaudio.com/plugins/carve
Scaricare il file e scompattare la cartella .vst3 in ~/.vst3

White Elephant Audio Songbird
https://www.whiteelephantaudio.com/plugins/songbird
Scaricare il file e scompattare la cartella .vst3 in ~/.vst3

White Elephant Audio MONSTR
https://www.whiteelephantaudio.com/plugins/monstr
Scaricare il file e scompattare la cartella .vst3 in ~/.vst3

Altro software, da flatpak

I programmi installati da flatpak vedono solo la cartella utente, quindi non vedono gran parte dei plugin installati prima, a parte quelli copiati nelle cartelle .lv2, .vst3 e .vst. Li installiamo in questo modo perché c’è quasi tutto già compilato e sempre aggiornato all’ultima versione stabile, o perché non esistono via apt. Ovviamente saltate qualche riga se conoscete il programma e non lo volete usare, o disinstallatelo in seguito (i comandi flatpak sono nella guida Ubuntu 22.04 supercompleta).
Quando vi chiede che versione installare, selezionate sempre la 21.08, o comunque quella più recente.
sudo 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 \
io.github.muse_sequencer.Muse \
io.github.seadve.Mousai \
net.sf.nootka \
net.sonic_pi.SonicPi \
net.sourceforge.dmidiplayer \
net.sonobus.SonoBus \
net.sourceforge.VMPK \
org.audacityteam.Audacity \
org.denemo.Denemo \
org.kde.minuet \
org.musescore.MuseScore \
org.pipewire.Helvum \
org.rncbc.qpwgraph \
org.sugarlabs.MusicBlocks \
org.zrythm.Zrythm

Qtractor da flatpak è più aggiornato ma non vede i plugin, quindi meglio andare qua: https://sourceforge.net/projects/qtractor/files/qtractor/ e scaricare l’appimage

I soundfont nel formato sfz

Li caricate in Ardour attraverso il plugin sfizz. I più usati sono:

Salamander Piano
Scaricate (44.1 o 48 KHz scegliete voi quale frequenza usate di più) l’archivio da qui:
https://sfzinstruments.github.io/pianos/salamander
e scompattatelo in una cartella a parte, dove volete.

Salamander DrumKit
Scaricate l’archivio tar (con torrent o premendo su “Show all files” da qui:
https://archive.org/details/SalamanderDrumkit
Scompattate in una cartella. I file .sfz carucati in Sfizz caricheranno a loro volta tutti i samples. Potete scegliere se avere una traccia per strumento o una traccia in cui ogni nota è uno strumento (ALL.SFZ)

Virtual Playing Orchestra
Scaricate i tre archivi da qui:
http://virtualplaying.com/virtual-playing-orchestra/
Poi li scompattate nella stessa cartella (a piacimento, come prima), acconsentendo quando il sistema ci chiederà se vorremo sovrascrivere dei file.

Attivare i plugin

A questo punto bisogna rendere disponibili tutti questi plugin perlomeno in Ardour.

  • Lanciare Ardour
  • Finestre → Gestore dei plugin → Re-scan all → Yes
  • Mentre aggiorna l’elenco, premere su “Autoskip unresponsive plugin” per velocizzare il processo

Teoricamente non bisognerebbe riavviare Ardour, ma talvolta per alcuni plugin in passato l’ho dovuto riavviare.

Installare, configurare e usare l’arranger JJazzLab

JJazzLab, straordinario arranger open source e libero a livelli anche più alti di programmi commerciali blasonati come Band In a Box, merita un capitoletto a parte perché è un po’ complesso da installare e configurare, ma poi da usare è semplice.

  • Scaricare lo zip da https://www.jjazzlab.com/en/download/
  • Estrarre la cartella ovunque si voglia. Io nella mia home ho creato una cartella APPS in cui metto tutte queste applicazioni che se ne stanno da sole, nonché le Appimage e così via
  • A questo punto occorre scaricare i soundfont, cioè tutta l’orchestra che suonerà le note che gli manderà JJazzLab:
    wget https://musical-artifacts.com/artifacts/1036/JJazzLab-SoundFont.sf2
  • Ogni volta che si usa JJazzLab, prima occorre creare una porta MIDI virtuale, con questo comando:
    sudo modprobe snd-virmidi midi_devs=1
  • Se invece si vuole rendere la porta MIDI virtuale sempre presente nel sistema, fare così:
    sudo geany /etc/modules
    Aggiungere questo alla fine:
    snd-virmidi
    Salvare e uscire, poi:
    sudo geany /etc/modprobe.d/snd-virmidi_options.conf
    Aggiungere questo:
    options snd-virmidi midi_devs=1
    Salvare e uscire

Ora bisogna configurarlo:

  • Lanciare Qsynth (l’abbiamo installato prima)
  • In Qsynth, caricare il soundfont scaricato (Setup → Soundfonts → Load, trovare il file scaricato prima, JJazzLab-SoundFonts.sf2)
  • Andare nella cartella in cui abbiamo estratto JJazzLab, troviamo la cartella bin, troviamo il file Jjazzlab contenuto al suo interno e col tasto destro del mouse selezionare “Esegui come programma”: in questo modo lanciamo JJazzLab
  • Tools → Options → MIDI: selezionare il primo dei VirMIDI nell’elenco a sinistra (se non compare, non avete creato la periferica MIDI virtuale come sopra indicato) → OK
  • Cliccare sull’icona dell’Output Synth Editor (una piccola tastiera di pianoforte, in alto al centro nella finestra dell’applicazione)
  • Presets → JJazzLab Soundfont → With FluidSynth (Linux) → Yes → OK/Save

JJazzLab usa gli arrangiamenti delle tastiere Yamaha, i cui file sono onnipresenti in rete.
Basta scaricarli e scompattarli nella cartella ~/JJazzLab/Rhythms

In particolare trovate moltissime risorse qui:

Vocal Remover

Vocal Remover è un motore di intelligenza artificiale che consente – da riga di comando – di creare due tracce, una strumentale e una di sola voce, partendo da un file audio di una canzone cantata.

Per installarlo (solo da utente):

Per usarlo:

  • Aprire il terminale nella cartella di Vocal Remover. Consiglio: prima copiarci dentro il file audio da elaborare, in questo esempio lo chiameremo canzone.mp3
  • Se non avete accelerazione hardware, digitare:
    python inference.py --input canzone.mp3
  • Se avete accelerazione hardware, digitare:
    python inference.py --input canzone.mp3 --gpu 0
    Così ci mette di più ma può dare risultati migliori:
    python inference.py --input canzone.mp3 --tta --gpu 0
    Così è sperimentale ma se funziona potrebbe dare risultati ancora migliori:
    python inference.py --input canzone.mp3 --postprocess --gpu 0

Come usare tutto ciò

Latenza e frequenza dell’audio di sistema

Grazie a Pipewire è possibile cambiare al volo, quando si vuole, la latenza e la frequenza dell’audio di tutte le applicazioni.

La latenza è il tempo che ci mette il sistema a elaborare l’audio che entra nella scheda sonora. Di default è impostato a 1024 millisecondi, che per ascoltare o fare semplici cose con il microfono come una chat, va benissimo così. Se invece stiamo componendo un pezzo e vogliamo registrare la nostra voce o la chitarra elettrica mentre ascoltiamo le tracce registrate in precedenza, 1024 millisecondi di ritardo tra quello che suoniamo/cantiamo e quello che viene registrato è davvero troppo. Chi è abituato con Jack dalle precedenti guide sa occorre lanciare Jack, che disabilita l’audio delle varie applicazioni non basate su jack, e impostare la latenza da lì. Con Pipewire questo problema non sussiste più, basta ricordarsi di abbassare la latenza prima di lanciare il programma con cui facciamo produzione musicale. Ovviamente più si abbassa la latenza più il sistema diventa instabile e la CPU si surriscalda, quindi cercate di valutare ogni volta di quanto abbassare la latenza.

  • Per cambiare al volo la frequenza, per esempio su 44100 Hz scrivere:
    pw-metadata -n settings 0 clock.force-rate 44100
    (il default è 48000)
  • Per cambiare al volo la latenza, per esempio a 512 millisecondi, scrivere:
    pw-metadata -n settings 0 clock.force-quantum 512
    (il default, si diceva, è 1024. Latenze ancora più basse di 512 possono essere 256, 128 e addirittura 64 millisecondi con schede sonore particolarmente costose e kernel lowlatency, che vediamo di seguito)

In ogni momento, per sapere quali sono i valori di frequenza e latenza usati dai programmi lanciati, scrivere:
pw-top
(q per uscire)

Per capire ancora meglio come usare Pipewire e per aggiungere un’interfaccia grafica che ne cambi le impostazioni al volo, guardate questo bellissimo video in italiano, “Pipewire è pronto per la produzione audio su linux ? + tips & tricks” del canale JB Ambelivebol Music:
https://www.youtube.com/watch?v=kMYWaKpJsUg
(alla fine dice che con Ardour ci sono problemi, ma il video non è recentissimo e ora sono stati ampiamente risolti)

Kernel Lowlatency

In un sistema operativo, quello che vedete è solo un’interfaccia grafica e una serie di programmi, che dialogano con qualcosa di molto più complesso, che fa funzionare silenziosamente tutte le periferiche e la logica interna di tutto il sistema. Questo strato del sistema, il più centrale, si chiama “kernel” (appunto “nucleo”, “nocciolo” in inglese). Tutte le cose materiali che stanno dentro al nostro computer, quando funzionano mandano un’”interruzione” al kernel, come a dire “ehi, devo fare qualcosa, mi consideri?”. Il kernel decide le priorità e i tempi da assegnare a queste interruzioni (fra le altre cose che fa).
Ora, i grossi server che devono gestire molti segnali provenienti da apparecchi di rete collegati e servizi, hanno dei tempi lunghissimi nel soddisfare le interruzioni (le richieste) della scheda audio o video o quant’altro, perché la rete ha sempre la precedenza. Nei sistemi normali questi tempi (tempi che appunto noi percepiamo come “latenza”), sono medi, un buon compromesso, in modo che si possa gestire l’audio ragionevolmente ma che anche internet e i vari servizi non dipendano completamente dalla priorità della scheda audio, video eccetera.
Mentre registriamo invece ci occorre che questa latenza sia minima, cioè che mentre suoniamo con la chitarra e il PC registra magari assegnando anche degli effetti, tutto il resto debba andare in secondo piano.
Ecco perché occorrerebbe installare il “kernel lowlatency”: è un kernel che ci permette di ottenere il massimo dalla nostra scheda sonora. Quando essa chiama, il kernel risponde. Immediatamente. In particolare, Jack e Pipewire sanno benissimo come sfruttare automaticamente al massimo questo kernel, e tutto quello che dipende da Jack e Pipewire avrà priorità assoluta su tutto il resto. Su Windows si cerca di ottenere una cosa simile installando i “driver ASIO”: un sistema che però non assicura la bassa latenza e l’affidabilità di un kernel dedicato.
Ora, si può usare tutto anche senza il kernel lowlatency, ma certamente almeno mentre state registrando seriamente, è meglio usarlo. Purtroppo dà alcuni problemi con alcune specifiche applicazioni o driver video proprietari quindi installatelo solo se usate il PC soltanto per la musica. Se il PC e/o la scheda sonora sono abbastanza potenti e supercostosi, potete anche non usare il kernel a bassa latenza. Se lo installate, il sistema partirà di default con quello, ma potete sempre partire con il kernel generic. Si può decidere se avviare Ubuntu col kernel normale (Generic) o quello a bassa latenza (lowlatency) all’avvio del PC. È molto semplice: all’avvio del computer basta tenere premuto il tasto Shift (Maiusc) e ci apparirà “grub”, ossia un elenco dei sistemi installati sul nostro computer. Con le frecce sulla tastiera selezioniamo “Ubuntu (Opzioni avanzate)” e quindi “lowlatency” oppure “generic” e premiamo invio: Ubuntu partirà con il kernel scelto.

Per installare il kernel lowlatency, è sufficiente scrivere questo comando e quindi riavviare:
sudo apt install linux-lowlatency

Applicazioni con font ridotti di scala

Se avete scelto di ridurre la dimensione dei caratteri di Gnome con l’applicazione “Personalizzazioni” (Gnome Twaks) come spiegato nella guida Ubuntu 22.04 Supercompleta, probabilmente programmi come Mixxx non visualizzeranno correttamente la grafica.
Per farli partire con la grafica corretta, occorre premettere questa stringa al comando che li lancia:
export QT_AUTO_SCREEN_SCALE_FACTOR=0

Ora, siccome per far partire Mixxx occorre scrivere flatpak run org.mixxx.Mixxx, per farlo partire con la grafica corretta basta scrivere:
export QT_AUTO_SCREEN_SCALE_FACTOR=0; flatpak run org.mixxx.Mixxx

qpwgraph

Il software qpwgraph (installato prima nell’elenco di applicazioni flatpak) si occupa di collegare i flussi audio e video di tutte le periferiche e di tutte le applicazioni avviate. È come Jack, ma anche per il video. Possiamo usare anche Helvum, o il vecchio QJackCtl (la cui scheda “Connessioni” ora è diventata molto simile a qpwgraph), o anche Carla. Ma qpwgraph per ora mi sembra il migliore. Permette anche di salvare lo status dei collegamenti e quindi ricreare uno schema di collegamenti successivamente.

Ci sono mille cose che si possono fare, dal karaoke (con Drumstick MIDI Player, che abbiamo installato prima) al suono in diretta per improvvisare su una base (Guitarix + JJazzLab) e tanto altro. Ma qui ci focalizziamo sulla produzione musicale, quindi sulla registrazione multitraccia.

Ed ora, produciamo!

Per la registrazione multitraccia si usa Ardour, maggiormente oggi su Linux, ma siete liberissimi di provare altre DAW come Zrythm, Qtractor, LMMS o i vetusti Muse e Rosegarden.

Ardour è documentatissimo e in particolare consiglio il canale YouTube di Unfa, che oltre a molteplici guide su Ardour fa anche una diretta al mese in cui produce un pezzo elettronico sul momento, appunto con Ardour: https://www.youtube.com/c/unfa000/videos

In particolare, Unfa ha fatto un corso completo di Ardour, che è davvero straordinario:
https://www.youtube.com/playlist?list=PLi2LbJnGR-49PM2Pbs46zySEO-7tBsBsI


Copyright: Stefano Droghetti
Licenza: Creative Commons BY-NC
Prima pubblicazione: 20 maggio 2022
Ultima modifica: 31 agosto 2022