User:Thisven

From ArchWiki

this.ven – FLOSS musician, tinkerer and privacy advocate

Everbody‘s trending on a tube or inside the f*
Book – you can‘t exist without a profile
So why should I stay away and miss all the news

Website


Sandbox for article rewrites:

Rewrite notes


structure discussion:

--this.ven (talk):

Thoughts on article structure:

  • Shorten hardware section by moving and linking specific hardware to separate articles within the Category:Sound
  • Link to different setups (JACK-only, PulseAudio+JACK, PipeWire) for use cases (or combinations) on subpages of Professional audio and point out configuration that is additional to the articles of those sound systems

--Jujudusud (talk):

2023 September 29th: Adding some:

PipeWire can be used as a JACK client just like a replacement of pulseaudio but with a high capacity to idle all the stuff when not used. We have to talk about that.

Jujudusud (talk) 17:10, 29 September 2023 (UTC)

Thoughts on article structure:

  • Getting started:
    • Explaining the low latency operation concept.
    • Explaining how the latest vanilla kernel (and the archlinux distro) is already optimised for low latency audio. If you do MIDI you should use a kernel compiled with: Timer Frequency set to 1000Hz (CONFIG_HZ_1000=y). The vanilla kernel is not optimized for that usage.
    • Explaining the synchronous execution of all clients needs.
    • Finish the explanations with "Difference between needs and wants":
      • Low latency only for live or recording or any operation that requires human intervention without latency.
      • Playback or mixing do not need ultra low latency.

Everything else should be placed in the following sections.

  • Choice of a sound server

ALSA alone cannot synchronise all the clients, you need a sound server for that. With only one application and the proper configuration, you can achieve the (low) latency you wanted without x-runs.

    • pulseaudio is not a sound server for pro audio, only for multimedia purposes as synchronisation of multiclients is not implemented.
    • JACK has been developped for pro audio requirements, it synchronises multiclients with predictable latency. We do not need to talk about JACK 1 JACK 2 jackd here because it is the same "thing" from the musician chair side.
    • Pipewire is designed to replace JACK + pulseaudio (and add a vidéo implementation) and presents itself has JACK to the JACK clients, but it is a beta version and there is a lack of some essential things in it.

link to "unmuting in alsa" : Advanced Linux Sound Architecture#Unmuting the channels

  • System tweaks
    • Swappiness or no swap choice. Explain that those days, it is not even necessary to use swap for Pro Audio.

Use cases:

--Jujudusud (talk):

Use:

  1. Desktop,
  2. recording demos with like 5 audios simultaneously,
  3. Jamulus playing with a band through the internet,
  4. virtual guitar and/or bass amp,
  5. virtual instrument.

Hardware:

  1. desktop tower,
  2. intel i7 2600k + intel integrated graphic,
  3. no wifi, no bluetooth,
  4. usb 2 and usb 3 sata3 ssd pci-e 3 motherboard,
  5. 128 Go SSD for the system + 1 To HDD for the backups,
  6. 24" @ 1920x1200 LCD screen DVI,
  7. Internal sound chipset disabled in the bios,
  8. Presonus Audiobox USB audio interface.

System' sound/MIDI:

  1. ALSA audio + bridge ALSA->PulseAudio->JACK (plugin) Always on,
  2. PulseAudio + bridge ->PulseAudio sink (capture + playback),
  3. JACK,
  4. Cadence + Catia,
  5. ALSA MIDI + A2J midi bridge (export hardware + start with JACK).

New setup in test:

  1. Alsa + PipeWire + PipeWire-jack,
  2. Patchance to enable connexions and set the buffer size.

--this.ven (talk)

Use (still sorted from high to low latency requirements):

  1. everyday desktop for web browsing etc.
  2. composing and ear transcribing music
  3. mixing and mastering with lots of software processing (plugins)
  4. guitar amp simulation and virtual instrument (drums)
  5. live playing with other musician over the internet using JackTrip
  6. recording 2 simultaneous tracks (with software monitoring)

These setups are used in combination: 2+3, 4+5, 4+6, 4+5+6

Hardware:

Software:

--upacesky:

Desktop setup for audio mastering

Hardware:

  • Tower PC, AMD ryzen (no idea about the generation etc.)
  • Internal Soundcards: RME HDSPe AES & RME HDSP MADI (ExpressCard with PCIe Adapter) -External converters
  • SSD as a system disk, HDD for storage and backups

Softwares:

  • Ubuntu tweaked for audio, so it has the official low-latency kernel and tons of plugins
  • Jackd + qjackctl
  • Pulseaudio bridged to jackd for everyday stuff (on jack startup)
  • RME control as a digital mixing board for all my inputs and outputs

Use case:

  • Audio mastering using a floss pipeline and (mostly) DIY hardware. In this setup, I do not really care about latency, I just start ardour, throw a bunch of plugins and hardware inserts, make it sound darn good and export the result.
  • I edit the radio show "Libre à vous" in ardour in order to transform it into a podcast.
  • Recording some friends (mostly overdubs, with low latency)

Mobile audio setup

Hardware:

  • Laptop Schenker Via Pro
  • AMD Ryzen™ 7 4800H with Radeon™ Graphics × 16
  • 32Go RAM
  • RME Babyface Pro in Class Compliant mode

Softwares:

  • Manjaro Gnome
  • Pipewire
  • Helvum as a pipewire Patchbay (similar to jack patchbays) audio Softwares and Plugins

Use case:

  • Audio recording on the go, I can run this setup for hours without a power source.
  • Podcast editing
  • Everyday audio
  • A lot of linuxaudio testing

--Nh:

Hardware:

  • CPU: AMD Ryzen 5 5600X (12) @ 3.700GHz
  • GPU: AMD ATI Radeon RX 480
  • Memory: 32020MiB
  • RME Hammerfall / Multiface 1 PCI through generic PCI-Express adapter

Software:

  • Jack2 with PulseAudio and Alsa bridges through Cadence (no custom setup, just clicking the buttons in Cadence). Sadly with dbus (see below)
  • Standard Arch Linux kernel with pacman -Sy realtime-generic-setup
  • Music production with synths, sampling and recording, mostly live recording through midi keyboards or actual instruments.
  • Sequencing with Laborejo or Ardour (jack mode)
  • "Awesome" Window Manager

Use cases:

  • General purpose computer for desktop, office, games, browser, programming etc.
  • Also for audio production. Jack is permanently running.

Variants:

  • I also have a laptop with nearly the same system, just less installed software (no office, no games etc.). This is only for recording. I use the same RME device, but with an older laptop that supports the laptop interface card. This uses qjackctl and pure jack2, no pulseaudio, no dbus and no bridges.
  • Before the pandemic I ran a Desktop setup without pulseaudio, without bridges and without dbus. It used two sound interfaces: the RME Multiface with jack for recording and the internal motherboard sound device for browser, listening to music, games etc. The two outputs were connected outboard with an analogue mixer and there was no crosstalk in software between these two, at all. The software mixing for "consumer audio" was done by ALSA dmix, which worked very well. In the end I switched to the cadence based setup above because one specific video conference web-tool I needed for work was not working.