Ton über JACK ist total verzerrt, PulseAudio ohne Jack funktioniert

Ton über JACK ist total verzerrt, PulseAudio ohne Jack funktioniert

erstmal die Infos zu meinem System (Ubuntu Studio 21.10) - vorab: Die Soundausgabe ist, sobald Jack aktiviert wird (egal ob über JackDBus oder JackD), völlig verzerrt, obwohl das bis vor ein paar Tagen noch problemlos funktioniert hat:

silvermoon@ubuntupc:~$ lsb_release -d
Description:    Ubuntu 21.10
silvermoon@ubuntupc:~$ uname -r
5.13.0-20-lowlatency
silvermoon@ubuntupc:~$ cat /proc/asound/cards
 0 [sofhdadsp      ]: sof-hda-dsp - sof-hda-dsp
                      LENOVO-20QF0027GE-ThinkPadX1Yoga4th
 1 [AUDIO          ]: USB-Audio - CONEXANT USB AUDIO
                      Conexant CONEXANT USB AUDIO at usb-0000:0a:00.0-2.1.1.2, full speed
silvermoon@ubuntupc:~$ aplay -l
**** Liste der Hardware-Geräte (PLAYBACK) ****
Karte 0: sofhdadsp [sof-hda-dsp], Gerät 0: HDA Analog (*) []
  Sub-Geräte: 1/1
  Sub-Gerät #0: subdevice #0
Karte 0: sofhdadsp [sof-hda-dsp], Gerät 1: HDA Digital (*) []
  Sub-Geräte: 1/1
  Sub-Gerät #0: subdevice #0
Karte 0: sofhdadsp [sof-hda-dsp], Gerät 3: HDMI1 (*) []
  Sub-Geräte: 1/1
  Sub-Gerät #0: subdevice #0
Karte 0: sofhdadsp [sof-hda-dsp], Gerät 4: HDMI2 (*) []
  Sub-Geräte: 1/1
  Sub-Gerät #0: subdevice #0
Karte 0: sofhdadsp [sof-hda-dsp], Gerät 5: HDMI3 (*) []
  Sub-Geräte: 1/1
  Sub-Gerät #0: subdevice #0
Karte 1: AUDIO [CONEXANT USB AUDIO], Gerät 0: USB Audio [USB Audio]
  Sub-Geräte: 1/1
  Sub-Gerät #0: subdevice #0
silvermoon@ubuntupc:~$ aplay /usr/share/sounds/alsa/Noise.wav
Wiedergabe: WAVE '/usr/share/sounds/alsa/Noise.wav' : Signed 16 bit Little Endian, Rate: 48000 Hz, mono
silvermoon@ubuntupc:~$ lspci -nnk | grep -iA2 audio
00:1f.3 Audio device [0403]: Intel Corporation Cannon Point-LP High Definition Audio Controller [8086:9dc8] (rev 11)
        Subsystem: Lenovo Cannon Point-LP High Definition Audio Controller [17aa:2292]
        Kernel driver in use: sof-audio-pci-intel-cnl
        Kernel modules: snd_hda_intel, snd_sof_pci_intel_cnl
00:1f.4 SMBus [0c05]: Intel Corporation Cannon Point-LP SMBus Controller [8086:9da3] (rev 11)
silvermoon@ubuntupc:~$ ps -C esd
    PID TTY          TIME CMD
silvermoon@ubuntupc:~$ ps -C arts
    PID TTY          TIME CMD
silvermoon@ubuntupc:~$ ps -C pulseaudio
    PID TTY          TIME CMD
   3654 ?        00:00:08 pulseaudio
