New notebook – The last bits

Sorted out the last bits that didn’t work smoothly yet.

WiFi

WiFi connection was intermittent and slow. lspci had this to say about it:

01:00.0 Network controller: MEDIATEK Corp. MT7922 802.11ax PCI Express Wireless Network Adapter

There are numerous reports about this controller not working, almost all firmware related. The Liquorix kernel I’m running has the latest firmware so that was not the issue. Then I stumbled on a report related to power saving. Disabled that through NetworkManager by adding an extra configuration file in /etc/NetworkManager/conf.d with the following lines in it:

[connection]
wifi.powersave = 2

WiFi is now stable and fast.

Keyboard

Backlight

This can be controlled through sysfs or D-Bus but the system thinks there are only three settings: off (0), dimmed (1) or bright (2). But my keyboard thinks there are four settings, the fourth being what I would call “responsive bright”. This setting disables the backlight after a minute of inactivity and responds to key strokes by enabling backlight again to the bright setting. You can toggle this setting on the keyboard itself with Fn+Space but unfortunately the system does not know about this. I’ve worked around this by using a tiny daemon that listens for key strokes and enables the backlight and disabling it again when there’s no activity for a minute. There are several solutions for this, I settled for kbd_backlight_ctrl because it works and it’s just a few lines of C. Can’t set the brightness though but since it’s just a few lines of code I see this as an opportunity to improve my non-existent C skills.

Media keys

The keyboard has four dedicated media keys, play/pause, stop, previous and next. These work perfectly with a media player like VLC but Ardour does not recognize them. By creating supplementary udev hardware database entries I remapped the media keys so they’re now also functioning in Ardour which is quite neat. Only the stop key has no purpose yet as Ardour has no shortcut for what I want to map it to, stopping and going back to the start marker. Maybe I could create something myself through Ardour’s Lua scripting engine.

The hardware database entries look like this:

evdev:input:b0011v0001p0001*
 KEYBOARD_KEY_a2=space
 KEYBOARD_KEY_90=left
 KEYBOARD_KEY_99=right

These went into /etc/udev/hwdb.d/99-media-keys.hwdb. After running systemd-hwdb update && udevadm trigger as root Ardour now sees the play/pause button as space, previous as left and next as right. I used Remapping Keyboard Keys in Ubuntu with udev / evdev as a reference.

Audio devices

There are three audio devices on this machine:

