08-04-2025, 07:07 PM
(07-19-2025, 09:21 PM)roderickvd Wrote:(07-18-2025, 07:39 PM)voorstad Wrote: @roderickvd , is donating via Github the only way? If there is a more privacy friendly way, that would be welcome.
It's the only one I've got set up right now. Which one or two would you propose?
Liberapay? Tikkie :-) ?
08-05-2025, 04:20 PM
Never heard of Liberapay but I can look into that. Patreon seems pretty popular too. Tikkie though, from I guess a fellow Dutchman, seems hardly privacy-aware :-)
To judge other donation platforms, what are your privacy issues with GitHub?
09-23-2025, 07:44 PM
Hi everyone,
It's been some time since I updated you on the progress towards my Qobuz Connect player, so I thought I'd share parts of the newsletter that I just sent out to my sponsors. For those finding value in my work, I'd be grateful if you'd also consider sponsoring me.
The Bigger Picture: Preparing for Qobuz Connect
While I'm working on the future Qobuz Connect player, I'm using this opportunity to modernize and future-proof the audio pipeline. The new player shares a common base with pleezer, my Deezer Connect player, and I want significant parts to evolve to remain maintainable. The result is better performance and audio quality.
CPAL: The Foundation of Audio Playback
CPAL is the low-level library that handles getting audio from applications to your speakers or headphones. Many Rust audio programs depend on it, so improvements here benefit everything built on top.
The summer's main focus was overhauling CPAL's Linux audio support. We've introduced device-aware buffering strategies that adapt to your hardware. This means lower latency and more consistent playback, especially on low-power hardware like Raspberry Pi systems.
We've eliminated memory allocations during playback. This means your music plays more smoothly without tiny interruptions that can occur when the system is busy managing memory. Additionally, the new 24-bit sample format support will be particularly valuable for audiophile setups with I2S DACs that can take advantage of the higher resolution.
New work also includes a unified proposal for configuring audio streams across Windows, macOS, and Linux, making applications more reliable across different platforms.
Rodio: The Audio Playback Engine
Rodio handles actually playing audio files; it's what turns MP3s, FLACs, and other sources into sound. It sits on top of CPAL and provides the features most applications need.
Rodio saw significant improvements this summer, including a proposal for comprehensive audio dithering support. Dithering improves perceived audio quality when converting from digital to analog. I also added support for 24-bit integer output, preserving high-resolution audio quality throughout the playback chain.
The switch to Symphonia as the default decoder provides better format support and more consistent behavior across platforms. I've also improved seeking behavior, meaning you can jump around in tracks more reliably without glitches.
A major decoder overhaul was proposed with over 2,400 lines implementing universal seeking support, bit depth detection, and performance improvements. While the proposal so far was rejected due to its size, with recommendations to split into smaller changes, the work demonstrates the improvements being considered.
Foundation Work: The Supporting Cast
Supporting these improvements required work on foundational libraries like alsa-rs, where I added comprehensive buffer and period parameter methods that enable CPAL's new buffering strategies. The dasp library received square root implementation optimizations for better performance in signal processing tasks.
What's Next: Qobuz Connect Development
The Qobuz Connect player I'm developing has made significant progress on protocol implementation. I've successfully deciphered the incoming message format, implemented device registration and authentication, and I'm currently working on becoming the "active renderer" that can actually play music. The goal is to get to an alpha version that demonstrates basic playback functionality, turning any compatible device into a Qobuz Connect endpoint that you can control from the official Qobuz apps.
Your sponsorship makes this comprehensive approach possible, doing things properly rather than quickly. The foundation I'm building will benefit not just the Qobuz Connect player, but every audio application built with these libraries.
Thank You
These improvements represent months of development, testing, and refinement that's encouraged because of your generous backing. If you're interested in seeing this work continue toward the Qobuz Connect player, please consider sponsoring me.
Thank you for supporting my open-source audio development.
Best regards,
Roderick
09-24-2025, 12:42 AM
Wow, thats exciting news especially about all the work in the Rust ecosystem :-)
09-24-2025, 01:46 AM
(09-24-2025, 12:42 AM)Tim Curtis Wrote: Wow, thats exciting news especially about all the work in the Rust ecosystem :-)
Naive questions pop into my head immediately. Mostly about how these new devel0pments/systematic components relate to the MoOde-mpd-alsa arrangement we have used for 10 or so years now. Sounds like a extended integration/replacement job with immense potential.
Skip
09-24-2025, 03:02 PM
Moode / MPD use of ALSA will stay the same.
Applications built using Rust, for example librespot, pleezer, CamillaDSP, etc can make use of the Rust audio libs.
09-24-2025, 03:23 PM
Getting a quick peek at all the moving parts involved in this project was great but for me the best bit was "I've successfully deciphered the incoming message format." Back in the day, I did my share of protocol sniffing and can appreciate how tedious that process can be. Great work, Roderick!
I'm too old to get overly excited about yet another language. I still miss programming my minicomputers in binary machine code entered through their switch registers (or earlier, an IBM 1620---a variable-word-length decimal machine---from its interactive typewriter).
For the rest of you, remember, rust never sleeps.
Regards,
Kent
09-25-2025, 06:43 PM
(09-23-2025, 07:44 PM)roderickvd Wrote: Hi everyone,It's been some time since I updated you on the progress towards my Qobuz Connect player, so I thought I'd share parts of the newsletter that I just sent out to my sponsors. For those finding value in my work, I'd be grateful if you'd also consider sponsoring me.
The Bigger Picture: Preparing for Qobuz Connect
While I'm working on the future Qobuz Connect player, I'm using this opportunity to modernize and future-proof the audio pipeline. The new player shares a common base with pleezer, my Deezer Connect player, and I want significant parts to evolve to remain maintainable. The result is better performance and audio quality.
CPAL: The Foundation of Audio Playback
CPAL is the low-level library that handles getting audio from applications to your speakers or headphones. Many Rust audio programs depend on it, so improvements here benefit everything built on top.
The summer's main focus was overhauling CPAL's Linux audio support. We've introduced device-aware buffering strategies that adapt to your hardware. This means lower latency and more consistent playback, especially on low-power hardware like Raspberry Pi systems.
We've eliminated memory allocations during playback. This means your music plays more smoothly without tiny interruptions that can occur when the system is busy managing memory. Additionally, the new 24-bit sample format support will be particularly valuable for audiophile setups with I2S DACs that can take advantage of the higher resolution.
New work also includes a unified proposal for configuring audio streams across Windows, macOS, and Linux, making applications more reliable across different platforms.
Rodio: The Audio Playback Engine
Rodio handles actually playing audio files; it's what turns MP3s, FLACs, and other sources into sound. It sits on top of CPAL and provides the features most applications need.
Rodio saw significant improvements this summer, including a proposal for comprehensive audio dithering support. Dithering improves perceived audio quality when converting from digital to analog. I also added support for 24-bit integer output, preserving high-resolution audio quality throughout the playback chain.
The switch to Symphonia as the default decoder provides better format support and more consistent behavior across platforms. I've also improved seeking behavior, meaning you can jump around in tracks more reliably without glitches.
A major decoder overhaul was proposed with over 2,400 lines implementing universal seeking support, bit depth detection, and performance improvements. While the proposal so far was rejected due to its size, with recommendations to split into smaller changes, the work demonstrates the improvements being considered.
Foundation Work: The Supporting Cast
Supporting these improvements required work on foundational libraries like alsa-rs, where I added comprehensive buffer and period parameter methods that enable CPAL's new buffering strategies. The dasp library received square root implementation optimizations for better performance in signal processing tasks.
What's Next: Qobuz Connect Development
The Qobuz Connect player I'm developing has made significant progress on protocol implementation. I've successfully deciphered the incoming message format, implemented device registration and authentication, and I'm currently working on becoming the "active renderer" that can actually play music. The goal is to get to an alpha version that demonstrates basic playback functionality, turning any compatible device into a Qobuz Connect endpoint that you can control from the official Qobuz apps.
Your sponsorship makes this comprehensive approach possible, doing things properly rather than quickly. The foundation I'm building will benefit not just the Qobuz Connect player, but every audio application built with these libraries.
Thank You
These improvements represent months of development, testing, and refinement that's encouraged because of your generous backing. If you're interested in seeing this work continue toward the Qobuz Connect player, please consider sponsoring me.
Thank you for supporting my open-source audio development.
Best regards,
Roderick
Hi Roderick, thanks for the work on this. I sponsor the project on GitHub, how do I access you newsletter? Kristian
09-25-2025, 06:55 PM
Hi Kristian,
Thank you for your sponsorship! I send out newsletters roughly every three months. When I do, you’ll get it delivered to the email address registered with your the GitHub account you sponsored me with.
Kind regards,
Roderick
01-07-2026, 08:39 PM (This post was last modified: 01-07-2026, 08:40 PM by boorq.)
(09-23-2025, 07:44 PM)roderickvd Wrote: Hi everyone,It's been some time since I updated you on the progress towards my Qobuz Connect player, so I thought I'd share parts of the newsletter that I just sent out to my sponsors. For those finding value in my work, I'd be grateful if you'd also consider sponsoring me.
The Bigger Picture: Preparing for Qobuz Connect
While I'm working on the future Qobuz Connect player, I'm using this opportunity to modernize and future-proof the audio pipeline. The new player shares a common base with pleezer, my Deezer Connect player, and I want significant parts to evolve to remain maintainable. The result is better performance and audio quality.
CPAL: The Foundation of Audio Playback
CPAL is the low-level library that handles getting audio from applications to your speakers or headphones. Many Rust audio programs depend on it, so improvements here benefit everything built on top.
The summer's main focus was overhauling CPAL's Linux audio support. We've introduced device-aware buffering strategies that adapt to your hardware. This means lower latency and more consistent playback, especially on low-power hardware like Raspberry Pi systems.
We've eliminated memory allocations during playback. This means your music plays more smoothly without tiny interruptions that can occur when the system is busy managing memory. Additionally, the new 24-bit sample format support will be particularly valuable for audiophile setups with I2S DACs that can take advantage of the higher resolution.
New work also includes a unified proposal for configuring audio streams across Windows, macOS, and Linux, making applications more reliable across different platforms.
Rodio: The Audio Playback Engine
Rodio handles actually playing audio files; it's what turns MP3s, FLACs, and other sources into sound. It sits on top of CPAL and provides the features most applications need.
Rodio saw significant improvements this summer, including a proposal for comprehensive audio dithering support. Dithering improves perceived audio quality when converting from digital to analog. I also added support for 24-bit integer output, preserving high-resolution audio quality throughout the playback chain.
The switch to Symphonia as the default decoder provides better format support and more consistent behavior across platforms. I've also improved seeking behavior, meaning you can jump around in tracks more reliably without glitches.
A major decoder overhaul was proposed with over 2,400 lines implementing universal seeking support, bit depth detection, and performance improvements. While the proposal so far was rejected due to its size, with recommendations to split into smaller changes, the work demonstrates the improvements being considered.
Foundation Work: The Supporting Cast
Supporting these improvements required work on foundational libraries like alsa-rs, where I added comprehensive buffer and period parameter methods that enable CPAL's new buffering strategies. The dasp library received square root implementation optimizations for better performance in signal processing tasks.
What's Next: Qobuz Connect Development
The Qobuz Connect player I'm developing has made significant progress on protocol implementation. I've successfully deciphered the incoming message format, implemented device registration and authentication, and I'm currently working on becoming the "active renderer" that can actually play music. The goal is to get to an alpha version that demonstrates basic playback functionality, turning any compatible device into a Qobuz Connect endpoint that you can control from the official Qobuz apps.
Your sponsorship makes this comprehensive approach possible, doing things properly rather than quickly. The foundation I'm building will benefit not just the Qobuz Connect player, but every audio application built with these libraries.
Thank You
These improvements represent months of development, testing, and refinement that's encouraged because of your generous backing. If you're interested in seeing this work continue toward the Qobuz Connect player, please consider sponsoring me.
Thank you for supporting my open-source audio development.
Best regards,
Roderick
Refreshing this page almost on a daily base
so lets be cheeky; any news Roderick?
Can I help, besides my donation? (testen, dingen uit zetten in Q's community?)
Grt
Roel