September 24, 2021

News – Ubuntu Studio

Ubuntu Studio 21.10 Beta Released

The Ubuntu Studio team is pleased to announce the beta release of Ubuntu Studio 21.10, codenamed “Impish Indri”.

While this beta is reasonably free of any showstopper DVD build or installer bugs, you may find some bugs within. This image is, however, reasonably representative of what you will find when Ubuntu Studio 21.10 is released on October 21, 2021.

Please note: Due to the change in desktop environment, directly upgrading to Ubuntu Studio 21.10 from 20.04 LTS is not supported and will not be supported.  However, upgrades from Ubuntu Studio 21.04 will be supported. See the Release Notes for more information.

Images can be obtained from this link:

Full updated information is available in the Release Notes.

New Features

Ubuntu Studio 21.10 includes the new KDE Plasma 5.22 desktop environment. This is a beautiful and functional upgrade to previous versions, and we believe you will like it.

Studio Controls is upgraded to 2.2.3 and includes a frontend to qnetjack which allows Jack sources to/from the local network.

OBS Studio is upgraded to version 27 and works with Wayland sessions. While Wayland is not currently the default, it is available as unsupported and experimental.

We now use the Icon-Only Task Manager by default. You can change this by right-clicking on the taskbar/top panel and select “Show Alternatives…”.

There are many other improvements, too numerous to list here. We encourage you to take a look around the freely-downloadable ISO image.

Known Issues

Official Ubuntu Studio release notes can be found at

Further known issues, mostly pertaining to the desktop environment, can be found at

Additionally, the main Ubuntu release notes contain more generic issues:

Note of clarification: This release does not use the snapped Firefox browser. That will be changing for 22.04 LTS as required by Mozilla.

Please Test!

If you have some time, we’d love for you to join us in testing. Testing begins…. NOW!

by eeickmeyer at September 24, 2021 03:09 PM

September 23, 2021

GStreamer News

GStreamer 1.19.2 unstable development release and git monorepo transition

GStreamer 1.19.2 unstable development release

The GStreamer team is pleased to announce the second development release in the unstable 1.19 release series.

The unstable 1.19 release series adds new features on top of the current stable 1.18 series and is part of the API and ABI-stable 1.x release series of the GStreamer multimedia framework.

The unstable 1.19 release series is for testing and development purposes in the lead-up to the stable 1.20 series which is scheduled for release in a few weeks time. Any newly-added API can still change until that point, although it is rare for that to happen.

Full release notes will be provided in the near future, highlighting all the new features, bugfixes, performance optimizations and other important changes.

This development release is primarily for distributors and early adaptors and anyone who still needs to update their build/packaging setup for Meson.

Packagers: please note that plugins may have moved between modules, so please take extra care and make sure inter-module version dependencies are such that users can only upgrade all modules in one go, instead of seeing a mix of 1.19 and 1.18 on their system. Also, gst-plugins-good 1.19.2 depends on 1.19.2 gst-plugins-base (even if the meson dependency check claims otherwise).

Binaries for Android, iOS, Mac OS X and Windows will also be available shortly at the usual location.

Release tarballs can be downloaded directly here:

As always, please let us know of any issues you run into by filing an issue in Gitlab.

Git monorepo transition

Following the 1.19.2 release all git master branches in git are now frozen and will stay frozen. as we embark on some infrastructure plumbing that will see many of our git modules merged into a mono repository, which should massively streamline and improve our developer experience.

Expect a few days of disruptions, but we'll do our best to get the show back on the road as quickly as possible!

We'll let you know when it's all done and will post more details and migration instructions once everything's in place.

When we emerge on the other side there will be a shiny new main branch in the GStreamer repository and development will continue there.

Nothing will happen to the existing stable branches and repositories, and the existing master branches will also stay in place for the time being, but will no longer be updated.

There will still be separate release tarballs for the various modules.

More details soon, stay tuned.

September 23, 2021 12:00 PM

September 22, 2021

Midichlorians in the blood

New Releases and the New Picture

A new batch of releases from the last weekend: Drumstick libraries 2.4.0, Drumstick Multiplatform MIDI File Player 1.5.1 and Drumstick MIDI Monitor 1.1.0 are out, and here are the main changes for each one:

Drumstick Libraries v2.4.0:

  • implemented ticket #29: RIFF RMID file support. New utility dumprmi, and guiplayer updated.
  • implemented ticket #32: missing library version functions in File and RT libs
  • implemented ticket #33: versioninfo object for windows libraries
  • Enabled by default the internal reverb on macOS DLS Synth
  • Avoided hardcoded font family name in vpiano

Drumstick Multiplatform MIDI File Player v1.5.1:

  • Fixed GH ticket #6: The dependency target "update_helpfiles" of target "dmidiplayer" does not exist. The pandoc utility is optional again.
  • Fixed error checking of DwmGetWindowAttribute() call. This caused a problem in Windows 7 running the "Windows Classic" theme.
  • Support for RIFF MIDI files, provided by Drumstick 2.4.0
  • Czech manual updated, thanks to Pavel Fric

Drumstick MIDI Monitor v1.1.0

  • Removed warnings building with Qt >= 5.15
  • MIDI texts/lyrics encoding defaults to Latin1
  • New options: Qt Style, Dark mode, and internal icon theme based on breeze
  • CMake version >= 3.14
  • Added SCM Revision to the about box
  • Fixed file info dialog (initial tempo, ...)
  • Support for RIFF RMID (.rmi) file format

A common point for all the above is the RIFF MIDI file format support. Citing the LOC:

It is a wrapper format for MIDI data, as first specified by Microsoft, and later extended by (an arm of the MIDI Manufacturers Association) to permit the bundling of both MIDI files and Downloadable Sounds (DLS) files. According to Multimedia Programming Interface and Data Specifications 1.0, August 1991.: "The 'RMID' format consists of a standard MIDI file enclosed in a RIFF chunk. Enclosing the MIDI file in a 'RIFF' chunk allows the file to be consistently identified; for example, an 'INFO' list can be included in the file."

The RIFF format specifications were published in 1991 in Microsoft Windows Multimedia Programmer's Reference, with a brief section devoted to RMID (8-31). The extended specification that documented how both MIDI and downloadable sounds could be bundled in an RMID file (technical note RP-029, "Bundling SMF and DLS data in an 'RMID' File"), was published by the MIDI Manusfacturers Association (MMA) in 2000. The co-authors represent IBM Research, Kurzweil, Microsoft, and Sonic Foundry. In 2001, MMA published the XMF_1_0 specification, which they now prefer to RMID.