silvermoon@ubuntupc:~$ grep "^audio" /etc/group | grep "$USER" | wc -l
1
silvermoon@ubuntupc:~$ dpkg -l | tr -s " " | grep " alsa-"
ii alsa-base 1.0.25+dfsg-0ubuntu7 all ALSA driver configuration files
ii alsa-tools 1.2.2-1 amd64 Console based ALSA utilities for specific hardware
ii alsa-tools-gui 1.2.2-1 amd64 GUI based ALSA utilities for specific hardware
ii alsa-topology-conf 1.2.5.1-2 all ALSA topology configuration files
ii alsa-ucm-conf 1.2.4-2ubuntu4 all ALSA Use Case Manager configuration files
ii alsa-utils 1.2.4-1ubuntu4 amd64 Utilities for configuring and using ALSA
silvermoon@ubuntupc:~$ lsmod | grep "snd"
snd_seq_dummy          16384  0
snd_usb_audio         299008  0
snd_usbmidi_lib        36864  1 snd_usb_audio
mc                     57344  5 videodev,snd_usb_audio,videobuf2_v4l2,uvcvideo,videobuf2_common
snd_ctl_led            24576  0
snd_soc_skl_hda_dsp    24576  5
snd_soc_intel_hda_dsp_common    20480  1 snd_soc_skl_hda_dsp
snd_soc_hdac_hdmi      36864  1 snd_soc_skl_hda_dsp
snd_hda_codec_hdmi     61440  1
snd_hda_codec_realtek   147456  1
snd_hda_codec_generic    81920  1 snd_hda_codec_realtek
snd_soc_dmic           16384  1
snd_sof_pci_intel_cnl    16384  0
snd_sof_intel_hda_common    98304  1 snd_sof_pci_intel_cnl
soundwire_intel        40960  1 snd_sof_intel_hda_common
snd_sof_intel_hda      20480  1 snd_sof_intel_hda_common
snd_sof_pci            20480  2 snd_sof_intel_hda_common,snd_sof_pci_intel_cnl
snd_sof_xtensa_dsp     16384  1 snd_sof_intel_hda_common
snd_sof               135168  2 snd_sof_pci,snd_sof_intel_hda_common
snd_soc_hdac_hda       24576  1 snd_sof_intel_hda_common
snd_hda_ext_core       32768  4 snd_sof_intel_hda_common,snd_soc_hdac_hdmi,snd_soc_hdac_hda,snd_sof_intel_hda
snd_soc_acpi_intel_match    49152  2 snd_sof_intel_hda_common,snd_sof_pci_intel_cnl
snd_soc_acpi           16384  2 snd_soc_acpi_intel_match,snd_sof_intel_hda_common
snd_soc_core          294912  7 soundwire_intel,snd_sof,snd_sof_intel_hda_common,snd_soc_hdac_hdmi,snd_soc_hdac_hda,snd_soc_dmic,snd_soc_skl_hda_dsp
snd_compress           28672  1 snd_soc_core
ac97_bus               16384  1 snd_soc_core
snd_pcm_dmaengine      16384  1 snd_soc_core
snd_hda_intel          53248  0
snd_intel_dspcfg       28672  2 snd_hda_intel,snd_sof_intel_hda_common
snd_intel_sdw_acpi     20480  2 snd_sof_intel_hda_common,snd_intel_dspcfg
snd_hda_codec         147456  7 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec_realtek,snd_soc_intel_hda_dsp_common,snd_soc_hdac_hda,snd_soc_skl_hda_dsp
snd_hda_core           94208  11 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_ext_core,snd_hda_codec,snd_hda_codec_realtek,snd_soc_intel_hda_dsp_common,snd_sof_intel_hda_common,snd_soc_hdac_hdmi,snd_soc_hdac_hda,snd_sof_intel_hda
snd_hwdep              16384  2 snd_usb_audio,snd_hda_codec
snd_pcm               122880  12 snd_hda_codec_hdmi,snd_hda_intel,snd_usb_audio,snd_hda_codec,soundwire_intel,snd_sof,snd_sof_intel_hda_common,snd_soc_hdac_hdmi,snd_compress,snd_soc_core,snd_hda_core,snd_pcm_dmaengine
snd_seq_midi           20480  0
snd_seq_midi_event     16384  1 snd_seq_midi
ledtrig_audio          16384  4 snd_ctl_led,snd_hda_codec_generic,snd_sof,thinkpad_acpi
snd_rawmidi            36864  2 snd_seq_midi,snd_usbmidi_lib
snd_seq                73728  7 snd_seq_midi,snd_seq_midi_event,snd_seq_dummy
snd_seq_device         16384  3 snd_seq,snd_seq_midi,snd_rawmidi
snd_timer              40960  2 snd_seq,snd_pcm
snd                    94208  31 snd_ctl_led,snd_hda_codec_generic,snd_seq,snd_seq_device,snd_hda_codec_hdmi,snd_hwdep,snd_hda_intel,snd_usb_audio,snd_usbmidi_lib,snd_hda_codec,snd_hda_codec_realtek,snd_timer,snd_soc_hdac_hdmi,snd_compress,thinkpad_acpi,snd_soc_core,snd_pcm,snd_soc_skl_hda_dsp,snd_rawmidi
soundcore              16384  2 snd_ctl_led,snd
silvermoon@ubuntupc:~$ head -n 3 /proc/asound/card0/codec#0
Codec: Realtek ALC285
Address: 0
AFG Function Id: 0x1 (unsol 1)
silvermoon@ubuntupc:~$ head -n 3 /proc/asound/card0/codec97#0/ac97#0-0
head: '/proc/asound/card0/codec97#0/ac97#0-0' kann nicht zum Lesen geöffnet werden: Datei oder Verzeichnis nicht gefunden
silvermoon@ubuntupc:~$ head -n 3 /proc/asound/card0/codec97#0/ac97#0-0+regs
head: '/proc/asound/card0/codec97#0/ac97#0-0+regs' kann nicht zum Lesen geöffnet werden: Datei oder Verzeichnis nicht gefunden
silvermoon@ubuntupc:~$ cat ~/.asoundrc
cat: /home/silvermoon/.asoundrc: Datei oder Verzeichnis nicht gefunden
silvermoon@ubuntupc:~$ cat ~/.asoundrc.asoundconf
cat: /home/silvermoon/.asoundrc.asoundconf: Datei oder Verzeichnis nicht gefunden
silvermoon@ubuntupc:~$ cat /etc/asound.conf 
cat: /etc/asound.conf: Datei oder Verzeichnis nicht gefunden
silvermoon@ubuntupc:~$ cat .config/jack/conf.xml 
<?xml version="1.0"?>
<!--
JACK settings, as persisted by D-Bus object.
You probably don't want to edit this because
it will be overwritten next time jackdbus saves.
-->
<!-- Tue Oct 26 11:43:30 2021 -->
<jack>
 <engine>
  <option name="driver">alsa</option>
  <option name="realtime">true</option>
  <option name="verbose">true</option>
  <option name="sync">false</option>
  <option name="self-connect-mode">a</option>
 </engine>
 <drivers>
  <driver name="loopback">
  </driver>
  <driver name="netone">
  </driver>
  <driver name="alsa">
   <option name="device">hw:0</option>
   <option name="capture">hw:0</option>
   <option name="playback">hw:0</option>
   <option name="rate">48000</option>
   <option name="period">1008</option>
   <option name="nperiods">2</option>
   <option name="duplex">true</option>
   <option name="dither">n</option>
   <option name="midi-driver">raw</option>
  </driver>
  <driver name="dummy">
  </driver>
  <driver name="firewire">
  </driver>
  <driver name="net">
  </driver>
  <driver name="alsarawmidi">
  </driver>
  <driver name="proxy">
  </driver>
 </drivers>
 <internals>
  <internal name="netmanager">
  </internal>
  <internal name="audioadapter">
  </internal>
  <internal name="profiler">
  </internal>
  <internal name="netadapter">
  </internal>
 </internals>
