Tonverk: Linux USB Audio

After trying several things I got hopefully a solution for the samplerate issue (slow and crackling sound).

What I tried:

In the file /etc/security/limits.conf:

@audio	- rtprio 99
@audio	- nice -19
@audio	- memlock unlimited

But this are more general audio settings.

Loading the kernel module with the implicit_fb flag:

# rmmod -f snd_usb_audio
# modprobe snd_usb_audio implicit_fb=1

At this point it was still not working. But: if I started Bitwig (and connected the Tonverk inside Bitwig), the crackling went away, even in Chrome and Spotify.

So I looked in the Bitwig.log and found the following:

[2025-12-02 12:15:14.915 float-gui-widgets info] setSupportedSampleRates 48000.0, [44100.0, 48000.0, 88200.0, 96000.0, 176400.0, 192000.0]
[2025-12-02 12:15:14.915 float-gui-widgets info] setSupportedBlockSizes 1024, [32...2048]

Putting the following settings in a file
~/.config/wireplumber/wireplumber.conf.d/elektron.lua

table.insert(alsa_monitor.rules, {
  matches = {
    {
      { "node.name", "matches", "alsa_output.usb-Elektron_Music_Machines_Elektron_Tonverk*.analog-stereo" }
    }
  },
  apply_properties = {
    ["node.description"] = "Tonverk",
    ["node.force-rate"] = 48000
  }
})

did the trick. Now the sound is fixed even in case Bitwig is not running.

Digitone II and Syntakt are working with overwitch. But strangely not with the settings above.

9 Likes

Unfortunally the lua script does not work in all cases. So I have to dig deeper.

2 Likes

I don’t own a Tonwerk but this looks suspiciously like the issue reported in [SOLVED] Analog Heat +FX Class Compliant mode - #17 by frekvencia, which affects all Elektron devices in Linux when using class compliant USB audio.

Could it be that?

Yes, maybe. I have to investigate further.

Another thing is on Android Devices the Tonverk is not recognised as a Sound device.

So there might be something wrong with the compliance.