The implementation in Drumstick::File offers read-only functionality, and requires the existing SMF class to process the MIDI data portion. The DLS processing is missing, because I've been unable to find a single example of usage, and I suspect that nobody has used it in the real world. Anyway, there is a new utility 'drumstick-dumprmi', which is similar to the other commandline utilities printing the file contents as text in the terminal, with the extra functionality of extract/convert the MIDI data into a standalone SMF file.

Last month was published another utility: wrk2mid v1.0.0 which converts WRK Cakewalk files into SMF. This is something that can be done in Windows using the program Cakewalk by BandLab, which is gratis as a beer, but 'wrk2mid' can be compiled and run on Linux and macOS, so maybe it could be useful for someone. I don't expect to see it on Linux distributions any time soon, though. See:

There was a post from 2014 with a diagram of the relationship between the Drumstick libraries v1.0 and applications at the time. Now, all my applications depend on Drumstick v2.x and there are new ones too, so may be this is a good time to paint the new picture...

The new picture

The new picture

It is a pending subject to renew the repertoire included in dmidiplayer as sample songs. Here is a future one, rendered on macOS (Mojave) using dmidiplayer v1.5.1 with FluidSynth v2.2.3 and GeneralUser Soundfont.

The song is "Negra Sombra" with lyrics by Rosalia de Castro (1837-1885), published in 1880 in her book "Follas Novas", and music by Xoan Montes (1840-1899), a composer from my own birthplace (Lugo). The song was premiered in La Habana, Cuba, in 1892. You may recognize the melody if you like choral music, or because an arrangement by Carlos Nuñez and Luz Casal was included in the soundtrack of the Spanish drama film "The Sea Inside" (2004, Spanish: Mar adentro). This rendition is derived from a score and MIDI sequence by Lalus fecit edition 2013 licensed as CC-by-nc-sa.

Publishing this song at YouTube triggered the algorithm claiming it as a copyrighted work by Sony. I am not monetizing my videos at YouTube so it doesn't matter in practice, but it bothers me a lot so I'm disputing the claim. Google and Sony are taking a work that is in the public domain, and they are appropriating it. That may be seen as criminal conversion, or at least cultural appropriation.

