03-25-2023, 09:10 AM | #1 |
Human being with feelings
Join Date: Jan 2022
Location: Kalamazoo, MI
Posts: 285
|
How do I do this in Pipewire instead of Jack?
I need to hear my external editor and Reaper through my audio interface at low latency. I can easily do it in Jack (see attached image).
Can I do this in Pipewire with ALSA? I can get it to work in Pipewire through Pulse, but the latency is too high. I guess in a nutshell my question is: How to I route ALSA with Pipewire?
__________________
Audio Post Engineer: JennAudio.com Adjunct Faculty: Columbia College Chicago - Retired! |
03-25-2023, 10:42 AM | #2 |
Human being with feelings
Join Date: Aug 2022
Posts: 717
|
Hmm, ALSA should be automatically recognised and 'mounted' by PipeWire. Pulse works with an in-built workaround, while ALSA should work directly.
There might be some issue for PipeWire not recognising ALSA outputs/inputs. But I don't know what that might be, except try to choose Jack as audio engine in Reaper and Audacity. (Also, JACK is just the patching interface more or less.) |
03-25-2023, 11:15 AM | #3 |
Human being with feelings
Join Date: Jan 2007
Location: Erfurt
Posts: 784
|
__________________
OS: LMDE6 Axel's Music - Axel's Plugins - Axel on Soundcloud - Backing Tracks Player - Button Maker for Reaper |
03-26-2023, 01:12 PM | #4 |
Human being with feelings
Join Date: Mar 2022
Posts: 153
|
You can also continue to use qjackctl, or so it seems (AppImage version shown here...)
__________________
soundcloud.com/forrest-nd86 Last edited by ForrestH; 03-26-2023 at 01:21 PM. |
03-26-2023, 02:19 PM | #5 |
Human being with feelings
Join Date: Jan 2007
Location: Erfurt
Posts: 784
|
Are you sure you're using pipewire? I don't see pw in your image.
__________________
OS: LMDE6 Axel's Music - Axel's Plugins - Axel on Soundcloud - Backing Tracks Player - Button Maker for Reaper |
03-26-2023, 03:42 PM | #6 |
Human being with feelings
Join Date: Jan 2022
Location: Kalamazoo, MI
Posts: 285
|
Pictured in my original post is qjackctl. I can do the same thing in pipewire, BUT the latency is unusable.
__________________
Audio Post Engineer: JennAudio.com Adjunct Faculty: Columbia College Chicago - Retired! |
03-26-2023, 03:57 PM | #7 |
Human being with feelings
Join Date: Mar 2022
Posts: 153
|
Definitely pw:
$ ps ax | grep -E "pipewire|jack" 6211 ? S<l 0:57 /usr/bin/pipewire 6212 ? S<l 0:00 /usr/bin/pipewire-pulse 7033 pts/5 Sl+ 0:11 qjackctl 7037 ? Ssl 0:00 qjackctl-0.9.10-54.1.x86_64.AppImage On latency, what does REAPER say for it? I've got a business-class machine not really suited to audio but it seems fine at 5.33ms, which I set via environmental variable: $ cat /etc/environment PIPEWIRE_LATENCY=256/48000 I'm not even on an RT kernel, as the kernel.org kernels now have enough of the RT patches in them to do the job set to low-latency: $ uname -a Linux tf 6.2.8-alvin #1 SMP PREEMPT_DYNAMIC Sun Mar 26 15:43:56 EDT 2023 x86_64 GNU/Linux
__________________
soundcloud.com/forrest-nd86 |
03-26-2023, 04:19 PM | #8 |
Human being with feelings
Join Date: Mar 2022
Posts: 153
|
In terms of routing in plain ALSA, the only way I can think of to do that is via some fairly difficult modification of .asoundrc, the sort of thing seen here:
https://stackoverflow.com/questions/...s-and-asoundrc https://forum.audacityteam.org/t/not...properly/37877
__________________
soundcloud.com/forrest-nd86 Last edited by ForrestH; 03-26-2023 at 05:08 PM. |
03-26-2023, 04:54 PM | #9 |
Human being with feelings
Join Date: Mar 2022
Posts: 153
|
Here's an interesting graph showing Audacity outputting via Pipewire into REAPER as connected by qjackctl. The air loop adds a little echo, but when I add audacity>REAPER>headphones to audacity>headphones it just gets louder. I've been connecting and disconnecting while recording and have a total of 2(4) reported xruns.
__________________
soundcloud.com/forrest-nd86 Last edited by ForrestH; 03-26-2023 at 05:06 PM. |
03-26-2023, 08:58 PM | #10 | |
Human being with feelings
Join Date: Jan 2022
Location: Kalamazoo, MI
Posts: 285
|
Quote:
Code:
> ps ax | grep -E "pipewire|jack" 1490 ? S<sl 0:10 /usr/bin/pipewire 1493 ? S<sl 0:16 /usr/bin/pipewire-pulse 15557 pts/0 S+ 0:00 grep --color=auto -E pipewire|jack Jack and ALSA have latency of 5.3 ms. Pipewire's 190 ms. Pipewire is the only option that allows Reaper to appear in qpwgraph. To run multiple audio apps, Jack works. For Reaper alone, ALSA works. BUT, Pipewire was suppose to be this new cool way and I just can't get the latency low enough. I'm open to suggestions.
__________________
Audio Post Engineer: JennAudio.com Adjunct Faculty: Columbia College Chicago - Retired! |
|
03-26-2023, 11:36 PM | #11 |
Human being with feelings
Join Date: Mar 2022
Posts: 153
|
Try starting reaper from the command line this way:
PIPEWIRE_LATENCY=256/48000 reaper and see if the number changes from 190 to 5.3. If it does, become root and put PIPEWIRE_LATENCY=256/48000 into /etc/environment .
__________________
soundcloud.com/forrest-nd86 |
03-27-2023, 04:55 AM | #12 |
Human being with feelings
Join Date: Jan 2007
Location: Erfurt
Posts: 784
|
I've done the setup in ~/.config/pipewire/jack.conf and I'm getting 5.3ms as well
Code:
jack.properties = { node.latency = 256/48000 ....
__________________
OS: LMDE6 Axel's Music - Axel's Plugins - Axel on Soundcloud - Backing Tracks Player - Button Maker for Reaper |
03-27-2023, 06:30 AM | #13 |
Human being with feelings
Join Date: Jan 2022
Location: Kalamazoo, MI
Posts: 285
|
Thank you both for the comments and suggestions. I thought Pipewire was suppose to make things easier than Jack, but I'm not finding that to be true, and I clearly need to learn more and dig deeper into pipewire.
I'm in the middle of a couple projects and don't want to mess with my settings right now, but I have an experimental install of 22.10 and when I get a chance, I'll do some testing there.
__________________
Audio Post Engineer: JennAudio.com Adjunct Faculty: Columbia College Chicago - Retired! |
03-27-2023, 06:44 AM | #14 |
Human being with feelings
Join Date: Jul 2016
Posts: 26
|
I think that the developers of Pipewire need to make it A LOT more simpler to change sample rate and latency. Other than that I really like Pipewire. I have had four different audio interfaces running at 64 samples latency simultaneously without xruns and on my laptop's built in audio I can run much lower latency compared to when I used pure JACK. I amazes me how that is possible.
|
03-27-2023, 09:59 AM | #15 |
Human being with feelings
Join Date: Mar 2022
Posts: 153
|
I've got three hardware ins and two hardware outs; to connect them through JACK I have to run a script containing, among other things,
Code:
alsa_in -j NanoIn -r 48000 -d hw:Nano,0 & #alsa_in -j "Capture 1" -r 48000 -d hw:PCH,0,0 & alsa_in -j "Capture 2" -d hw:PCH,2,0 -r 48000 & alsa_out -j MonitorSpeakers -r 48000 -d hw:HDMI,7 & Code:
JACK_NO_AUDIO_RESERVATION=1 /usr/bin/jackd -P 80 --silent -dalsa --device hw:CARD=PCH,DEV=0 -r48000 -p384 -n4 --softmode >/dev/null 2>&1 &
__________________
soundcloud.com/forrest-nd86 |
Thread Tools | |
Display Modes | |
|
|