Analog Heat and capturing audio on Linux

Hey guys, just wondering if anyone else is using AH + Linux?

How did you get it to work on your setup? Was it just plug and play? Atm for me, USB audio seems to get distorted and slow down when I try to capture audio from it.

Hi! I got the digitone working pretty well under linux, but I haven’t tried the Heat yet.

Are you using Pulse or Jack? What is your software setup and are you using realtime stuff?
Are you recording from or sending to the Heat?

I can take a look tomorrow and see if I can get it working.

Uh, I’m using Pipewire. I also have a digitone and it works perfectly fine with what I got so far (just replacing pulse and jack with it). I haven’t tried turning on the real-time stuff yet but I’ll explore doing that.

I’m attempting to send to Heat using Catia but it just sounds really delayed and distorted. It does sound perfectly fine when I change to audio cables and connect them to my audio interface though but I’d like to try and make it work with USB.

Could it be like a buffer size?
Are you in Real Time in Jack?

Just got the realtime kernel and pam_limits set up based on this documentation: Professional audio - ArchWiki

I did mess with the buffer settings but it seems to sound the same regardless. Testing with speaker-test as well and even have turned off Pipewire to use only ALSA and it still doesn’t sound great.

Try using Jack.

Under pulse every device I’ve tried has work great (not tried a heat yet mind you but still…)

1 Like

The monitoring and routing are very limited with Pulse.

[How to replace Pulseaudio with Jack, Jack and PulseAudio Together as Friend - Tutorials - Manjaro Linux Forum]

What are the differences between Jack and PulseAudio?
JACK is designed for real-time/low-latency response, which is required by professional-level audio solutions. PulseAudio is targeted more at general desktop users. PA seems to be heavier than JACK - being more complex induces more overhead. On Linux both use ALSA for real output in the end.
Here are the advantages of Jack compared to PulseAudio:

  1. Realtime scheduling, which means your sound is processed and transferred in realtime. Latency is displayed and can be set up by yourself depending on your system configurations. This is a really needed feature for professionals to make songs with a lot of instruments mixing.
  2. You can connect the audio inputs and outputs of all your applications together, which will look something like this :slight_smile:
    [image]
  3. Because of the ability to connect multiple sound cards and streams together in real time, lot of cool things can be done with Jack. For example, live monitoring of your own voice (which is my main reason using Jack :slight_smile:), adding effect in real time to your voice, without making any more headache to you guys, here’s an example of my sound recorded by using a real time effects by a program called Rakarrack which is connected to my input and output transports in Jack.

Here are the disadvantage of Jack compared to PulseAudio:

  1. Require more cpu power to do all the real time scheduling. Depending on how you use them, how many transports are you using in your Jack session, Jack will make your CPU work harder (not that much though, mine never hits 2% of my CPU usage on idle)
  2. X Runs. Xruns means your system missed to process some buffers in time, causing underrun or overrun. This is effected by the sample rate, buffer size, periods you set in Jack. More details about this read the FAQ in the bottom of this tutorial.

Why would I use Jack as the client of PulseAudio instead of just replace it entirely?

Because PulseAudio is a hard dependency for a lot of applications now, there’s almost all applications have support for PulseAudio. There’s way to use Jack entirely without PulseAudio though, but I just don’t recommend doing it, because many applications will just stop working (Skype, Steam, etc won’t work without pulseAudio). That’s why, the best approach is to use jack alongside PulseAudio. If you follow my tutorial, Jack input and output will be displayed as “PulseAudio JACK Source” and “PulseAudio JACK Sink” by PulseAudio.

I really recommend installing Cadence along with Jack. It features the tools to monitor, connect, insert the settings.
Especially if the idea is to record, Jack is a must.

The tutorial is to be found on the link above.

1 Like

Hey! Not sure if this is still relevant but Overwitch now supports the Analog Heat MKII.

Overwitch is a Linux implementation of the Overbridge protocol used in recent Elektron devices.

You will have to put your Analog Heat into Overbridge mode and you will also need Jack or PipeWire.

Once you start the program your Analog Heat will just show up as a node in your Jack/PipeWire graph with input and output ports.

Here is the project page: https://github.com/dagargo/overwitch

You probably want to build from source because your distribution might have an old version and support for the Analog Heat was added very recently.

1 Like