0

first of all, here is the information about my system (Ubuntu Studio 21.10) - in advance: The sound output is completely distorted as soon as Jack is activated (regardless of whether via JackDBus or JackD), although it was still working without any problems until a few days ago:

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

Note: In relation to the problem, it makes no difference whether frames / periods in Jack is set to this strange value of 1008 or 128 or 512 or 1024 or ... I've already tried a lot here.

Setting without Jack: Jack is inactive, LoudnessLevel (LL) 100%, aplay Front_Center.wav, output normal via pulse audio without any distortion or clipping,

Settings below are with active jack

  • Setting 1: LL=100%, PulseAudioJackSink (PAJS)=100%, aplay via PulseAudioJackSink->system-playback, output is totaly distorted
  • Setting 2: LL=100%, PAJS=20% (shortly before distortion), aplay output not nice but understandable ;-)
  • Setting 3: LL=20%, Output MuseScore via Jack->system-playback, whereby the volume control in MuseScore is set to -79.5db (normal at approx. -25db): already distorted
  • Setting 4: same setting as in #3 but LL=60%: output totaly distorted. Same effect if volume control in MuseScore is set to more than approx. -78db. Not only the output of PAJS and MuseScore, everything is distorted, especially if the soundsource using jack couldn't be leveled down itself.

Without knowing what I might have changed and where there could changes be made: A short time ago (in any case with 21.04, but I also mean under 21.10) everything worked without any problems. Do you have any ideas where to change appropriate settings? I have already done the following:

  • ALSA module reinstallation
  • Complete reset of alsa and trying different levels of the alsamixer settings, although what is strange (for me) here: I don't have a PCM controller
  • tried JackD instead of JackDBus
  • reset of pulseaudio configuration

Thanks in advance

1 Answer 1

0

Since I've found a solution in the meantime and in case someone else has the same problem, here is my solution:

The whole thing is necessary because when using JackDBus the settings in qjackctl (especially the enforcement of 16 bit, which is probably necessary for my hardware) are largely ignored. At the same time - if you don't explicitly pay attention to it - JackDBus or autojack is running in the background and thus destroys any tests with the settings - that's why I didn't found a solution for a long time 😉.

Now I have found two possible approaches:

  1. Either you completely dispense with JackDBus and thus also with the Studio Controls. In this case you have to make sure that JackDBus is not started, i.e. all jackdbus and autojack processes have to be killed. This may also help: Can't kill jackdbus auto, because it auto starts everytime. Now you don't use the JackDBus but jackd, which is configured and started via qjackctl. ATTENTION: Of course, no options regarding the DBus must be selected. \ Thus qjackctl starts jack with the following configuration, whereby the -S represents the solution to my original problem:

    /usr/bin/jackd -nLinuxHost -v -dalsa -dhw:0 -r48000 -p256 -n2 -s -m -S -M

If you still want to use the DBus, it is IMHO recommended to create your own start script and not to start with the Studio Controls. My jack_startup.sh (whereby the "shorts" -> "True" solves the original problem):

#!/bin/bash
jack_control start
jack_control eps name LinuxHost
jack_control ds alsa
jack_control dps device hw:0
jack_control dps rate 48000
jack_control dps nperiods 2
jack_control dps period 1024
jack_control dps shorts True
sleep 10
a2j_control --ehw
a2j_control --start
sleep 10
qjackctl &

And here is my jack_stop.sh:

#!/bin/bash
a2j_control --stop
sleep 10
jack_control stop

Honestly, I have to admit that there must be one more setting that I haven't taken into account yet, because when I run jack_startup.sh after using the 1st option before, an error message appears when starting a2j. To make the second option work again, I start jack once with the Studio Controls and then stop again. After that my own startup script works 🙈. Not pretty, but it works ;-)

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .