Звук через JACK полностью искажается, PulseAudio без Jack работает

Звук через JACK полностью искажается, PulseAudio без Jack работает

Прежде всего, вот информация о моей системе (Ubuntu Studio 21.10) - заранее: вывод звука полностью искажается, как только активируется Jack (независимо от того, через JackDBus или JackD), хотя до недавнего времени он работал без каких-либо проблем:

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:~$

Примечание: В отношении проблемы не имеет значения, установлены ли кадры/периоды в Джеке на это странное значение 1008 или 128 или 512 или 1024 или ... Я уже многое здесь перепробовал.

Настройка без Джека: Джек неактивен,ЛуднессЛevel (LL) 100%, aplay Front_Center.wav, нормальный вывод через импульсный звук без каких-либо искажений или обрезки,

Настройки ниже указаны для активного разъема

  • Настройка 1: LL=100%, PulseAudioJackSink (PAJS)=100%, воспроизведение через PulseAudioJackSink->системное воспроизведение, выход полностью искажен
  • Настройка 2: LL=100%, PAJS=20% (незадолго до искажения), вывод aplay не очень приятный, но понятный ;-)
  • Настройка 3: LL=20%, вывод MuseScore через Jack->system-playback, при этом регулятор громкости в MuseScore установлен на -79,5 дБ (нормально прибл. -25 дБ): уже искажено
  • Настройка 4: та же настройка, что и в #3, но LL=60%: выход полностью искажен. Тот же эффект, если регулятор громкости в MuseScore установлен на более чем примерно -78 дБ. Искажается не только выход PAJS и MuseScore, все, особенно если источник звука, использующий разъем, не может быть выровнен сам по себе.

Не зная, что я мог изменить и где можно было бы внести изменения: Некоторое время назад (во всяком случае с 21.04, но я также имею в виду под 21.10) все работало без проблем. Есть ли у вас идеи, где изменить соответствующие настройки? Я уже сделал следующее:

  • Переустановка модуля ALSA
  • Полный сброс alsa и пробую разные уровни настроек alsamixer, хотя вот что странно (для меня): у меня нет PCM контроллера
  • попробовал JackD вместо JackDBus
  • сброс конфигурации PulseAudio

заранее спасибо

решение1

Поскольку я нашел решение, и если у кого-то еще возникнет такая же проблема, вот мое решение:

Все это необходимо, поскольку при использовании JackDBus настройки в qjackctl (особенно принудительное использование 16 бит, которое, вероятно, необходимо для моего оборудования) в значительной степени игнорируются. В то же время - если вы явно не обращаете на это внимания - JackDBus или autojack работает в фоновом режиме и таким образом уничтожает любые тесты с настройками - поэтому я долго не мог найти решение

Связанный контент