Linux-DAW/README.md
2023-10-05 19:47:34 +03:00

211 lines
3.5 KiB
Markdown

# Linux
## Low Latency Kernel
```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