$ lspci | grep -i audio
64:00.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Rembrandt Radeon High Definition Audio Controller
64:00.5 Multimedia controller: Advanced Micro Devices, Inc. [AMD] ACP/ACP3X/ACP6x Audio Coprocessor (rev 63)
64:00.6 Audio device: Advanced Micro Devices, Inc. [AMD] Family 17h/19h HD Audio Controller
$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: Babyface2359686 [Babyface (23596862)], device 0: USB Audio [USB Audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 10: Generic [HD-Audio Generic], device 3: HDMI 0 [HDMI 0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 10: Generic [HD-Audio Generic], device 7: HDMI 1 [HDMI 1]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 10: Generic [HD-Audio Generic], device 8: HDMI 2 [HDMI 2]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 11: Generic_1 [HD-Audio Generic], device 0: ALC257 Analog [ALC257 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
$ arecord -l
**** List of CAPTURE Hardware Devices ****
card 0: Babyface2359686 [Babyface (23596862)], device 0: USB Audio [USB Audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: acp63 [acp63], device 0: DMIC capture dmic-hifi-0 []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 11: Generic_1 [HD-Audio Generic], device 0: ALC257 Analog [ALC257 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

So onboard audio, HDMI and a capture device acp63. As you can see I’ve managed to get onboard and HDMI out of the way by indexing them but unfortunately the kernel module for the capture device, snd-soc-ps-mach, does not seem to support indexing. I’d like to index it as card 12 because now that acp63 device claims 0 when my Babyface is not attached. Something for later investigation.

I’ll dedicate a separate post to doing real-time audio on this machine. I need to do some more stress testing but Ardour runs without complaining at 48kHz, 64 frames/period and 3 periods/buffer, so 4ms system latency. No weird things there.

New notebook – The last bits

New notebook – The day after

Everything seems to work, network, audio, external monitor, display brightness. And this is the first notebook I’ve ever come across to that has a touch pad with an actual real middle click! Love it! Keyboard is nice too, backlight works fine and it has a nice array of function keys that are almost all mapped now. Overall feel of this machine is really nice, aluminum housing and the chiclet keyboard feels stable and solid. Startup time is twice as fast as the BTO. Compared to my new notebook the old one feels strangely completely outdated.

Now what is in there? CPU is an AMD Ryzen 7 7840HS, an 8-core CPU with SMT. Disabled SMT though, Ardour seems to run slightly better on 8 real cores. 32GB of RAM which should be more than enough, my old notebook had 16GB and never had any issues with that. Storage is a 1TB SK hynix BC901 NVMe drive with more than decent throughput. Almost all USB ports sit on their own bus which is quite nice. The only bus that shares its IRQ with something else (the WiFi module) is bus 001. USB ports that use this bus are both the USB-C and USB Type-A connectors closest to the screen. So better not use those.

The only thing that is a bit flaky is the WiFi connection but came across more mentions about that. The connection sometimes randomly reconnects. Can live with it, when making music I often completely disable WiFi. Did have to use systemd automount instead of an fstab entry to mount my NAS as the WiFi connection apparently takes a bit too long to come up.

Didn’t have to tweak a lot so far. As I already mentioned I did disable SMT (Simultaneous Multi-Threading) and I’ve prioritized the IRQ of the USB bus my audio interface sits on. Not with rtirq or udev-rtirq (which doesn’t work properly on this machine, the wrong IRQ seems to get prioritized) but with a small script to fetch the IRQ number that seems to change on every boot and feeding the outcome to chrt. Installed a liquorix kernel on it and enabled threaded IRQ’s, disabled mitigations and USB autosuspend. Also allowed my user to set CPU DMA latency.

BTO vs Lenovo

It’s running Debian 12 with XFCE again. Simple, fast and looks good enough to me with the Greybird theme and elementary icons. And no more notebook that takes off into orbit, the new one is way more quiet.

On with making music!

Edit: the script I threw together could be useful for others too with USB audio interfaces connected to a machine that uses MSI (Message-Signaled Interrupts) enabled USB controllers. You can find the snd_dev_id of your interface with aplay -l.

#!/bin/bash

prio=90
prio_step=5
proc_path=/proc/asound
sys_pci_bus_path=/sys/class/pci_bus
snd_dev_ids=( Babyface2359686 UA25 )

for snd_dev_id in ${snd_dev_ids[@]}; do
  snd_dev_card_number=$(awk '/'$snd_dev_id'/ {print $1}' $proc_path/cards)

  if [ -n "$snd_dev_card_number" ]; then
    snd_dev_card=card$snd_dev_card_number
    snd_dev_pci_bus_ref=$(grep -Eo "usb-[^[:space:],-]+" $proc_path/$snd_dev_card/stream0 | sed "s/usb-\(.*\)/\1/")
    snd_dev_pci_bus_ref_short=$(awk -F ':' '{print $1":"$2}' <<<$snd_dev_pci_bus_ref)
    snd_dev_irq=$(cat $sys_pci_bus_path/$snd_dev_pci_bus_ref_short/device/$snd_dev_pci_bus_ref/irq)
    snd_dev_irq_pid=$(pgrep $snd_dev_irq-xhci)

    chrt -f -p $prio $snd_dev_irq_pid
    
    prio=$((prio-prio_step))
  fi

done
New notebook – The day after

Balancing act

At the moment everything seems a bit like a balancing act. First on a physical level, as I’m currently recovering from surgery one of the things I have to learn again is to find my balance, literally. While recovering I can’t do very much hobby stuff in the analogue domain so I swayed a bit to the digital domain again.

About 6 years ago I bought a Mixbus 32C license but found myself using Ardour more and more. During the pandemic I took a subscription and from then on I basically started using Ardour exclusively. Still remember the first time I opened up Ardour back in the 00’s, to me it was intimidating, daunting, what did all those buttons and sliders do? But like with more things in life, sometimes you just fathom the seeming complexity of something, call it an eye opener, and then you’re like, why didn’t I start using Ardour right from the beginning?

Now Ardour is my DAW of choice. It’s running on Debian 12 with a Liquorix kernel on my old, trusted BTO and I’ve never had such a stable setup before. Yes, Debian, after 14 years of Ubuntu that has become a balancing act too. The more applications are moved into Snap the more it alienates me from the OS. While I understand the concept of self-contained applications, it’s part of my job, I don’t think this concept has a real purpose on a desktop OS. It adds another layer of complexity and makes communication between applications harder. Whole different story for another time.

Ardour 8.0 has just been released and I can wholeheartedly recommend it. Installing and setting it up is a breeze and even on my old BTO it runs like a charm. The only restriction is that I can’t use too many Dragonfly Reverb plugins within a project but once I give in to my GAS to get a Framework notebook that will be resolved too.

Balancing act

LV2 gaining momentum

The number of new LV2 plugins being released is steadily growing. The last couple of months at least the following LV2 plugins have been released:

  • Bitrot (a set of LV2 and LADSPA plugins for glitch effects)
  • beatslash-lv2 (a set of plugins for live beat repeating and beat slicing)
  • deteriorate-lv2 (a set of plugins to deteriorate the sound quality of live inputs)
  • midimsg-lv2 (a set of plugins to transform midi output into usable values to control other plugins)
  • QmidiArp (LV2 plugins of the three QMidiArp modules)
  • x42-plugins (collection of LV2 plugins: tuner, oscillator, x-fader, audio-level meters, midi filters etc.)
  • BLOP-LV2 (port of the LADSPA BLOP plugins)

Haven’t tried them all of them yet but the ones I did try (the QmidiArp modules as plugins and some of the x42 plugins) proved to be very promising. Besides new plugins being released work continues on a great number of plugins, the LV2 framework itself and on tools facilitating in the creation or building of LV2 plugins. Especially falkTX is in the vanguard with his current work on getting his Carla plugin host to work as a LV2 plugin. This would open up a lot of possibilities like using it in hosts that don’t support all plugin frameworks (think Ardour and DSSI support). In the meanwhile the guitarix team continues to add great LV2 plugins to their ever growing collection and Dave Robillard, the main author of LV2, doesn’t sit still either with releasing updated versions of the building blocks that form the LV2 framework.

LV2 gaining momentum

Ardour with video and LV2 MIDI plugins chaining support

Got so absorbed hacking my UG802 that I completely missed this: https://community.ardour.org/node/7219

So not only can you add video to your Ardour project but now it’s also possible to chain multiple LV2 plugins that accept MIDI. The video support is the great work of Robin Gareus and it was actually a presentation on this functionality that got me acquainted with the Linux Audio meetings at the HKU almost 3 years ago. So yes, he’s been working on it quite a while so I assume it works well.

I have actually never worked with Ardour, I’ve always used Qtractor. But maybe it’s getting time to check out Ardour too, especially now that the MIDI part is stabilizing.

Ardour with video and LV2 MIDI plugins chaining support

LAC2013: Friday 10th of May

“Hello, I’d like to know if I can take my electric guitar with me as hand luggage, would that be possible?”
“Well that depends on the whims of the cabin crew.”
“So if I can’t take it with me in the cabin would that cost me extra?”
“Yes, that will be €200.”

So I decided to take my guitar apart, wrap it in a big towel and put in my suitcase so that I could take it with me as standard baggage. I didn’t want to run the risk of having to pay €200 extra. When I arrived at the airport I was sitting next to a young lady with, yes you guessed it right, a guitar as hand luggage. She didn’t have to pay anything extra. Grmbl. You’ll see that when I unpack my stuff in Graz the neck of the guitar will be broken or something. Let’s hope not.

I had a transfer in Munich which went smoothly. The whole journey went smoothly actually. Thanks to 3G internet, QR codes of my tickets sent to my mobile phone and Google maps. Especially those QR codes are very practical, they save time and paper. Every counter and gate has QR scanners and the personnel just puts your mobile phone in the scanner and you’re done. Maximum efficiency. Google maps helped me out on quite some occasions too although the Grazians were very helpful too.

So on Friday around 2 PM I walked into the main conference building. I couldn’t be there on Thursday because of my son‘s birthday. So I already missed quite some interesting workshops, presentations and lightning talks. I was kind of bummed about that at first but as soon as I entered the building I forgot about all that. It was still lunch time and everyone got together in the main building to eat something. It was a warm welcome and great to see all those people again. I immediately spotted the MOD guys (my goal for this LAC was to get a MOD endorsement) and got acquainted with the one and only Kirill Alferov which was quite a nice surpise. After having something to eat I decided to check on the status of my guitar and to put it back together again. Luckily the guitar had survived the journey unharmed.

As soon as I started screwing the neck back on the MOD guys approached me to ask if they could borrow my guitar for their lightning talk on Saturday. Sure, but only if I could play around a bit with the MOD Quadra they brought with them. This was no problem so a few minutes later I found myself happily noodling and tapping footswitches on this amazing device. Even though it still had some rough edges it all felt, looked and sounded very professional to me. Yes, the MOD is a fine example of my view on Linux audio development: world domination. And I mean it. Within 10 years Windows and Mac OS will only exist for tablets or other small portable devices with touchscreens and Linux will be the only viable alternative on both other ends of the scale: embedded devices and fully fledged audio workstations in professional studios.

Right after that I headed off with Marc Groenewegen to the Linux/Ardour in a Recording Studio workshop where I soon found myself going through the mixing console manual together with Frank Neumann to find any references to GPL clauses as the console was running on Linux (see how quickly world domination is approaching already?). Of course we found nothing. The workshop was a bit too specialized for me so I decided to check in at the hotel and get rid of my baggage. The plan was to eat Schnitzels for dinner but when it was time to go to the restaurant it was pouring so we (me, Funs & girlfriend) arrived at the restaurant completely soaked. But I couldn’t care less when I got served my Schnitzel XL with a big pint of Puntigamer.

After dinner we went to the Mumuth. Amazing building. But me and electroacoustic music don’t go together that well. It’s not that I don’t like it. I’ve seen Sachiko M once and she blew me away with just a sine wave out of a sampler. Not just with the sine wave but more with her performance, her being there and getting totally absorbed by the sounds she was making. They had to carry her off the stage after she was done. Well, that didn’t happen at the Mumuth. Or I should’ve stayed until the end because now I’m basing my judgement on a mere three perfomances because I left earlier as I didn’t really dig the vibe.

LAC2013: Friday 10th of May

Tijden veranderen

De vraag: Linux Audio 2012: Is Linux Audio moving forward?

De antwoorden:

I’d pose a different question:

Is OSX/Win Audio moving _backward_?

If OSX continues to move towards iOS, and Win continues to move towards Metro, and Thunderbolt stalls, and screens get smaller, and expansion ports get scarcer, then Linux might become the de-facto “pro” multimedia platform simply because the other choices have become too dumbed down.

Of course _most_ users will be happy with the ease and power of the tools that will be available on iOS/Metro. And _most_ users is where the money is, so Apple/Microsoft are chasing the right users. But there will be some serious users that need a powerful production system with big screens and big peripherals, and for these users, Linux might become the standard.

Ben Loftis – Harrison Consoles

… if you’re on the “inside” of Apple audio development its clear that their focus is really shifting away from “creative/professional audio” toward “consumer audio”. i’m talking about the OS infrastructure here, not the existing apps. now, traditionally, Apple has done an amazing job of creating technology that manages to serve the needs of both audiences, and they *may* manage to carry on doing that. but there are few signs from things going on in both iOS and the latest versions of OS X that this might not carry on. personally, i’d probably put my money on apple, but there is a real question what their (infrastructure) focus is going to be in a year or two.

Paul Davis – Ardour/JACK

Elders op het web ving ik naar aanleiding van dit topic een glimpje op van deze toekomst.

Prism Sound Lyra USB audio interface

Tijden veranderen

De beer is los

En hij heet KLANG – Kernel Level Audio Next Generation. Een medewerker van een universiteit In München vindt de hele Linux audio stack maar niks, al dat user space gedoe, dat moet allemaal in kernel space gebeuren. En op basis van OSS want ook de ALSA driver stack is natuurlijk helemaal crap. En omdat het allemaal fundamenteel verkeerd is gaat hij van de grond af iets nieuws bouwen. Dus hij legt een websiteje aan, doet een aankondiginkje en verwondert zich er vervolgens over dat het wordt opgepikt.

En als vervolgens Phoronix en zelfs Paul Davis (de belangrijkste man achter Ardour en JACK) er aandacht aan gaan besteden heeft datenwolf heel wat uit te leggen. Ik wens hem heel veel succes, zowel met KLANG als met het uitleggen waar hij nou mee bezig denkt te zijn.

De beer is los

Loomer Cumulus

Het aantal aanbieders van commerciële plug-ins voor Linux is klein. Heel klein. Het zijn er eigenlijk maar vier, Loomer, LinuxDSP, Pianoteq en DiscoDSP. Daar staat tegenover dat de beschikbare plug-ins van hoge kwaliteit zijn en dat vooral Loomer en LinuxDSP niet onwelwillend staan tegenover verzoeken, vragen en eventuele bugreports vanuit de community. Voor die kwaliteit en servicegerichtheid betaal je wel wat maar alle drie de aanbieders hebben demo’s beschikbaar en Loomer heeft nu ook een magware plug-in uitgebracht, Loomer Cumulus.

De plug-in, beschikbaar als 32 en 64 bits LinuxVST en standalone JACK applicatie, staat op de DVD die bij het blad Computer Music zit. Niet echt freeware dus, je moet het tijdschrift wel eerst aanschaffen, maar Cumulus is zeker de moeite waard om eens uit te proberen. Het is, naast Loomer’s eigen Sequent, de enige goed werkende plug-in voor Linux waarmee je samples kan laden en deze realtime kan bewerken (DiscoDSP’s HighLife is een specifieke sampler maar werkt niet goed). De standalone applicatie werkt prima, met de LinuxVST plug-in heb ik nog wat problemen aangezien Qtractor wat moeite heeft met deze plug-in. Ardour 3, dat inmiddels ook ondersteuning heeft voor LinuxVST’s, doet het beter maar waarschijnlijk komt Cumulus het beste tot zijn recht in software als Renoise.

Het is goed om te zien dat een blad als Computer Music Linux als audio platform serieus begint te nemen. Niet alleen staan er Linux binaries op de DVD maar ook staat er een positieve review van Harrison Mixbus 2 in het laatste nummer van het magazine zelf en staan er Linux demo’s van Mixbus en energyXT op de DVD.

Loomer Cumulus