by Pedro ( at September 22, 2021 05:36 PM

September 19, 2021

The Linux-audio-announce Archives

[LAA] Drumstick Multiplatform MIDI File Player 1.5.1 Released

Drumstick ( is a set of 
GPLv3 licensed C++/Qt libraries for MIDI applications. The project includes 
several tools as examples, and among them is the drumstick-guiplayer 
utility that leverages the Drumstick::ALSA library, so it is available only 
for Linux (because the ALSA sequencer is a linux only technology). Some 
people have requested a program with the same functionalities also on 
Windows and macOS, so here it is. But this project is much more ...

Some key features:

* MIDI Output to hardware MIDI ports, or any other Drumstick backends, like 
soft synths
* Transpose song tonality between -12 and +12 semitones
* Change MIDI volume level (using MIDI CC7)
* Scale song speed between half and double tempo
* Supports MID/KAR/RMI (Standard MIDI Files) and WRK (Cakewalk) file 

Changes in v1.5.1:

* Fixed GH ticket #6: The dependency target "update_helpfiles" of target 
"dmidiplayer" does not exist. The pandoc utility is optional again.
* Fixed error checking of DwmGetWindowAttribute() call. This caused a 
problem in Windows 7 running the "Windows Classic" theme.
* Support for RIFF MIDI files, provided by Drumstick 2.4.0
* Czech manual updated, thanks to Pavel Fric

Build requirements:

* C++11 compiler
* Qt5
* Drumstick libraries v2.3
* Uchardet v0.0.7
* CMake 3.14
* Pandoc (when BUILD_DOCS=on)

Copyright (C) 2021 Pedro Lopez-Cabanillas  
License: GPL v3 or later

Project and Source Repositories


by pedro.lopez.cabanillas at (Pedro Lopez-Cabanillas) at September 19, 2021 12:17 PM

[LAA] Drumstick MIDI Monitor 1.1.0 Released

Drumstick MIDI Monitor for Linux using ALSA sequencer and Qt5 user 
interface. This is the program that was previously and simply known as 

Changes in v1.1.0

* Removed warnings building with Qt >= 5.15
* MIDI texts/lyrics encoding defaults to Latin1
* New options: Qt Style, Dark mode, and internal icon theme based on breeze
* CMake version >= 3.14
* Added SCM Revision to the about box
* Fixed file info dialog (initial tempo, ...)
* Support for RIFF RMID (.rmi) file format

Copyright (C) 2005-2021, Pedro Lopez-Cabanillas
License: GPL v2 or later

More info:

Sources and AppImage:

by pedro.lopez.cabanillas at (Pedro Lopez-Cabanillas) at September 19, 2021 12:16 PM

Internet Archive - Collection: osmpodcast

An error occurred

The RSS feed is currently experiencing technical difficulties. The error is: invalid or no response from Elasticsearch

September 19, 2021 08:01 AM

September 17, 2021


performance protocols Helsinki 18. - 27. September

Tomorrow starts Tina Mariane Krogh Madsens art event 
performance protocols Nordic Sessions # 3: soundings Helsinki 
with events in and around Akusmata and Third Space, which goes till 27. September. Malte Steiner is part of the exhibition in Third Space and shows a computer generated score 'piece for cello and real estate data' as part of his The Big Crash project.

The full concept and schedule:

by herrsteiner ( at September 17, 2021 02:51 PM

September 14, 2021

Linux – CDM Create Digital Music

VCV Rack adds Drums right now – analog-modeled modular drum machine for $30

While we're waiting on VCV Rack 2, Drums is available right now. And not only does it give you a full range of dedicated analog-modeled drum modules, but it's got DSP from our friends at Vult.

The post VCV Rack adds Drums right now – analog-modeled modular drum machine for $30 appeared first on CDM Create Digital Music.

by Peter Kirn at September 14, 2021 02:36 PM

VCV Rack 2 teaser gives us reasons to be excited about Rack again

After a long silence, VCV reveals some of what's coming in VCV Rack 2, the new edition of the free and open source platform. Thought you were just waiting on a VST plug-in? Think again: check out "dark room" mode and some significant usability features.

The post VCV Rack 2 teaser gives us reasons to be excited about Rack again appeared first on CDM Create Digital Music.

by Peter Kirn at September 14, 2021 02:14 PM

September 09, 2021

digital audio hacks – Hackaday

RPi Python Library Has Retro Chiptunes and Speech Covered

Breadboard containing speech synthesis chip

The classic SP0256-AL2 speech chip has featured a few times on these pages, and if you’ve not seen the actual part before, you almost certainly have heard the resulting audio output. The latest Python library from prolific retrocomputing enthusiast [Nick Bild] brings the joy of the old chip to the Raspberry Pi platform, with an added extra trick; support for the venerable AY-3-8910 sound generator as well.

The SP0256-AL2 chip generates vaguely recognisable speech using the allophone system. Allophones are kind of like small chunks of speech audio which when reproduced sequentially, result in intelligible phonemes that form the basis of speech. The chip requires an external device to feed it the allophones at a regular rate, which is the job of his Gi-Pi library.

This speech synthesis technology is based on Linear-predictive coding, which is used to implement a human vocal tract model. This is the same coding method utilized by the first generation of GSM digital mobile phones, implementing a system known as Full-Rate. Both an LPC encoder and an LPC decoder are present on the handset. The LPC encoder takes audio in from the user, breaks it into the tiny constituent parts of speech, and then simply sends a code representing the audio block, but not the actual audio. Obviously there are a few more parameters sent as well to adjust the model at the receiving side. The actual decoding side is therefore not all that dissimilar to what the AY-3-8910 and related devices are doing, except you the user have to create the list of audio blocks up-front and feed the chip at the rate it demands.

Hardware-wise, [Nick] doesn’t document his breadboard build, but the SP0256-AL2 is fairly easy to drive. It is simply a matter of level-shifting the 3.3V logic of the Pi into the 5V domain of the chip, then bit-banging it with a few parallel GPIOs. The PCM audio output is then low-pass filtered and fed into an audio mixer and power amplifier.

The AY-3-8910 can be similarly treated, except it contains its own DAC blocks, so the output is already analog, and you could simply feed the analog outputs directly into the shared mixer with the above.

We’ve featured the AY-3-8910 sound chip before, with this simple hack, which turns an Arduino into a MIDI device. Check out the sweet chiptunes version of Mozart’s Queen of the Night Aria from his Opera ‘The Magic Flute’ in the earlier article linked.

The video after the break gives a (somewhat short) demo of the resulting speech audio you can expect, as if you didn’t already know.


by Dave Rowntree at September 09, 2021 06:31 PM

September 08, 2021

GStreamer News

GStreamer 1.18.5 stable bug fix release

The GStreamer team is pleased to announce another bug fix release in the stable 1.18 release series of your favourite cross-platform multimedia framework!

This release only contains bugfixes and important security fixes, and it should be safe to update from 1.18.x.

Highlighted bugfixes:

  • basesink: fix reverse frame stepping
  • downloadbuffer/sparsefile: several fixes for win32
  • systemclock: Update monotonic reference time when re-scheduling, fixes high CPU usage with gnome-music when pausing playback
  • audioaggregator: fix glitches when resyncing on discont
  • compositor: Fix NV12 blend operation
  • rtspconnection: Add IPv6 support for tunneled mode
  • avidemux: fix playback of some H.264-in-AVI streams
  • jpegdec: Fix crash when interlaced field height is not DCT block size aligned
  • qmlglsink: Keep old buffers around a bit longer if they were bound by QML
  • qml: qtitem: don't potentially leak a large number of buffers
  • rtpjpegpay: fix image corruption when compiled with MSVC on Windows
  • rtspsrc: seeking improvements
  • rtpjitterbuffer: Avoid generation of invalid timestamps
  • rtspsrc: Fix behaviour of select-streams, new-manager, request-rtcp-key and before-send signals with GLib >= 2.62
  • multiudpsink: Fix broken SO_SNDBUF get/set on Windows
  • openh264enc: fix broken sps/pps header generation and some minor leaks
  • mpeg2enc: fix interlace-mode detection and unbound memory usage if encoder can't keep up
  • mfvideosrc: Fix for negative MF stride and for negotiation when interlace-mode is specified
  • tsdemux: fix seek-with-stop regression and decoding errors after seeking with dvdlpcmdec
  • rtsp-server: seek handling improvements
  • gst-libav: fix build (and other issues) with ffmpeg 4.4
  • cerbero: spandsp: Fix build error with Visual Studio 2019
  • win32 packages: Fix hang in GLib when `G_SLICE` environment variable is set
  • various stability, performance and reliability improvements
  • memory leak fixes
  • build fixes

See the GStreamer 1.18.5 release notes for more details.

Binaries for Android, iOS, Mac OS X and Windows will be available shortly.

Download tarballs directly here: gstreamer, gst-plugins-base, gst-plugins-good, gst-plugins-ugly, gst-plugins-bad, gst-libav, gst-rtsp-server, gst-python, gst-editing-services, gst-devtools, gstreamer-vaapi, gstreamer-sharp, gst-omx, or gstreamer-docs.

September 08, 2021 11:30 PM

August 31, 2021

KXStudio News

KXStudio Monthly Report (August 2021)

Hello all, another one of those monthly reports about the KXStudio project is here.
This month as you might have seen we had not one but two Carla releases.
Mostly bugfixes as expected, the new stuff was all very minor compared to past releases.
A few additonal things were added/fixed in Carla already since then, but all still very minor.
Whatever is ready by next release day (October 15) will be what gets in next, just to get a nice pace of releases going.

More (final?) DPF updates

DPF got a lot of attention once again.
It is now on a state where I can focus on bugfixes rather than new things, even though I still want to try official SVG support.
Everything that was in the previous DPF (that is, the git master branch) should now be in the develop branch.
I am confident enough in this that made a new "main" branch to be the default clone target (I will keep the old master branch untouched, as there are a few minor things that can't be made backwards compatible).

Fixing high-dpi support

Something that got a fair bit of attention was high-dpi support.
Previously DPF read the scale factor from the host (if provided, most do not) but now it can also figure it out on its own as fallback.
There was a lot of back and forth until it was verified to work on all major OSes and formats.
I also updated the DPF-Plugins project so that all plugins contained within it support this.
Even though some being bitmap-based causes their UI to look blurry, at least they will appear in the correct size.
You can see them in the screenshot below.


sofd improvements

Some care was given to the sofd module used by DPF as fallback X11 file browser dialog.
It serves us well enough because it generally works fine, but never looked that great in my opinion..
I spent some time to change its colors a bit to follow a more traditional/usual approach, plus a dark theme because yes.
And then on top make it work nicely for high-dpi setups too.
Not everyone uses dark themes, so there needs to be a light theme option too, not sure yet if it can be chosen automatically.
Personally I think it looks much better, but tastes are subjective. Anyway, the differences can be seen below:
(will submit the changes upstream after all the DPF file dialog stuff is finalized and stable)


External UI

As a final thing to mention for DPF, the last item that needed attention before the rework being in feature-parity with old branch, is external UI support.
The idea being that we can reuse DPF APIs and plugin export support but do the UI stuff completely separately - be it separate process or a custom implementation.
As long as it is in a way the plugin host expects things (ie, X11 window on Linux) things should just work..

The old DPF master branch didn't support this fully, but there was some experimental stuff in place.
Now it is back again, with a little more documentation and better support - it should eventually be an official DPF feature.
You can follow its discussion and progress here and because everyone likes screenshots, here is one as a quick test of mpv running as the external UI:


ProM revived

One little plugin I made quite some years ago but left it aside due to difficulties in packaging was ProM.
ProM is basically projectM in plugin form, on top of DPF.
It allows you to have old-school milkdrop-like visualizations on your DAW/host, it is an audio plugin after all.
After a little fighting over building projectM correctly (directly in ProM source, aka "vendored"), I can now say it builds and runs on at least GNU/Linux, macOS and Windows.
Taking from last month's automatic build setup, binaries are automatically generated for these 3 OSes directly from GitHub.
To make Linux distribution packagers happy, the option to build against system-provided libprojectM is still present, and should work even better now as it finds the shared data prefix to use via pkg-config.


Website updates

Worth of a little note, I updated the website to better work in smaller screens, or vertical ones, or both like in mobile phones.
The content itself is mostly unchanged, still need to tackle that (specially documentation, there is a lot of old stuff there).
They typically call this "responsive design" I guess.
The news part I didn't update, as otherwise it would break RSS readers, and the top menu needs to become of one those "hamburguer"-style things when width is low. A task for later.

A final website update worth mentioning is the addition of the board and development pages.
As people sometimes wonder what I have been doing lately (specially important for those that give out donations, thanks for that by the way!) the board view is now integrated into the site. I added color descriptions there too.
Hopefully that makes everything more clear, and more visible too of course.


That is all for now.
If you appreciate the kind of work I do, please consider a donation.
Thank you in advance for your support, and stay safe out there!

by falkTX at August 31, 2021 06:59 PM

August 25, 2021


No The Big Crash VR at Rencontres Internationales this year

Unfortunately the showing of The Big Crash VR at the Rencontres Internationales event at Haus Der Kulturen Der Welt in Berlin which opens tonight, wont happen. The organisers dropped the whole VR program and postponed it to 2022, a wise decision which I support. Putting a VR headset on random peoples faces is not a good idea in a pandemic, especially with all the hideous mutations. 

Thats why I decided also to not show it in The Big Crash exhibition at XM3 in Aalborg, safety for the audience first!
For home consumption you can still check out the multiuser version on Mozilla Hubs which works in the browser on desktop or all VR headsets.

by herrsteiner ( at August 25, 2021 12:42 PM

August 21, 2021

digital audio hacks – Hackaday

Interactive Musical Art Installation Mixes Vintage, Modern, Lasers, and…Bubbles? Bubbles.

Acorn BBC Master. Apple IIe. Ampex 270 Terminal. Vectrex game console. You’d be hard pressed to find a more diverse hardware collection in the average hacker’s lab. When you add seven Raspberry Pi’s, five CRT monitors, an analog oscilloscope and an LED wall to the mix, one starts to wonder at the menagerie of current and retro hardware. What kind of connoisseur would have such a miscellaneous collection? That’s when you spot smoke and fog machines sitting next to an RGB Laser.

Finally, you learn that all of this disparate paraphernalia is networked together. It is then that you realize that you’re not just dealing with a multi-talented hacker- you’re dealing with a meticulous maestro who’s spent lockdown finishing a project he started nearly twenty years ago!

AUVERN comes alive in a show of light and sound whenever someone enters its view.
AUVERN comes alive in a show of light and sound whenever someone enters its view.

The machine is called AUVERN and it’s the product of the creative mind of [Owen]. Taking advantage of advances in technology (and copious amounts of free time), [Owen] laboriously put his collection of older rigs to work.

A Python script uses a Kinect sensor’s input to control a Mac Mini running Digital Audio Workstation software. The operator’s location, poses and movements are used to alter the music, lights, and multimedia experience as a whole. MIDI, Ethernet, and serial communications tie the hardware together through Raspberry Pi’s, vintage MIDI interfaces, and more. Watch the video below the break for the technical explanation, but don’t miss the videos on [Owen]’s website for a mesmerizing demonstration of AUVERN in full swing.

AUVERN makes use of the Vectrex32 upgrade which we have previously covered, and we are unavoidably reminded of another pandemic inspired bubble machine. Don’t forget to send us your hacks, projects, and creations through the Tip Line!

by Ryan Flowers at August 21, 2021 05:00 PM

August 20, 2021

KXStudio News

Carla Plugin Host v2.4.0 is here

Hello everyone, this is the announcement of the 2.4.0 version of the Carla Plugin Host.
If you do not know, Carla is a fully-featured cross-platform audio plugin host, which can also run as a plugin.

This release was initially meant to be 2.3.3 but there are some small new features so treating it as bugfix would be misleading.
Semantically-speaking, new stuff means new version, so 2.4 it is.
I was going to wait a bit more until a release, but it is Ubuntu feature freeze time, so got to go with what is available now in order to make it.
Anyway, let's go through the (small) release highlights.


Option to use classic skin by default

Who doesn't like a little bit of nostalgia?
Reminiscent of its v1.x days, the "classic" rack skin can now be made into the default.
So now you can be on latest Carla with all the new stuff, but still feel retro. :D

The dry/wet and volume controls are only accessible through the built-in plugin edit dialog,
but in return the whole rack takes less screen space.


LV2 Gtk UIs on any system

After some changes on how Carla handles its Gtk UI bridges, it is now possible to build and use them on any system.
Behind the scenes instead of directly linking against Gtk libraries, the Carla Gtk UI bridge will open the Gtk library/DLL to find the needed symbols in order to get a working Gtk setup.
This doesn't change the behaviour on Linux, but allows to use Gtk-based UIs on systems like Windows and macOS.
Its usefulness is a bit questionable, my main reason to change this was to be able to adapt to new Gtk versions more easily, but it has nice side effects.

Currently there are no LV2 plugins released on macOS or Windows that make use of such a UI, but could change soon via PawPaw.
I have been doing some tests and at least amsynth and Invada are possible to get working with their full UIs.
Later on I will see if and how it could be possible to package such plugins with their UIs.

Full changelog

  • Add option to use classic skin by default
  • Add support for lv2 ui gtk bridges on any system
  • Set display scale factor for carla-bridge-*/carla-single standalone usage (on macOS and X11 systems)
  • Fix Linux VST3 plugin GUIs crash on close
  • Fix build under msys2 (will not force static binaries)
  • Fix keyboard focus for bridges on macOS (2nd attempt)
  • Fix canvas icon in settings to be high-dpi compatible
  • Fix wrong scale factor of plugin GUIs under macOS


To download Carla binaries or source code, jump on over to the KXStudio downloads section.
If you're using the KXStudio repositories, you can simply install "carla".
Bug reports and feature requests are welcome! Jump on over to the Carla's Github project page for those.

Notes for users

This was already the case for v2.2 and v2.3 but it is worth reiterating:
When using JACK2, the canvas - plugin integrations requires at least JACK2 v1.9.13.
This is because Carla relies on JACK meta-data in order to store information about each plugin/client, and meta-data was only added to JACK2 in version 1.9.13.
Alternatively, you can use JACK1 instead of JACK2, which has meta-data support since a long time.
Note that the "extras" KXStudio repository (which provides an updated JACK2) supports both Ubuntu 18.04 and 20.04.
The UbuntuStudio backports PPA also provides updated JACK2 packages.

There are no official Linux binary builds for v2.4 at this point.
Carla v2.4 is provided in the KXStudio repositories and in many official Linux distribution repositories too anyway.


As always, if you appreciate the kind of work I do, please consider a donation.
Thank you in advance for your support, and stay safe out there!

by falkTX at August 20, 2021 06:23 PM

August 13, 2021

Nightlies not "usable" for sometime to come

Today, we merged the long-lived nutempo2 development branch into the main branch of Ardour. This means that starting in a few hours from now, the nightly (really, nychthemeral) builds will be based on what is essentially still experimental, untested, unreliable code. We have tagged this as 7.0-pre0. This version of Ardour uses a new format for the session file (still XML but with some critical changes).

A pop-up window will warn you about this should you try to run this version. It will also make a safety backup of the session file.

However, you are strongly recommended to NOT USE nightly builds OR SELF BUILDS of the main branch for “actual work” for the foreseeable future.

At this time, we are not particularly interested in reports of issues with 7.0-pre0. We will let people know when that situation changes.

This is a major step forward for Ardour, but it will take us some time to finish the changes and begin more serious testing.

Another important point: we respectfully request that Linux distribution package maintainers DO NOT PACKAGE the main branch until we remove the “-pre0” from the tag.

8 posts - 4 participants

Read full topic

by Paul Davis at August 13, 2021 10:49 PM

Ardour 6.9 released

Ardour 6.9 is now available. Despite previous announcements that there would be no further releases for older platforms, it once again seemed right to do a release before we take some big steps into the future. This version features some substantial changes to both plugin and playlist (“take”) management, along with numerous bug fixes and improvements.

For more details, please read the whole release announcement .

Download as usual from

14 posts - 8 participants

Read full topic

by Paul Davis at August 13, 2021 08:19 PM

JACK Audio Connection Kit News

macOS and Windows nightly builds

Just a small heads up to mention that macOS and Windows nightly builds are now available for JACK2.

You can find them in the JACK2 GitHub actions section, each successful build will have matching artifacts.
When you open a pull request, builds will be automatically generated.
(pending approval from JACK2 maintainers, but there is typically no reason not to approve)

These artifacts include macOS-intel, macOS-universal, Ubuntu 20.04, Windows 32bit and Windows 64bit builds.
Note that neither QjackCtl or JACK-Router are included in these builds, only JACK.

by falkTX at August 13, 2021 04:21 PM

August 06, 2021

fundamental code

NLP Hacking on HN Job listings

One of the nifty parts of Hacker News (HN) is the once per month jobs thread. Between the "Who is hiring?" and "Who wants to be hired?" threads you can see a wide spread of different companies, different positions, and more recently a plethora of remote positions. The threads themselves are quite long and they stretch into several pages with almost a thousand companies getting involved this current month. Searching through job listings though can pose some headaches. Several websites have been made by HN users, but from my perspective there’s always a nagging voice saying "you aren’t searching with the right keywords" or when using a few general keywords there’s so much noise in the results that you’re likely to overlook a possible company which could be a good fit.

This month to at least partially address my concern about my previous keyword searches. To figure out what I wanted my searches to return I had to go through all of the posts. I did so using the thread collapsing feature built into the website, hiding any role which for me was a hard no. At the end of a few hours worth of reading there was a large pile of hard no’s and some tentative maybes. Results certainly could be trimmed down further, however it’s unfair to compare a text search on the job posts if external information is getting used in the decision. With what amounts to a reasonable amount of labeled text data I thought it could be fun to apply some light natural language processing (NLP) to the data. While I work on plenty of machine learning tasks my primary focus isn’t NLP, so don’t expect sentiment analysis or complicated models from looking through this month’s "Who is hiring?" thread.

Let’s start with taking a look at keywords and n-grams from the overall dataset. N-grams are just collecting the words in order to make length N sequences. While there’s more nuance involved than that definition, it’s sufficient for this quick modeling.

Across each job post we can strip out any HTML tags, remove punctuation, optionally remove common connector words (i.e. stop words), and get out frequencies of any of the resulting tokens or token sequences (i.e. ngrams). With ranked frequencies we can start to see patterns in the overall structure. For instance, if you do go through posts in the thread you might notice that some of the language is relatively repetitive and that’s loosely reflected in 4-gram frequencies as shown below.

Rank 1,  136x, ["we", "are", "looking", "for"]
Rank 2,   37x, ["our", "mission", "is", "to"]
Rank 3,   27x, ["to", "learn", "more", "about"]
Rank 4,   25x, ["reach", "out", "to", "me"]
Rank 5,   25x, ["if", "you", "are", "interested"]
Rank 6,   22x, ["senior", "full", "stack", "engineer"]
Rank 7,   20x, ["if", "you", "have", "any"]
Rank 8,   20x, ["we", "are", "hiring", "for"]
Rank 9,   20x, ["engineer", "full", "time", "remote"]
Rank 10,  19x, ["to", "join", "our", "team"]

"we are looking for" is a pretty common opener which gets recycled by a number of users making up 136 repetitions in this month’s thread. Of note the rank 6 and 9 entries about full stack engineers and remote work did corroborate two of my two major observations about this month’s thread before doing any analysis:

  1. There are a lot of people hiring full stack engineers

  2. There is a huge shift towards remote work compared to past threads

While further analysis does make it seem like there’s more of a frontend/backend split, full-stack is still a very popular job title within the thread.

We can shifting over to 3-gram frequency distribution to get a closer look at shorter phrases which is where a lot of the job titles start appearing. Additionally, to trim some of the noise we can also consolidate a few words which were previously split during tokenization (e.g. full stack → full-stack, full time → full-time, etc). Below the job roles picked up in the thread are highlighted. Quite a few locations are picked up at this level as well with 22 instances of "san-francisco CA" appearing in the thread.

Rank 1, #35 - ["senior", "backend", "engineer"]
Rank 2, #26 - ["senior", "frontend", "engineer"]
Rank 3, #24 - ["senior", "full-stack", "engineer"]
Rank 4, #22 - ["san", "francisco", "ca"]
Rank 5, #22 - ["work", "life", "balance"]
Rank 6, #20 - ["or", "remote", "usa"]
Rank 7, #18 - ["remote", "usa", "full-time"]
Rank 8, #18 - ["remote", "usa", "only"]
Rank 9, #15 - ["onsite", "or", "remote"]
Rank 10, #15 - ["full-time", "remote", "usa"]
Rank 11, #14 - ["remote", "or", "onsite"]
Rank 12, #14 - ["engineer", "senior", "backend"]
Rank 13, #14 - ["backend", "engineer", "senior"]
Rank 14, #13 - ["senior", "product", "designer"]
Rank 15, #13 - ["engineer", "remote", "usa"]
Rank 16, #13 - ["senior", "devops", "engineer"]
Rank 17, #13 - ["tech", "stack", "includes"]
Rank 18, #13 - ["senior", "product", "manager"]
Rank 19, #13 - ["engineer", "full-time", "remote"]
Rank 20, #13 - ["learn", "engineering", "culture"]
Rank 21, #12 - ["react", "react", "native"]
Rank 22, #12 - ["remote", "usa", "canada"]
Rank 23, #11 - ["engineer", "san", "francisco"]
Rank 24, #11 - ["or", "remote", "full-time"]
Rank 25, #11 - ["stack", "ruby", "rails"]
Rank 26, #11 - ["full-time", "remote", "or"]
Rank 27, #11 - ["culture", "right", "place"]
Rank 28, #11 - ["engineering", "culture", "right"]
Rank 29, #10 - ["senior", "ios", "engineer"]
Rank 30, #10 - ["lead", "product", "designer"]
Rank 31, #9 - ["multiple", "uk", "locations"]
Rank 32, #9 - ["3+", "years", "experience"]
Rank 33, #9 - ["engineer", "backend", "engineer"]
Rank 34, #9 - ["frontend", "engineer", "senior"]
Rank 35, #9 - ["node", "js", "typescript"]
Rank 36, #9 - ["software-engineer", "remote", "full-time"]
Rank 37, #9 - ["place", "values", "profile"]
Rank 38, #9 - ["right", "place", "values"]
Rank 39, #8 - ["engineer", "senior", "software-engineer"]
Rank 40, #8 - ["5+", "years", "experience"]
Rank 41, #8 - ["new", "york", "ny"]
Rank 42, #8 - ["nyc", "or", "remote"]
Rank 43, #8 - ["node", "js", "react"]
Rank 44, #8 - ["remote", "usa", "or"]
Rank 45, #8 - ["senior", "software-engineer", "backend"]
Rank 46, #8 - ["tech", "stack", "python"]
Rank 47, #8 - ["full-stack", "engineer", "full-time"]
Rank 48, #7 - ["lead", "frontend", "engineer"]
Rank 49, #7 - ["google", "cloud", "platform"]
Rank 50, #7 - ["engineer", "remote", "full-time"]

Similar to the trigrams, the bigrams capture a fair portion of the job titles, though the bigrams have additional utility in characterizing the positions or the company. You can find a number of examples of culture being discussed in the job posts, such as the 23 instances talking about work/life balance.

Rank 1, #120 - ["tech", "stack"]
Rank 2, #105 - ["remote", "usa"]
Rank 3, #93 - ["full-time", "remote"]
Rank 4, #88 - ["remote", "full-time"]
Rank 5, #86 - ["or", "remote"]
Rank 6, #80 - ["backend", "engineer"]
Rank 7, #77 - ["senior", "software-engineer"]
Rank 8, #77 - ["full-stack", "engineer"]
Rank 9, #77 - ["san", "francisco"]
Rank 10, #65 - ["frontend", "engineer"]
Rank 11, #65 - ["engineering", "team"]
Rank 12, #65 - ["engineer", "senior"]
Rank 13, #61 - ["node", "js"]
Rank 14, #59 - ["product", "manager"]
Rank 15, #58 - ["open", "roles"]
Rank 16, #55 - ["senior", "backend"]
Rank 17, #54 - ["fully", "remote"]
Rank 18, #52 - ["ruby", "rails"]
Rank 19, #48 - ["engineering", "manager"]
Rank 20, #45 - ["react", "native"]
Rank 21, #42 - ["engineer", "remote"]
Rank 22, #42 - ["product", "designer"]
Rank 23, #42 - ["help", "build"]
Rank 24, #41 - ["remote", "or"]
Rank 25, #39 - ["bay", "area"]
Rank 26, #39 - ["senior", "full-stack"]
Rank 27, #38 - ["devops", "engineer"]
Rank 28, #37 - ["new", "york"]
Rank 29, #36 - ["years", "experience"]
Rank 30, #36 - ["senior", "frontend"]
Rank 31, #35 - ["full-time", "onsite"]
Rank 32, #33 - ["frontend", "backend"]
Rank 33, #31 - ["cutting", "edge"]
Rank 34, #31 - ["remote", "ok"]
Rank 35, #30 - ["typescript", "react"]
Rank 36, #30 - ["team", "members"]
Rank 37, #30 - ["multiple", "positions"]
Rank 38, #30 - ["open", "positions"]
Rank 39, #30 - ["early", "stage"]
Rank 40, #29 - ["senior", "product"]
Rank 41, #29 - ["software", "development"]
Rank 42, #28 - ["real", "time"]
Rank 43, #27 - ["remote", "first"]
Rank 44, #27 - ["around", "world"]
Rank 45, #27 - ["usa", "remote"]
Rank 46, #27 - ["engineer", "full-time"]
Rank 47, #26 - ["small", "team"]
Rank 48, #26 - ["currently", "hiring"]
Rank 49, #26 - ["software-engineer", "remote"]
Rank 50, #25 - ["full-stack", "developer"]
Rank 51, #25 - ["stack", "includes"]
Rank 52, #25 - ["engineering", "culture"]
Rank 53, #24 - ["security", "engineer"]
Rank 54, #24 - ["berlin", "germany"]
Rank 55, #24 - ["world", "class"]
Rank 56, #24 - ["100%", "remote"]
Rank 57, #23 - ["life", "balance"]
Rank 58, #23 - ["work", "life"]
Rank 59, #23 - ["usa", "full-time"]
Rank 60, #23 - ["backend", "engineers"]
Rank 61, #23 - ["react", "typescript"]
Rank 62, #23 - ["send", "resume"]
Rank 63, #22 - ["los", "angeles"]
Rank 64, #22 - ["every", "day"]
Rank 65, #22 - ["francisco", "ca"]
Rank 66, #22 - ["or", "onsite"]
Rank 67, #22 - ["has", "been"]
Rank 68, #22 - ["fast", "growing"]
Rank 69, #21 - ["experience", "building"]
Rank 70, #21 - ["usa", "only"]

After eliminating filler words, the third most frequent individual word is "Remote", so certainly looks like a shift for the industry :)

Rank 1, #1425 - "engineer"
Rank 2, #819 - "team"
Rank 3, #810 - "remote"
Rank 4, #605 - "product"
Rank 5, #600 - "or"
Rank 6, #596 - "senior"
Rank 7, #574 - "build"
Rank 8, #522 - "full-time"
Rank 9, #522 - "work"
Rank 10, #429 - "experience"
Rank 11, #387 - "company"
Rank 12, #386 - "software-engineer"
Rank 13, #375 - "data"
Rank 14, #349 - "developer"
Rank 15, #345 - "role"
Rank 16, #342 - "backend"
Rank 17, #317 - "software"
Rank 18, #303 - "frontend"
Rank 19, #293 - "help"
Rank 20, #289 - "platform"
Rank 21, #286 - "their"
Rank 22, #281 - "react"
Rank 23, #274 - "technology"
Rank 24, #264 - "stack"
Rank 25, #259 - "people"
Rank 26, #259 - "manager"
Rank 27, #257 - "usa"
Rank 28, #255 - "apply"
Rank 29, #250 - "but"
Rank 30, #248 - "full-stack"
Rank 31, #246 - "hiring"
Rank 32, #240 - "new"
Rank 33, #219 - "position"
Rank 34, #218 - "customer"
Rank 35, #218 - "tech"
Rank 36, #216 - "working"
Rank 37, #214 - "development"
Rank 38, #205 - "time"
Rank 39, #204 - "python"
Rank 40, #198 - "email"
Rank 41, #185 - "open"
Rank 42, #178 - "aws"
Rank 43, #178 - "onsite"
Rank 44, #170 - "world"
Rank 45, #170 - "other"
Rank 46, #169 - "across"
Rank 47, #168 - "systems"
Rank 48, #167 - "cloud"
Rank 125, #84 - "research"
Rank 135, #81 - "machine-learning"
Rank 204, #63 - "data-engineer"
Rank 227, #58 - "healthcare"

Instead of looking at all of the job posts we can narrow our scope. Let’s see what happens when I switch over to the roles which caught my eye on a pass through this month’s thread. Downloading the webpages it’s possible to parse out which postings were hidden and which ones were still visible. It’s a much smaller set, but it’s the one that I would personally be interested in searching for. Right away though there’s a shift, work life balances are referenced more often, California only roles are depricated in favor of global roles, and machine learning roles are favored over web-dev.

Rank 1, #9 - ["multiple", "uk", "location"]
Rank 2, #5 - ["work", "life", "balance"]
Rank 3, #4 - ["engineer", "multiple", "uk"]
Rank 4, #4 - ["senior", "machine-learning", "engineer"]
Rank 5, #3 - ["engineer", "build", "manage"]
Rank 6, #3 - ["senior", "full-stack", "engineer"]
Rank 7, #3 - ["full-stack", "engineer", "senior"]
Rank 8, #2 - ["frontend", "engineer", "senior"]
Rank 9, #2 - ["sf", "nyc", "norway"]
Rank 10, #2 - ["usa", "sf", "nyc"]

The remote bias of the original data continues and some low-ranking terms from the previous stage like deep learning start appearing. Just to help identify how well my previous searches were to capture positions of interest, I’ve highlighted any Ngram which roughly corresponds to search terms used in the past.

Rank 1, #10 - ["remote", "usa"]
Rank 2, #10 - ["senior", "software-engineer"]
Rank 3, #9 - ["uk", "locations"]
Rank 4, #9 - ["multiple", "uk"]
Rank 5, #9 - ["engineer", "senior"]
Rank 6, #9 - ["remote", "full-time"]
Rank 7, #8 - ["full-time", "remote"]
Rank 8, #8 - ["deep", "learning"]
Rank 9, #7 - ["open", "roles"]
Rank 10, #7 - ["tech", "stack"]
Rank 11, #7 - ["senior", "data-engineer"]
Rank 12, #6 - ["site-reliability", "engineer"]
Rank 13, #6 - ["backend", "engineer"]
Rank 14, #6 - ["machine-learning", "engineer"]
Rank 15, #5 - ["san", "francisco"]
Rank 16, #5 - ["engineer", "python"]
Rank 17, #5 - ["life", "balance"]
Rank 18, #5 - ["work", "life"]
Rank 19, #5 - ["apply", "online"]
Rank 20, #4 - ["engineer", "multiple"]
Rank 21, #4 - ["engineering", "manager"]
Rank 22, #4 - ["or", "remote"]
Rank 23, #4 - ["software-engineer", "senior"]
Rank 24, #4 - ["senior", "software"]
Rank 25, #4 - ["senior", "data-science"]
Rank 26, #4 - ["open", "positions"]
Rank 27, #4 - ["time", "off"]
Rank 28, #4 - ["cutting", "edge"]
Rank 29, #4 - ["help", "build"]
Rank 30, #4 - ["development", "experience"]
Rank 31, #4 - ["devops", "engineer"]
Rank 32, #4 - ["engineer", "build"]
Rank 33, #4 - ["long", "term"]
Rank 34, #4 - ["full-stack", "engineer"]
Rank 35, #4 - ["senior", "machine-learning"]
Rank 36, #4 - ["climate", "change"]
Rank 37, #4 - ["data-science", "senior"]
Rank 38, #4 - ["fully", "remote"]
Rank 39, #4 - ["send", "resume"]
Rank 40, #3 - ["toronto", "senior"]

The final individual tokens aren’t too far off from what I’d search for previously, though keep in mind that terms like "machine-learning" could have in the original text been "ML", "machine learning", or "machine-learning". "data-science" could have been "data scientist", "data-science", …​ as well, which makes simpler searches a bit more cumbersome. I’d expect some better results using transforms on keywords or key phrases, though how much better is hard (for me) to quantify.

Rank 1, #67 - "engineer"
Rank 2, #66 - "senior"
Rank 3, #57 - "data"
Rank 4, #56 - "remote"
Rank 5, #45 - "work"
Rank 6, #41 - "or"
Rank 7, #35 - "product"
Rank 8, #34 - "full-time"
Rank 9, #32 - "team"
Rank 10, #30 - "software-engineer"
Rank 11, #30 - "experience"
Rank 12, #29 - "engineering"
Rank 13, #26 - "help"
Rank 14, #26 - "but"
Rank 15, #25 - "software"
Rank 16, #25 - "email"
Rank 17, #25 - "engineers"
Rank 18, #24 - "data-science"
Rank 19, #23 - "python"
Rank 20, #23 - "machine-learning"
Rank 21, #22 - "build"
Rank 22, #21 - "usa"
Rank 23, #21 - "stack"
Rank 24, #20 - "roles"
Rank 25, #20 - "interested"
Rank 26, #20 - "building"
Rank 27, #20 - "apply"
Rank 28, #20 - "backend"
Rank 29, #20 - "frontend"
Rank 30, #20 - "people"
Rank 66, #14 - "research"
Rank 167, #7 - "computer-vision"
Rank 168, #7 - "machine"

Up to this point I’ve mostly referenced what’s inside of the interesting roles, however I haven’t mentioned what’s missing. Using the relative frequency of various tokens/bigrams we can see that some technologies don’t seem to be in the job posts that were selected. Personally I use some of those technologies like docker and I find some technologies like Rust interesting, so their omission isn’t based on me explicitly excluding them. Of note though, the below results are very much cherry picked as it’s not too interesting to see that `business' is said 5x more often in other posts than the selected ones. I’d say one of the most robust elements for future searches is actually `covid' which appeared almost exclusively with job postings which planned on returning to the office when the new post-covid norm was established.

1 in 6121 (self) vs 1 in 1231 (BG) ["node", "js"]
1 in 6121 (self) vs 1 in 3754 (BG) ["vue", "js"]
1 in Inf (self) vs 1 in 4417 (BG) ["js", "react"]
1 in Inf (self) vs 1 in 4693 (BG) ["ios", "engineer"]
1 in Inf (self) vs 1 in 4218 (BG) crypto
1 in Inf (self) vs 1 in 2920 (BG) covid
1 in 3115 (self) vs 1 in 2233 (BG) vue
1 in 3115 (self) vs 1 in 2169 (BG) blockchain
1 in 3115 (self) vs 1 in 2052 (BG) elixir
1 in 6231 (self) vs 1 in 1765 (BG) rust
1 in 6231 (self) vs 1 in 1725 (BG) saas
1 in 3115 (self) vs 1 in 1432 (BG) equity
1 in 6231 (self) vs 1 in 1725 (BG) postgresql
1 in 3115 (self) vs 1 in 1355 (BG) docker
1 in 3115 (self) vs 1 in 1332 (BG) graphql

So, that’s a wrap for this hacky-NLP look into the jobs listings. All of the code used to sift through the data was Ruby using nokogiri to parse the html and a load of regular expressions to manipulate the words. Ideally next time I break down some data with python using a library suited for the task, but I’m skeptical the results will be too different based upon some quick tests using TextBlob and looking at NLTK as the tooling is built for more structured long form text content. I do expect that the libraries solve the problem of singularization which was a minor headache when working with the data using DIY ruby code. I was amused to find that ActiveSupport/Inflector was recommended when searching for a library to do the job, yet it falls flat on some of the basics like singular('this') should be 'this' and not 'thi', though I do recognize that I’m putting in a pronoun instead of a noun.

One problem which would almost certainly be solved with a competent NLP library would be Ngram behavior with respect to the ends of sentences. For a corpus like "We’re looking for Software Engineers. Data Engineers can apply at:", the 3-gram sequence should include [for Software Engineers], then [Data Engineers can] right afterwards. My implementation also considers the invalid trigrams of [Software Engineers Data] and [Engineers Data Engineers], which cross the period in-between the sentences. The lack of handling boundaries account for some of the odd sequences observed earlier in this post, but it doesn’t really change the analysis much.

August 06, 2021 04:00 AM

July 22, 2021

News – Ubuntu Studio

Ubuntu Studio 20.10 Has Reached End-Of-Life (EOL)

As of July 22, 2021, all flavors of Ubuntu 20.10, including Ubuntu Studio 20.10, codenamed “Groovy Gorilla”, have reached end-of-life (EOL). There will be no more updates of any kind, including security, for this version of Ubuntu.

If you have not already done so, please upgrade to Ubuntu Studio 21.04 via the instructions provided in the release notes for Ubuntu Studio 21.04.

No version of any operating system can be supported indefinitely, and Ubuntu Studio is no exception.

Regular Ubuntu releases, meaning those that are between the Long-Term Support releases, are supported for 9 months and users are expected to upgrade after every release with a 3-month buffer following each release.

Long-Term Support releases are identified by an even numbered year-of-release and a month-of-release of April (04). Hence, the most recent Long-Term Support release is 20.04 (YY.MM = 2020.April), and the next Long-Term Support release will be 22.04 (2022.April). LTS releases for official Ubuntu flavors (not Desktop or Server which are supported for five years) are three years, meaning users are expected to upgrade after every LTS release with a one year buffer.

by eeickmeyer at July 22, 2021 10:00 AM