217 lines
3.7 KiB
Markdown
217 lines
3.7 KiB
Markdown
# Linux
|
|
|
|
## Low Latency Kernel
|
|
|
|
```sh
|
|
echo "@audio - rtprio 95" >> /etc/security/limits.conf
|
|
echo "@audio - memlock unlimited" >> /etc/security/limits.conf
|
|
sudo usermod -a -G audio ste
|
|
```
|
|
|
|
```sh
|
|
sudo apt install linux-lowlatency
|
|
restart
|
|
uname -a
|
|
```
|
|
|
|
## Pipewire
|
|
|
|
### Install
|
|
```
|
|
sudo add-apt-repository ppa:pipewire-debian/pipewire-upstream
|
|
sudo apt update
|
|
sudo apt install \
|
|
pipewire \
|
|
gstreamer1.0-pipewire \
|
|
libpipewire-0.3-{0,dev,modules} \
|
|
libspa-0.2-{bluetooth,dev,jack,modules} \
|
|
pipewire{,-{audio-client-libraries,bin,media-session,pulse,tests}}
|
|
```
|
|
|
|
**QT Interface**
|
|
|
|
```sh
|
|
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
|
|
flatpak install flathub org.rncbc.qpwgraph
|
|
```
|
|
|
|
|
|
**GTK Interface**
|
|
|
|
https://gitlab.freedesktop.org/pipewire/helvum
|
|
|
|
```sh
|
|
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
|
|
flatpak install org.gnome.{Platform,Sdk}//45 org.freedesktop.Sdk.Extension.rust-stable//23.08 org.freedesktop.Sdk.Extension.llvm16//23.08
|
|
flatpak-builder --install flatpak-build/ build-aux/org.pipewire.Helvum.json
|
|
flatpak run org.pipewire.Helvum
|
|
```
|
|
|
|
|
|
|
|
|
|
### Setup
|
|
```sh
|
|
systemctl --user daemon-reload
|
|
systemctl --user --now disable pulseaudio.service pulseaudio.socket
|
|
systemctl --user mask pulseaudio
|
|
systemctl --user --now enable pipewire pipewire-pulse
|
|
pactl info
|
|
```
|
|
|
|
|
|
### WirePlumber
|
|
|
|
```sh
|
|
sudo apt install wireplumber pipewire-media-session-
|
|
|
|
# For ALSA clients to be configured to output via PipeWire,
|
|
sudo cp /usr/share/doc/pipewire/examples/alsa.conf.d/99-pipewire-default.conf /etc/alsa/conf.d/
|
|
|
|
# For JACK clien
|
|
sudo cp /usr/share/doc/pipewire/examples/ld.so.conf.d/pipewire-jack-*.conf /etc/ld.so.conf.d/
|
|
|
|
# For Bluetooth, just remove the pulseaudio-module-bluetooth
|
|
sudo apt remove pulseaudio-module-bluetooth
|
|
|
|
# ?
|
|
sudo ldconfig
|
|
|
|
# enable the new media session
|
|
systemctl --user --now enable wireplumber.service
|
|
|
|
# Verify
|
|
pactl info
|
|
|
|
# Status
|
|
wpctl status
|
|
wpctl inspect 48
|
|
```
|
|
|
|
### Configure
|
|
`/etc/pipewire/pipewire.conf`
|
|
|
|
```
|
|
default.clock.min-quantum = 8
|
|
default.clock.max-quantum = 8
|
|
default.clock.quantum-limit = 8
|
|
```
|
|
|
|
`systemctl --user restart pipewire.service`
|
|
|
|
|
|
https://github.com/robbert-vdh/dotfiles#pipewire
|
|
|
|
### 1. ALSA period size and the number of periods.
|
|
|
|
Default: 64 frames/period
|
|
|
|
`~/.config/wireplumber/main.lua.d/90-alsa-config.lua`
|
|
|
|
`systemctl --user restart wireplumber`
|
|
|
|
### 2. Sample rate 48000
|
|
|
|
Default: 44100
|
|
|
|
`~/.config/pipewire/pipewire.conf`
|
|
|
|
|
|
### 3. The quantum size
|
|
|
|
Default: 512 samples
|
|
|
|
`pw-metadata -n settings 0 clock.force-quantum N`
|
|
|
|
### 4. PipeWire always replace JACK.
|
|
|
|
`systemctl --user start pipewire-pulse.service pipewire-pulse.socket`
|
|
|
|
|
|
### restart
|
|
|
|
`systemctl --user restart pipewire pipewire-pulse wireplumber`
|
|
|
|
|
|
|
|
https://gitlab.freedesktop.org/pipewire/pipewire/-/wikis/Config-PipeWire#runtime-settings
|
|
|
|
```sh
|
|
pw-metadata -n settings
|
|
pw-metadata -n settings 0 clock.force-rate 48000
|
|
pw-metadata -n settings 0 clock.force-quantum 64
|
|
```
|
|
|
|
# DAW
|
|
|
|
## Reaper
|
|
|
|
https://www.reaper.fm/download.php
|
|
|
|
**Reaper Themes**
|
|
|
|
https://stash.reaper.fm/tag/Themes
|
|
|
|
|
|
# Sampler
|
|
|
|
## Decent Sampler
|
|
|
|
https://www.decentsamples.com/product/decent-sampler-plugin/
|
|
|
|
**Presets**
|
|
|
|
https://www.pianobook.co.uk/sampler/decent-sampler/
|
|
|
|
|
|
|
|
https://pulse.audio/
|
|
|
|
https://pulsedownloader.com/
|
|
|
|
|
|
# Instrument
|
|
|
|
## Vital
|
|
|
|
**Presets**
|
|
|
|
|
|
## Surge XT
|
|
https://surge-synthesizer.github.io/
|
|
|
|
**Presets**
|
|
|
|
https://www.kvraudio.com/product/surge-xt-by-surge-synth-team/downloads
|
|
|
|
https://presetshare.com/presets?instrument=7&page=5
|
|
|
|
## Cardinal
|
|
https://github.com/DISTRHO/Cardinal
|
|
|
|
|
|
|
|
# Plugins
|
|
https://www.audiopluginsforfree.com/
|
|
|
|
## Fire
|
|
https://github.com/jerryuhoo/Fire
|
|
|
|
## Autotune
|
|
https://x42-plugins.com/x42/x42-autotune
|
|
|
|
## LSP (Linux Studio Plugins)
|
|
https://lsp-plug.in
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|