Restructuring and separating proposal
As others already stated this article needs care. I'd suggest the following to take place on a monthly basis, starting at 2022-09-02:
Clarify, right from the start, that this article is about a basic pro audio system setup and not on how to actually make music– Done (2022-09-02 at 09:38:51)
- Revisit and restructure sections in the following order:
Getting started by outlining the state of audio in GNU/Linux and discuss whether a realtime kernel and/or system configuration is necessary as of 2022– Done (2022-10-17 23:43:00)
- Establish a streamlined best practices guideline in System configuration by validating (to some extent) the quality and topicality of configuration that is considered outdated, unneccessary or just "voodoo", as stated here already as well as on Linuxmusicians.com in order to remove or find other places for it
Introduce the concept of a sound server in Choosing a sound server as central component and concentrate on a PipeWire-only and JACK-only setup at first. More advanced setups using a combination, like PulseAudio+JACK, will be described in the section Professional_audio/Examples#Advanced_sound_server_setups of the planned subpage with regard to the use case as already done in the article PulseAudio/Examples– Done (2022-10-29 08:45:46) Update Professional_audio#JACK section by removing outdated information and renaming it to Professional_audio#JACK_parameters– Done (2022-10-29 09:19:13) Provide a section on Professional_audio#Latency_verification and compensation in JACK– Done (2022-10-29 09:28:32) Briefly discuss the requirement of a Realtime kernel (pros and cons), describe how to install a precompiled one from the realtime repository and incorporate the current AUR section while referring to the Realtime kernel patchset article among others for compiling instructions and further reading– Done (2022-10-17 23:47:58) Provide an Applications section to link to categories in the List_of_applications/Multimedia#Audio for examples of software for composing, live recording, sound design, etc.– Done (2022-10-17 23:46:01) Shorten Hardware section by moving and linking specific hardware to separate articles within the Category:Sound– Done (2022-10-02 21:17:18) Remove Restricted software section as VST2 was never widespread in Linux and you can't get the SDK any more– Done (2022-09-22 22:08:14) The rest of the sections (except Linux and Arch Linux Pro Audio in the news) might be adopted with just a few additions and link updates, where required– Done (2022-10-06 10:51:39)
- Create a dedicated article for on-boarding audio developers, maintainers etc. as subpage Professional_audio/Development
- Create Professional_audio/Plugins as place for e.g. Professional_audio#Environment_variables and other side information regarding CLAP, LADSPA, LV2, VST.
- Create an article on FireWire devices to discuss details specific to pro audio
Current proposals can be found in my sandbox.
I had to disable the intel_pstate driver with the boot parameter "intel_pstate=disable" in order to get JACK to run properly with pstate enabled kernels. This will probably need to be added to the wiki, but I'm going to wait and make sure that other people are experiencing the same issue before I make the edit. Mynis (talk) 23:55, 21 June 2013 (UTC)mynis
This and that
unfortunately I don't have the time to check everything from
However, taking a brief look, I noticed a few things.
"Latencies of 5ms down to even as low as 1ms can be achieved with good hardware and proper configuration."
This is true for just using an effect processor or lightweight audio/MIDI productions, but the latency likely increases rapidly on many computers when doing more advanced audio/MIDI productions.
linux-lts from official repositories is 4.9.18, so is there the need for the threadirqs warning?
Did somebody compare alsa-midi-latency-test with and without
echo 2048 > /sys/class/rtc/rtc0/max_user_freq echo 2048 > /proc/sys/dev/hpet/max-user-freq
IMO we could assume that nowadays only hpet (hrtimer) is used by MIDI software, so if the above should make sense, then just for hpet.
I also think that "Timer Frequency is set to 1000Hz (CONFIG_HZ_1000=y; if you do not do MIDI you can ignore this)" is obsolet.
Is there any evidence that editing
vm.swappiness = 10 fs.inotify.max_user_watches = 524288
$ setpci -v -d *:* latency_timer=b0 $ setpci -v -s $SOUND_CARD_PCI_ID latency_timer=ff # eg. SOUND_CARD_PCI_ID=03:00.0 (see below)
is a good idea?
I just noticed that for my old mobo unbinding USB ports sharing an IRQ might be useful, while for my new mobo this seems to be irrelevant.
"For onboard and USB devices, try Periods/Buffer = 3." Why? IMO the sane value is "2". The article is named "Professional audio" so we could assume at least pro-sumer USB audio interfaces and no onboard sound at all.
"If after getting jack setup you will find that Flash has no audio.
In order to get flash to work with jack you will need to install the libflashsupport-jackAUR package."
What the ...? It's not an issue to mention onboard devices by a short sentence, but this is just clutter.
When is flash needed for pro-audio usage? I suspect it's the same as for using pulseaudio in combination with jack, for all those radio productions that require flash and skype? IMO this doesn't belong to a Wiki about pro-audio. Let's focus on important things.
"If you want to use any MIDI hardware you need to ensure the ALSA MIDI driver is loaded. You can set the MIDI driver to load at boot by creating the file /etc/modules-load.d/alsamidi.conf containing:"
There's no need to do this!
Perhaps the audio hardware should move to another Wiki page. If we add more hardware to this list, this could become very long.
Shouldn't we refer more to jackd instead of jackdbus? For good reasons the Wiki mentions lightweight desktop environments and at the same time we introduce dbus?
This page is disastrous
The JACK and PulseAudio pages are bad, but this is a whole different level. This is so bad that it actively hampers the progress of someone who's trying to achieve the setups described. The entire page needs a rewrite. Actioninja (talk) 05:48, 28 May 2017 (UTC)
- Thanks for your remarks on the state of the article. We, the Sonoj community, felt the same and rewrote it in the last weeks. Our focus has been on more technical related configuration as reviewing audio applications seems to be out of the scope of ArchWiki. If you have any more suggestions, feel free to join our conversation, see #Restructuring_and_separating_proposal.
- Now, the page is rewritten. Do you @Actioninja have any remarks ?
- Jujudusud (talk) 17:04, 29 September 2023 (UTC)
Want to contribute some findings
Hello, I've used this page for quite some time and have written a guide myself (which I am currently rewriting). I was told to hop on here and contribute. Please excuse me if I'm not doing this right, it's been a while since I mediawiki'd. I'll just start off with a few things I've found.
Firstly, I'm not entirely convinced noatime is necessary on audio systems with HDDs. I'm able to achieve 2ms latency without noatime and performance is not gained with my testing. I'm aware noatime is a better setting for SSDs, but I'm not sure this is the place for that setting.
Second, and this one was big for me, assigning a higher priority to my PCI soundcard was detrimental to audio performance. Most people are using an audio interface, and in this case they should instead disable the PCI audio module completely. I had an issue where even without modifying priority, my PCI audio was stealing IRQ priority from my audio interface. Blacklisting the module alone was enough to eliminate xruns completely. If anyone is aware of a less heavy-handed solution, that would be great, but this definitely needs a mention -- the difference is night and day!
No love for pipewire?
I don't see any reference to pipewire anywhere, though the jack pipewire connectors seem to work rather well. Considering modern linux sound stack, does this page need a rewrite? Seems actually easier to set everything up from scratch with pipewire's jack implementation. I'm still puzzled what configuration knobs I'd be able to tweak, though. —This unsigned comment is by Cloverskull (talk) 04:18, 26 August 2021 (UTC). Please sign your posts with ~~~~!
- PipeWire is in this pages now. Do you find all the things you need to know ?
- Jujudusud (talk) 17:20, 29 September 2023 (UTC)
System configuration / vm.swappiness
> Reducing swappiness (aka swap frequency, set to 60 by default) to e.g. 10 will make the system wait much longer before trying to swap to disk This parrots some common but silly misconception about the nature of vm.swappiness and the linked wikipedia paragraph as well as the arch wiki page on system performace (as of today) also contradict this (and accurately describe the impact) I'm not saying that vm.swappiness cannot have relevant impact on the behavior of various sound daemons (I've no idea), but the introduction is wrong and leads to the impression that this suggestion is voodoo-based and anecdotal. --Seth (talk) 16:54, 5 April 2023 (UTC)
Directing readers to the Sonoj wiki seems premature
Early in the document, there's a section referring to the Sonoj wiki:
which links to a page with nearly no information on it. (Perhaps previously it had more content...)