</jack>
silvermoon@ubuntupc:~$

Anmerkung: Es macht in Bezug auf das Problem keinen Unterschied, ob bei Jack bei Frames/Perioden dieser komische Wert von 1008 oder 128 oder 512 oder 1024 oder ... eingestellt ist. Ich habe hier schon einiges probiert.

Einstellung ohne Jack: Jack ist inaktiv,MLautstärkeMPegel (LL) 100 %, Front_Center.wav abspielen, normale Ausgabe über Pulse-Audio ohne Verzerrung oder Clipping,

Die folgenden Einstellungen gelten für die aktive Buchse

  • Einstellung 1: LL=100%, PulseAudioJackSink (PAJS)=100%, Wiedergabe über PulseAudioJackSink->System-Wiedergabe, Ausgabe ist völlig verzerrt
  • Einstellung 2: LL=100%, PAJS=20% (kurz vor der Verzerrung), aplay-Ausgabe nicht schön aber verständlich ;-)
  • Einstellung 3: LL=20%, Ausgabe MuseScore über Jack->System-Wiedergabe, wobei der Lautstärkeregler in MuseScore auf -79,5db eingestellt ist (normal bei ca. -25db): bereits verzerrt
  • Einstellung 4: gleiche Einstellung wie in #3, aber LL=60%: Ausgabe völlig verzerrt. Gleicher Effekt, wenn die Lautstärkeregelung in MuseScore auf mehr als ca. -78db eingestellt ist. Nicht nur die Ausgabe von PAJS und MuseScore, alles ist verzerrt, insbesondere wenn die Tonquelle über die Buchse nicht selbst gepegelt werden konnte.

Ohne zu wissen, was ich eventuell geändert habe und wo es Änderungen geben könnte: Vor kurzer Zeit (jedenfalls mit 21.04, ich meine aber auch unter 21.10) hat alles problemlos funktioniert. Habt ihr Ideen, wo man entsprechende Einstellungen ändern könnte? Folgendes habe ich schon gemacht:

  • Neuinstallation des ALSA-Moduls
  • Kompletter Reset von alsa und Ausprobieren verschiedener Stufen der alsamixer-Einstellungen, wobei hier (für mich) etwas seltsam ist: Ich habe keinen PCM-Controller
  • habe JackD statt JackDBus ausprobiert
  • Zurücksetzen der Pulseaudio-Konfiguration

Dank im Voraus

Antwort1

Da ich inzwischen eine Lösung gefunden habe und falls jemand anderes das gleiche Problem hat, hier meine Lösung:

Das Ganze ist notwendig, da bei der Verwendung von JackDBus die Einstellungen in qjackctl (vor allem die Erzwingung von 16 Bit, was bei meiner Hardware wohl notwendig ist) weitgehend ignoriert werden. Gleichzeitig läuft – wenn man nicht explizit darauf achtet – JackDBus bzw. autojack im Hintergrund und macht damit jegliche Tests mit den Einstellungen zunichte – deshalb habe ich lange keine Lösung gefunden

verwandte Informationen