mincequi / qLouder

A tool to measure and design loudspeakers
GNU General Public License v3.0
15 stars 2 forks source link

Sound Card loopback test: no measurement result #3

Closed ariendj closed 1 year ago

ariendj commented 1 year ago

Screenshot_20221004_124601 Screenshot_20221004_124236

Hello mincequi! I got qLouder to build and run :) First thing I did is to try a loopback measurement of my sound card. I selected the correct pipewire (PulseAudio compatibility-) devices and qpwgraph shows the audio input and output being routed to the correct devices. Volume is on full bast. Yet, after clicking on "measure" and seeing the animation, nothing happens. The input and output devices are set to 48k, my pipewire setup is running at 192kHz 32bit floating point though. I wasn't able to specify bit depth.

Please let me know if you need more info or if there's anything I can try to assist with this :)

mincequi commented 1 year ago

Hi @ariendj nice to hear, that it is working. At least to the point where you start measuring... To be honest: i did not have those intermediate audio frameworks (like PulseAudio, Jack, Pipewire, etc) in mind. Instead, i tried to work as direct with the hardware as possible (ALSA). Also the sample rate detection of sound cards on linux does not seem to work properly. So, i limited this tool to 44.1 and 48 kHz. Internally, this tool works with 32bit float per default.

You could try to find the proper ALSA devices and try a lower sample rate. Your card should work with 48kHz, i assume. Btw: what is your actual sound card?

However, i need to rework the playback/recording part anyway, because i am using two different frameworks: QtMultimedia and cinder. I will port away from QtMultimedia in favor of cinder (or maybe something else). In the meanwhile, i will also strick my nose into pipewire...

ariendj commented 1 year ago

My mistake. I just blindly assumed that qLouder would support JACK because that's what qLoud used (and Pipewire supports). I'll try again with the ALSA interfaces that are also listed. The dmix ones might work, unless pipewire claims full hardware access.

The soundcard I used is the Asus Xonar U7, a semi-decent USB card that should have a signal to noise ratio above 100dB in loopback mode. Mine does, at least on the left channel. Right input seems broken at under 80dB...

Thanks a lot for your help, I really appreciate you diving head first into the pits of hell linux desktop audio.

mincequi commented 1 year ago

Hey @ariendj , i ported away from cinder using miniaudio as playback backend in this branch. I guess, it will make it into main very soon. If you want, you can checkout this branch: https://github.com/mincequi/qLouder/tree/miniaudio

mincequi commented 1 year ago

Closed as ported away from cinder.

ariendj commented 1 year ago

I did a "git pull / make clean / cmake .. / make" and now all I get is this: arien@NBADJ01:~/source/qLouder/build$ ./qLouder QML debugging is enabled. Only use this in a safe environment. Segmentation fault

mincequi commented 1 year ago

This does not tell me much. A backtrace would be great. However, i assume it is because you use jack... Pulseaudio should do the trick

mincequi commented 1 year ago

You can check latest master. This could fix your issue.