-
Notifications
You must be signed in to change notification settings - Fork 8
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Behringer X32: Crackling playback at 48 kHz #42
Comments
Thanks for filing the issue. I've been waiting for any report about Behringer X-UF expansion card since it uses ArchWave AG (formerly known as BridgeCo AG) DM1500 ASIC to which ALSA bebob driver is bound. Behringer X-UF expansion card I think you just tested with ALSA bebob driver in stock kernel up to v5.13 in Ubuntu official repository. For some BeBoB based devices (not all of them), previous driver causes the simillar issue of playback noise. The driver got changes in v5.14 kernel in its packet streaming function to improve the issue:
In Ubuntu distribution, the future Jammy Jellyfish (22.04) release includes the newer driver. So you can not test it instantly. Instead, would I ask you to install baCkported driver in the repository according to instruction in README. Cheers. |
Thanks for the feedback. I managed to install the drivers from the Github repository and do some testing. The findings are:
I suspect that the driver now generates a higher CPU/DSP load, resulting in the xruns. Is there a way to reduce the CPU/DSP load of the driver? |
Hi,
Thanks for your test.
Some users report the similar issue in default settings of jackd service. I'd like you to try below
However, it appears that hardware vendors added any customization to BeBoB firmware even if they use the
In my opinion, users of jackd tend to judge that any XRUN comes from higher load of something Anyway I'm waiting for your report about the additional two options. As another topic, I collect the content of configuration ROM for devices connected to IEEE 1394 bus. The collection is used to generate systemd hardware database to configure udevd to make expected We already have the entry corresponding to X-UF card for Behringer X32: However in case, it is better to store data of ROM for your device. You can pick it up via sysfs node,
|
Thanks for the instructions.
All tests (including the previous ones) were performed with 3 periods.
The xruns have disappeared and the JACK buffer can be set much smaller again (both in 16 and 32 input/output modes). After a while, however, noise reappears (not xruns). The time it takes for the noise to reappear is irregular (a few seconds to several minutes; I have not yet been able to see a pattern). A change in the mixer configuration, for example switching the samplerate from 48 to 44.1 kHz and back again, so that the audio backend of the Linux system is updated/reconfigured, and a subsequent restart of JACK in most cases cause the noise to disappear temporarily.
Here is the file: behringer-x-uf.tar.gz Kind regards |
I closed the issue by mistake and therefore reopen it... |
Hm. Would I ask you to use the other sound services like PulseAudio (or PipeWire)
Great. I pushed it at a commit c83dbf04db00. |
Hi,
Tests under PulseAudio have led to the following results (playback of an audio file using Audacity, kernel 5.13.1-051301-lowlatency, drivers from this repository):
Changing the mixer configuration, so that the audio backend of the Linux system is updated/reconfigured, causes the noise to disappear temporarily (as under JACK). Kind regards |
Hi @dstra2, Thanks for the feedback. It's possible that the device has any quirk between packet processing function and audio signal processing function since it generates noise even if packet streaming is successful without any XRUNs. I'm preparing some tools to diagnose internal state of the device. I'd like you to wait a bit. Thanks |
Hi @dstra2,
I pushed the tools into hinawa-utils repository: As a prerequisite, libhinawa 2.0 or later should be installed: In Ubuntu 21.04 or later, deb pfackages (libhinawa2, gir1.2-hinawa-3.0) are available from official repository: Python 3 and PyGObject (python3-gi) should be required as well. When checkout the master branch hinawa-utils repository, below scripts are available:
I'd like you to retrieve output from the above utilities, then paste them here. Thanks |
Incidentally, the above script takes longer to finish, several seconds. |
Hi @takaswie, Thanks for your assistance.
Here is the output of the two scripts: Kind regards |
Thanks for the files. According to the records of files, I can not find any issue which might cause the problem. The formation of internal plugs is really standard for BeBoB firmware without any customization by hardware vendor. Additionally I realize that the included information is quite similar to the one from FIREPOWER FCA610. As the next step, let us investigate packet streaming itself. ALSA bebob driver supports Linux tracepoints (precisely At first, let you install
Now you can start ALSA PCM application; e.g. jackd. After a while, cancel You can see
Thanks |
To avoid losing the files: output_hinawa-bebob-connection-cli.log |
Hi @takaswie,
I played back a 30 second sine sweep (48kHz) using Audacity. Kind regards |
Thank you to get the packet dump. I analyze it by the script I wrote in #38 (comment). As a result:
Except for the discontinuities, ALSA bebob driver and x-uf exten]sion card communicates mostly with 48000 PCM frames (precisely events) per second in isochronous cycle for both directions. I can see that the noise does not come from invalid number of PCM frames over the communication. I'm going to analyze the packet dump further. Thanks for your cooperation and patience. |
Hi @dstra2 , I'm under analyzing the packet dump to identify cause of the issue, however it's not cleared yet... For my information, would I ask you to retrieve packet dump in 44.1 kHz case? Thanks for your patience. |
Hi @takaswie, I played back a 30 second sine sweep again (using Audacity), this time at 44.1 kHz (both file and mixer samplerate). You can find the output of Please let me know if you need further dumps or if there is the need for further tests. Kind regards |
Thanks for the dump file. In both case, ALSA bebob driver communicates to the device at the same frequency
OK. I'd request test if I found suspicious causes. Thanks for your patience. |
Hi,
I'm using a Behringer X32. The mixer supports two sampling rates: 44.1 and 48 kHz. Via the firewire connection (JACK audio server with firewire backend), both recording and playback at 44.1 kHz work without any problems. But at 48 kHz only recording works, playback is heavily disturbed (digital artefacts).
When the mixer is connected, it is (correctly) recognised as
BEHRINGER X_UF (id:6, rev:0), GUID 00156400000082f5 at fw1.0, S400
and the following modules are loaded:
snd_bebob
snd_firewire_lib
The problem occurs with both tested kernels:
4.15.0-167-lowlatency
(Kubuntu 18.04)5.13.1-051301-lowlatency
(Ubuntu Studio 21.04)I would appreciate any help to solve this problem.
The text was updated successfully, but these errors were encountered: