(these notes are being posted in two parts to make the length more manageable, part 1 is here) Continuing from where we left off, about topics discussed at the PipeWire hackfest in Nice… DSP features We discussed a number of features related to digital signal processing blocks which are typically...
If you maintain a Linux audio settings component, we now have a way to globally enable/disable mono audio for users who do not want stereo separation of their audio (for example, due to hearing loss in one ear). Read on for the details on how to do this. Background Most systems support stereo...
In case you missed it, the GStreamer Conference 2025 videos are up! This includes my talk on the new PipeWire native Rust bindings. You’ll want to skip the first 1:20 to get to the start. I talk a little bit about the motivation and structure of the project, and discuss my experience writing this...
Asymptotic was started 6 years ago, when I wanted to build something that would be larger than just myself. We’ve worked with some incredible clients in this time, on a wide range of projects. I would be remiss to not thank all the teams that put their trust in us. In addition to working on...
It should be surprising to absolutely nobody that the Linux audio stack is often the subject of varying levels of negative feedback, ranging from drive-by meme snark to apoplectic rage[1]. A lot of what computers are used for today involves audiovisual media in some form or the other, and having...
In my previous post, I alluded to an exciting development for PipeWire. I’m now thrilled to officially announce that Asymptotic will be undertaking several important tasks for the project, thanks to funding from the Sovereign Tech Fund (now part of the Sovereign Tech Agency). Some of you might be...
It’s 2025(!), and I thought I’d kick off the year with a post about some work that we’ve been doing behind the scenes for a while. Grab a cup of $beverage_of_choice, and let’s jump in with some context. History: Hearing aids and Bluetooth Various estimates put the number of people with some form...
All of us at Asymptotic are back home from the exciting week at GStreamer Conference 2024 in Montréal, Canada last month. It was great to hang out with the community and see all the great work going on in the GStreamer ecosystem. Montréal sunsets are There were some visa-related...
The WebRTC nerds among us will remember the first thing we learn about WebRTC, which is that it is a specification for peer-to-peer communication of media and data, but it does not specify how signalling is done. Or put more simply, if you want call someone on the web, WebRTC tells you how you can...
It’s been a busy few several months, but now that we have some breathing room, I wanted to take stock of what we have done over the last year or so. This is a good thing for most people and companies to do of course, but being a scrappy, (questionably) young organisation, it’s doubly important...
(well, not exactly everywhere …) This is not an easy post for me to write, being a bit of a criticism / “you can do better” note for organisers of conferences that cater to a global community. It’s not easy because most of the conferences I attend are community driven, and I have helped organise...
For the last year and a half, we at Asymptotic have been working with the excellent team at Daily. I’d like to share a little bit about what we’ve learned. Daily is a real time calling platform as a service. One standard feature that users have come to expect in their calls is the ability to...
As the third and final day of the PipeWire hackfest draws to a close, I thought I’d summarise some of my thoughts on the goings-on and the future. Thanks Before I get into the details, I want to send out a big thank you to: Christian Schaller for all the hard work of organising the event and...
PSA: This post has a bunch of Haskell code, but I’m going to try to make it more broadly accessible. Let’s see how that goes. I’ve been proceeding apace with my 3rd year in Abhinav’s Haskell classes at Nilenso, and we just got done with the section on Applicative Functors. I’m at that point when...
It’s been a little over a month since I got back from Manchester, and this post should’ve come out earlier but I’ve been swamped. The conference was absolutely lovely, the organisation was a 110% on point (serious kudos, I know first hand how hard that is). Others on Planet GNOME have written...
I’ve been having fun recently, writing a RESTful service using Haskell and Servant. I did run into a problem that I couldn’t easily find a solution to on the magical bounty of knowledge that is the Internet, so I thought I’d share my findings and solution. While writing this service (and...
I’ve written a bit in my last two blog posts about the work I’ve been doing in inter-device synchronised playback using GStreamer. I introduced the library and then demonstrated its use in building video walls. The important thing in synchronisation, of course, is how much in-sync are the...
Hello again, and I hope you’re having a pleasant end of the year (if you are, maybe don’t check the news until next year). I’d written about synchronised playback with GStreamer a little while ago, and work on that has been continuing apace. Since I last wrote about it, a bunch of work has gone...