QJackCtl and Pipewire

It took me a few tries, but I finally got a passable demo/tutorial about Pipewire and QJackCtl.

Here’s the final version. Well, final for now.

Here’s the version before that that got hit by a copyright claim and thus was not visible in Canada. I chose the “auto edit” option to remove the copywritten material. I think that means that you don’t see how you can feed browser audio back into itself. I’ve not watched it since it got cut.

Here is the original Camcorder version. This was really the approach I wanted to take, with the camera picking up the same audio that I was hearing. But the video was unwatchable.

Upgrading QGo to QT5

My Day job has me messing around with QT5. We’rer building various RPMs for different RHEL and CentOS versions, and I wanted to get a little more experience on this. Specifically, I wanted to be able to do trial and error on a package that would not pollute our work stream. I wanted it to be something QT based. And I wanted it to be fun.

So I am working on repackaging QGo for Fedora 34 using QT5. Here’s what I am learning.

Continue reading

Pipewire low latency

Just wanted to leave myself a note here. On QJackCtrl It shows the latency in the bottom right of the Parameters page. If I drop the Frames/Period to 16 (Lowest) the latency drops to 1 msec. For a Jamulus server with a ping time of 22ms I get an overall delay of 44 ms.

And that is over wireless.

This is on my laptop, not my NUC, and it does not have the Scarlet Solo USB Analog-to-Digital converter on it.

But it is encouraging.

Unifying Audio with Pipewire

ALSA. Jack. PulseAudio. MIDI. Musescore. Jamulus.

My musical interactions with Linux are not the most complex in the world, but they ain’t trivial. The complexity of the Linux audio landscape has been a stumbling block so far. Pipewire has just gotten me past that.

The title of this article implies that you need to do something other than install Pipewire. So far, this is not true. On my system, at least, it Just works.

Continue reading

Querying hostnames from beaker

If you have requested a single host from beaker, the following one liner will tell the hostname for it.

bkr job-results   $( bkr job-list  -o $USER  --unfinished | jq -r  ".[]" )   | xpath -q -e string\(/job/recipeSet/recipe/roles/role/system/@value\)

This requires jq and xpath, as well as the beaker command line packages.

For me on Fedora 33 the packages are:

  • perl-XML-XPath-1.44-7.fc33.noarch
  • jq-1.6-5.fc33.x86_64
  • python3-beaker-1.10.0-9.fc33.noarch
  • beaker-redhat-0.2.1-2.fc33eng.noarch
  • beaker-common-28.2-1.fc33.noarch
  • beaker-client-28.2-1.fc33.noarch