The good news are: just completed a successful migration to KDE Plasma 6 on ALL of the boxes in the house: 2 desktops and 3 laptops. No blisters found, hurray!
Huge congratulations to the KDE Team and all the unspoken contributors who made this a whole milestone and a quite smooth transition!
Now for the possible bad news: all upstream (that's me) QStuff* support for anything older than Qt6.0 is going to be scuttled, give or take a week, a month or two.
Moving forward... đ± because, there's no other way ;)
The video of the codepage live coding concert at the Helsinki Algorave data leap at WHSÂ Teatteri Union on 1. March 2024 is online:
Codepage performs a live coding concert with their own software, gravel, which controls its internal synthesis and sample processing (implemented with Csound), as well as an external modular synthesizer via MIDI.
Performers Tina Mariane Krogh Madsen and Malte Steiner operate their laptops, which are synchronized via network cable. The screens are projected in an overlapping manner. They start from an empty canvas, typing the code in real-time, which generates the sequences. Additionally, Steiner plays a touch-controlled synthesizer he recently built.
Ultranet is a protocol created by audio manufacturer Behringer to transmit up to 16 channels of 24-bit sound over a Cat-5 cable. Itâs not an open standard, though: Behringer doesnât offer an API or protocol description to build your own Ultranet devices. But that didnât stop [Christian Nödig], thanks to a defective mixer, he poked into the signals and built his own Ultranet receiver.
Ultranet runs over Cat-5 ethernet cables but isnât an ethernet-based protocol. The electrical protocols of Ultranet are identical to Ethernet, but the signaling is different, making it a Level 1 protocol. So, you can use any Cat-5 cable for Ultranet, but you canât just plug an Ultranet device into an Ethernet one. Or rather, you can (and neither device should explode), but you wonât get anything out of it.
Instead, [Christian]âs exploration revealed that Ultranet is based on another standard: AES/EBU, the bigger professional brother of the SPD/IF socket on HiFi systems. This was designed to carry digital audio over an XLR cable, and Behringer has taken AES/EBU and tweaked it to run over a single twisted pair. With two twisted pairs in the cable carrying a 192 kbps signal, you get sixteen channels of 24-bit audio in total over two twisted pairs inside the Cat-5 cable.
Thatâs a bit fast for a microcontroller to decode reliably, so [Christian] uses the FPGA in an Arduino Vidor 4000 MKR in his receiver with an open-source AES decoder core to receive and decode the Ultranet signal into individual channels, which are passed to an ADC and analog output.
In effect, [Christian] has built a 16-channel mixer, although the mixing aspect is too primitive for actual use. It would be great for monitoring, though, and itâs a beautiful description of how to dig into protocols like Ultranet that look locked up but are based on other, more open standards.
The GStreamer team is excited to announce a new major feature release of
your favourite cross-platform multimedia framework!
As always, this release is again packed with new features, bug fixes and many other improvements.
The 1.24 release series adds new features on top of the previous 1.22 series
and is part of the API and ABI-stable 1.x release series of the GStreamer
multimedia framework.
Highlights:
New Discourse forum and Matrix chat space
New Analytics and Machine Learning abstractions and elements
Playbin3 and decodebin3 are now stable and the default in gst-play-1.0, GstPlay/GstPlayer
The va plugin is now preferred over gst-vaapi and has higher ranks
GstMeta serialization/deserialization and other GstMeta improvements
New GstMeta for SMPTE ST-291M HANC/VANC Ancillary Data
New unixfd plugin for efficient 1:N inter-process communication on Linux
cudaipc source and sink for zero-copy CUDA memory sharing between processes
New intersink and intersrc elements for 1:N pipeline decoupling within the same process
Qt5 + Qt6 QML integration improvements including qml6glsrc, qml6glmixer, qml6gloverlay, and qml6d3d11sink elements
DRM Modifier Support for dmabufs on Linux
OpenGL, Vulkan and CUDA integration enhancements
Vulkan H.264 and H.265 video decoders
RTP stack improvements including new RFC7273 modes and more correct header extension handling in depayloaders
WebRTC improvements such as support for ICE consent freshness, and a new webrtcsrc element to complement webrtcsink
WebRTC signallers and webrtcsink implementations for LiveKit and AWS Kinesis Video Streams
WHIP server source and client sink, and a WHEP source
Precision Time Protocol (PTP) clock support for Windows and other additions
Low-Latency HLS (LL-HLS) support and many other HLS and DASH enhancements
New W3C Media Source Extensions library
Countless closed caption handling improvements including new cea608mux and cea608tocea708 elements
Translation support for awstranscriber
Bayer 10/12/14/16-bit depth support
MPEG-TS support for asynchronous KLV demuxing and segment seeking, plus various new muxer features
Capture source and sink for AJA capture and playout cards
SVT-AV1 and VA-API AV1 encoders, stateless AV1 video decoder
New uvcsink element for exporting streams as UVC camera
DirectWrite text rendering plugin for windows
Direct3D12-based video decoding, conversion, composition, and rendering
AMD Advanced Media Framework AV1 + H.265 video encoders with 10-bit and HDR support
AVX/AVX2 support and NEON support on macOS on Apple ARM64 CPUs via new liborc
GStreamer C# bindings have been updated
Rust bindings improvements and many new and improved Rust plugins
Lots of new plugins, features, performance improvements and bug fixes
A new version of rtcqs, a Linux audio performance analyzer, is now available. Most notable changes include:
Fixed inconsistent use of single and double quotes
Replaced audio group check with a group agnostic check (fixes #4)
Governor check can now deal with systems that have SMT disabled
Tickless check now deals with all CONFIG_NO_HZ* variants and with nohz being set on the kernel command line (fixes #8)
File systems check has been expanded
IRQ check now loops through /sys/kernel/irq instead of parsing /proc/interrupts
rtprio check now checks if a SCHED_FIFO priority can be set instead of a SCHED_RR priority
Improved preempt RT check, check if âpreempt=fullâ is part of the kernel command line (fixes #7)
Refactoring, created separate classes for main app, resources and GUI
Moved all packaging directives into pyprojects.toml
While working on this release I found out PySimpleGUI is not open source anymore so rtcqsâ GUI has become a bit of a moving target. Iâm looking at alternatives like pygubu or even popsicle but that will be something for in the long run. In the short run there are more improvements in the pipeline. The swappiness check needs some attention and same goes for the IRQ check. Iâve been working on a different project to automate prioritizing IRQs and Iâm planning to to reuse some parts of that project for the IRQ check in rtcqs. The idea is to have rtcqs not only list the status of all audio related IRQs but also any audio devices attached to those IRQs.
rtcqs is available on Codeberg, PyPI and is also included in the AUR.
The GStreamer team is pleased to announce another release of liborc,
the Optimized Inner Loop Runtime Compiler, which is used for SIMD acceleration
in GStreamer plugins such as audioconvert, audiomixer, compositor, videoscale,
and videoconvert, to name just a few.
This is a minor bug-fix release which fixes an issue on x86 architectures
with hardened Linux kernels.
Highlights:
x86: account for XSAVE when checking for AVX support, fixing usage on hardened linux kernels where AVX support has been disabled
neon: Use the real intrinsics for divf and sqrtf
orc.m4 for autotools is no longer shipped. If anyone still uses it they can copy it into their source tree
As we get to the close of February 2024, weâre also getting close to Feature Freeze for Ubuntu Studio 2024 and, therefore, a closer look at what Ubuntu Studio 24.04 LTS will look like!
Before we get to that, however, we do want to let everyone know that community donations are down. We understand these are trying times for us all, and we just want to remind everyone that the creation and maintenance of Ubuntu Studio does come at some expense, such as electricity, internet, and equipment costs. All of that is in addition to the tireless hours our project leader, Erich Eickmeyer, is putting into this project daily.
Additionally, some recurring donations are failing. Weâre not sure if theyâre due to expired payment methods or inadequate funds, but we have no way to reach the people whose recurring donations have failed other than this method. So, if you have received any kind of notice, we kindly ask that you would check to see why those donations are failing. If youâd like to cancel, then thatâs not a problem either.
If you find Ubuntu Studio useful or agree with its mission, we would ask that you would ask that you would contribute a donation or subscribe using one of the methods below.
Ubuntu Studio Will Always Remain a Free Download. That Will Not Change. The work that goes into producing it, however, is not free, and for that reason, we ask for voluntary donations.
Donate using PayPal Donations are Monthly or One-Time
Donate using Liberapay Donations are Weekly, Monthly, or Annually
Progress has been made on the new installer, and for a while, it was working. However, at this time, the code is entirely in the hands of the Ubuntu Desktop Team at Canonical and we at Ubuntu Studio have no control over it.
Additionally, while we do appreciate testing, no amount of testing or bug reporting will fix this, so we ask that you be patient.
Wallpaper Competition
Our Wallpaper Competition for Ubuntu Studio 24.04 LTS is underway! Weâve received a handful of submissions but would love to see more!
Moving from IRC back to Matrix
Our support chat is moving back from IRC to Matrix! As you may recall, we had a Matrix room as our support chat until recently. However, the entire Ubuntu community has now begun a migration to Matrix for our communication needs, and Ubuntu Studio will be following. Stay tuned for more information to that, but also our links will be changing on the website, and the menu links will default to Matrix in Ubuntu Studio 24.04 LTSâs release.
PulseAudio-Jack/Studio Controls Deprecation
Beginning in Ubuntu Studio 24.04 LTS, the old PulseAudio-JACK bridging/configuration, while still installable and usable with Studio Controls, will no longer be supported and will not be recommended for use. For most people, the default configuration using PipeWire with the PipeWire-JACK configuration enabled, which can be disabled on-the-fly if one wishes to use JACKd2 with QJackCtl.
While Studio Controls started out as our in-house-built Ubuntu Studio Controls, it is no longer useful as its functionality has largely been replaced by the full low-latency audio integration and bridging PipeWire has provided.
With that, we hope our next update will provide you with better news regarding the installer, so keep your eyes on this space!
Ardour 8.4 is available now for Linux, Windows, and macOS. Nothing particularly significant in this release, because our two lead developers have been busy with things linked to future releases. (note: there was no 8.3 release due to a critical bug discovered after tagging 8.3).
From a project-level perspective, perhaps the most important change is that we have moved the source code of our GUI toolkit (GTK v2) into the Ardour source tree. This has no impact whatsoever on people using the builds provided at ardour.org.
However, this version of GTK is about to be deprecated by a number of Linux distributions, and without this change it will become more difficult for both individual users and Linux package maintainers to continue building Ardour. This also leaves us free to (slowly) strip down aspects of the toolkit that we do not use, and potentially modify it as needed in the future. It also means that even the distribution builds of Ardour for Linux will contain our patches to GTK, which has historically not been the case.
Meanwhile, we now have beta-level AAF import, some new MIDI device maps, a new color theme, a stack of UX/UI tweaks and several fixes for crashing and workflow bugs.
You can do some wild things with sound waves, such as annoy your neighbours or convince other road users to move out of your way. Or, if you get into sonolithography like [Oliver Child] has, you can make some wild patterns with ultrasound.
Sonolithography is a method of patterning materials on to a surface using finely-controlled sound waves. To achieve this, [Oliver] created a circular array of sixteen ultrasonic transducers controlled via shift registers and gate driver ICs, under the command of a Raspberry Pi Pico. He then created an app for controlling the transducer array via an attached computer with a GUI interface. It allows the phase and amplitude of each element of the array to be controlled to create different patterns.
Creating a pattern is then a simple matter of placing the array on a surface, firing it up in a given drive mode, and then atomising some kind of dye or other material to visualize the pattern of the acoustic waves.
It could be a useful tool for studying the interactions of ultrasonic waves, or it could just be a way to make neat patterns in ink and dye if thatâs what youâre into. [Oliver] notes the techniques of sonolithography could also have implications in biology or fabrication in future, as well. If you found this interesting, you might like to study up on ultrasonic levitation, too!
For the first time in four years, Ubuntu Studio is opening up a wallpaper competition! While the default wallpaper will, once again, be designed by Ubuntu Studio art lead Eylul but we need your help to fill create a truly wonderful collection of unique wallpapers!
Cables (cables.gl), the powerful, completely free, browser-based, node-patching generative graphics tool, adds custom Ops and more in its February update. Even better, if you're looking for how to work with this, they've got a profile of a user who built a concert-ready video mixer entirely in Cables, with tips on how to create your own.
From the creator of TouchOSC, Protokol is a perfect tool for monitoring MIDI, Open Sound Control (OSC), and gamepads - with more on the way. And not only is it free, but it runs on macOS, Windows, Linux, iOS, and Android, desktop and mobile. Build 105 gets some nice updates, and it's a good excuse to remind you of this utility.
Well, Phoronix did a review of a similar machine and apparently itâs far from being a slouch and also has the fastest integrated GPU currently available. More on that GPU later. So no regret when it comes to those performance benchmarks. Actually no regret at all, so far the notebook performs really well.
There are some more things worth mentioning that add up to the positive verdict besides all the pros I already mentioned in my earlier posts. There is the battery life which is still pretty good given the performant and power greedy CPU. It can run for hours when idling. When running Ardour itâs done in about two hours though but then I work with all the sluices wide open. But it charges pretty fast. Another thing that struck me is that the notebook is so much quieter than the old one. And the keyboard is just really nice now that I got a bit more used to it. And I managed to map the last media key, the stop one, to something useful with my old friend xdotool. Mapped this media key to the âstop/cancelâ keycode using udev and added a keyboard shortcut in XFCE that gets triggered by this keycode and that executes a small script that looks like this:
#!/bin/bash
xdotool search --classname ardour_ardour key --delay 100 h space h
Now if Ardour is running and I press the Stop media key, xdotool sends the key sequence âh space hâ to Ardour with a delay of 100ms between the key strokes. âhâ sets the playhead to start, âspaceâ stops the transport and another âhâ to be sure the playhead is at the start position. Only thing that Iâd like to add is some kind of detection if transport is running or not.
Also managed to achieve an even lower latency with my USB interface by adding the option implicit_fb=1 to the snd-usb-audio kernel module. This not only gets rid of the kernel ring buffer getting flooded with warnings but it also results in clean audio at 32*3/48, so 2ms of systemic latency. So itâs on par with my old notebook, albeit with some more headroom. Lower doesnât seem to be possible, it results in slowed down, distorted audio.
So would I advise everyone doing Linux audio to get this notebook or a similar specâd one? Well, thereâs this GPU that still seems to be a bit too new, too shiny and too fast for the kernel Iâm currently running (6.7.2) so Iâm getting reliable crashes with software like OwlPlug and occasional crashes when connected via HDMI to a second screen. But itâs tolerable and it will probably get sorted out sooner or later. Other than that, this thing flies and hopefully I can do another decade with this machine.
Edit: worked around the GPU crashing by copying /usr/share/X11/xorg.conf.d/10-amdgpu.conf to /etc/X11/xorg.conf.d/10-amdgpu.conf and disabling hardware acceleration by adding the line Option "Accel" "off" to it. Content looks like this:
Lilv 0.24.24 has been released. Lilv is a C library to make the use of LV2 plugins as simple as possible for applications. For more information, see http://drobilla.net/software/lilv.
Changes:
Avoid overriding state features passed by the host
Fix null dereference when trying to load state from a missing file
Fix potential null dereferences and conversion warnings
David GarcĂa Goñi released a brand new version of Elektroid, a sample and MIDI device manager for devices by Elektron, Arturia, Eventide, Moog, and Novation.
New features in this version:
Audio recording
Initial editing of samples
Auto sampler
Search on selected filesystems
Possibility to only display a local file system (the âShow Remoteâ toggle in the hamburger menu)
CLI audio format converters
The project started out as a FOSS alternative to Electron Transfer, then effectively cannibalized two earlier projects by the same developer: MicroDude (Arturia MicroBrute librarian) and phatty (Moog Little Phatty librarian).
Here is the full list of supported devices:
Elektron Model:Samples
Elektron Model:Cycles
Elektron Digitakt
Elektron Digitone and Digitone Keys
Elektron Syntakt
Elektron Analog Rytm MKI and MKII
Elektron Analog Four MKI, MKII and Keys
All samplers implementing MIDI SDS
Casio CZ-101
Arturia MicroBrute
Eventide ModFactor, PitchFactor, TimeFactor, Space and H9
Moog Little Phatty and Slim Phatty
Novation Summit and Peak
Iâve been eyeballing both MicroBrute and Peak lately (completely different beasts price- and feature-wise!), so itâs great to know that I wouldnât need to switch to Windows to make at least some desktop use of either or them.
The program also does some fun extras. If you dig non-12TET big time, it can convert Scala files to MTS for use with Moog Phatty.
Elektroid is available as source code and a flatpak build, although the latter hasnât been updated yet.
This is not the only useful project by David GarcĂa for musicians. Overwitch provides a JACK client for Overbridge 2 devices like Analog Four MKII, Digitakt, Digitone, or Syntakt.
Overwitch 1.1 was released along with Elektroid 3.0 with the following changes:
Support for Analog Heat +FX
Improved support for PipeWire
Latency reporting to JACK
Together, Elektroid and Overwitch cover a lot of ground for Elektron users. Probably not a drop-in replacement for their proprietary counterparts, but getting there at an impressive pace.
The developer also worked on a Linux kernel module for the E-Mu EIII and EIV sampler file systems and a CLI application to manage E-Mu EIII sampler bank files. Iâd expect that to make its way to Elektroid at some point.
Libre Arts is a reader-supported publication. If you appreciate the work I do, donations are once again possible. You can subscribe on Patreon or make a one-time donation with BuyMeACoffee (see here for more info).
I recently worked on some hashtable lookup code that could benefit from
SIMD optimizations and microbenchmarking of modulus and hash functions
to improve the code quality. However, modern CPUs are complex and have
various components that cause fluctuations during benchmarks, such as core
designâŠ