08-03-2022, 09:45 AM | #1 |
Human being with feelings
Join Date: Jul 2007
Posts: 1,890
|
noticing midi instrument timing issues with plain ALSA but not Jack2
title says it. this is referring to midi plugin instruments by the way. Maybe it depends on the plugin but let's assume I'm using a jittery soundfont player. I've been noticing recently a bit of slurred and/or randomly swung notes. timing issues using ALSA.
Just as an experiment I tried Jack2 to see if there's a difference and it's day and night. Jack2 is giving more or less perfect timing but when I use ALSA, it's exceedingly choppy with the midi sync. any clues on what might be causing this? (inb4 'user error') edit: had a minor discovery. I'm using an old trusty soundfont player called BassMidiVsti and for whatever reason, running it as a 'separate process' causes a lot of midi timing instability. Other modes seem to run it acceptably. since this is new, and possibly a bridiging issue with Wine, I need to do some more digging and will report. Last edited by reapercurious; 08-03-2022 at 02:10 PM. |
09-22-2022, 08:33 AM | #2 |
Human being with feelings
Join Date: Jan 2007
Location: Underworld
Posts: 1,188
|
I have a similar problem with Reaper and ALSA. It started about Reaper version 6.2 or so, I think [I'm a bit forgetful ]. I started getting hanging MIDI notes very often. Do you get hanging MIDI notes, too? I didn't even notice timing being off because hanging notes were annoying enough. So I use Reaper with Jack now and everything is fine. More than fine, actually.
I guess if ALSA works fine, one should leave it on ALSA, but if having problems JACK is the way to go. For me, JACK also uses a bit less CPU than ALSA, even though JACK uses ALSA, actually. It's not like our ALSA configuration is wrong also, since I remember it working with Reaper. Also, ALSA MIDI works perfectly with Element. Timing is great and no hanging MIDI notes, so It must be Reaper's problem.
__________________
Goodnight, thank you, and may your God go with you. |
09-22-2022, 05:10 PM | #3 | |
Human being with feelings
Join Date: Nov 2011
Posts: 971
|
Quote:
In short, I believe the most problem-free results will be had by not trying to use ALSA directly on a system with Pipewire, but by using Pipewire’s native tools: pipewire-alsa, pipewire-pulse, and pipewire-jack. Of course, the system is new and there are features and bugfixes patched in continuously, so things are not yet perfect, but attempting to do things differently than intended (despite the fact that we all used to do it that way, is like the futility and frustration of swimming against an ocean tide. |
|
09-23-2022, 08:34 AM | #4 |
Human being with feelings
Join Date: Jan 2007
Location: Underworld
Posts: 1,188
|
Absolutely agreed, Audiojunkie. I can't wait to see Pipewire in Debian! That's going to be similar to ASIO or WaveRT on Windows, low-latency system-level audio. Magnificent! One could argue it is ALSA done properly...
ALSA is great for when you're using just one app with it, but I like running several audio apps and patching things between them, so Jack is the only "audio unification" solution for me right now. Hopefully Pipewire will land in Debian soon. I will research it, actually. I've been planing on doing that for quite a while now. Big problem is Firefox which uses Pulseaudio. There used to be an option to compile Firefox with ALSA, but it's gone since a couple of years. I wonder what's going to happen with Firefox. Will it be able to use Pipewire at some point? Not through pulseaudio though. That would be the best solution so we can forget about pulseaudio. I've heard that even Pulseaudio dev team is resigning developing Pulseaudio and like Pipewire better. p.s. have you ever had problems with hanging midi notes in Reaper? It puzzles me that it works properly with Jack but not pure ALSA. Now I'm just curious. Staying with Jack until I can use Pipewire.
__________________
Goodnight, thank you, and may your God go with you. Last edited by DuX; 09-23-2022 at 08:47 AM. |
09-23-2022, 04:37 PM | #5 | |
Human being with feelings
Join Date: Nov 2011
Posts: 971
|
Quote:
No, I'm not a prophet. I am not a seer. I do not have any special inside information. What I see is a need begging to be filled to bring the masses completely over to pipewire in entirety. Most of what is needed is already here. We can already configure everything manually by hand--all of the reference documentation is already here and available. What the masses are needing is for someone to write a pipewire-centric control tool like qjackctl. As it stands, qjackctl does the majority of what is needed already (as do several other tools made by various developers (including FalkTX). The masses simply need a specific tool for pipewire. I can't imagine that it will be too long after all of the major distros use it by default, and people understand how it works. Once that is done, people will create a tool so that they can save time and effort. You can use it now in Debian 11, by the way. It's just not fully integrated--you have to manually make the changes. I'm pretty confident that by the time Debian 12 rolls out, the process will be simplified even further, if its not fully integrated by then. The future is bright with pipewire! 99% of every existing pulseaudio, alsa, and jack app will simply just work. That is our future with pipewire! Edit: I don't understand your concern with Firefox and its usage of PulseAudio. Pipewire is a graph based audio server built from the ground up to be everything we could need. Here's something for you to try when you get a chance--try running multiple ALSA apps concurrently. Let's see the original ALSA pull that off alone. In fact, you can have multiple ALSA, PulseAudio, and JACK apps connected and communicating with each other like how we connect two JACK apps together. The key thing to remember is that the pipewire-jack side if things is meant for low latency, but since pipewire is a combination of the ideas of the two servers, a hybrid if you will, you'll likely get lower latency through ALSA and PulseAudio connections run through pipewire as well if you desire to configure them for such. I look forward to the day someone creates a simple GUI based pipewire control panel. Last edited by audiojunkie; 09-23-2022 at 04:47 PM. |
|
Thread Tools | |
Display Modes | |
|
|