Thanks. I wanted the graphic of the moon that comes along with it, but not sure if that's generated procedurally or through the API? (as you can tell I'm a complete noob when it comes to this stuff). Currently I just use images of each stage of the moon, but it's static so not the most accurate.
In my personal experience as a music producer for the last 36 years, MIXING hundreds of channels benefits enormously from the available bandwidth. Think of it in the terms of graphics (anti) aliasing. If you open your canvas in 1920x1080, for example, and draw a diagonal line, your line will be jagged (aliased) to a certain extent. If you, on the other hand, start a canvas in 7680x4320 and draw the same diagonal line, and then rescale your output back to FullHD, your line will be perfectly smooth with no visible alias whatsoever. It is absolutely the same principle when mixing music: I MIX everything in 192kHz and I PUBLISH in 48kHz. And, yes, my ears can hear the difference perfectly fine. But, do people like me who are forced to run their audio clock at 192kHz most of the time, deserve a DSP processor like this? It could be very useful, yes.
We've been using Nyquist's work and anti-aliasing filters for nearly as long as we've been using digital audio at all.
Your DAW (or whatever) may be able to show you the stairsteps of individual samples on a screen, but with a functional playback system it is never that way at all by the time things become analog again. Instead, it's always smoothed out by an anti-aliasing filter.
It works this way regardless of sampling rate. The stairsteps don't make it outside of number-land. You can run your DAW at 48KHz, 96KHz, or 192KHz, and signals below the least-common-denominator cutoff frequency will be identical on an oscilloscope -- and free of stairsteps. (Try it sometime. It's fun.)
Aliasing is a solved problem that has been solved for a long time. Your analogy about scaling and diagonal lines is actually a decent visual representation of how this stuff works, except it has already been working that way without being deliberately clever with overkill sampling rates.
Meanwhile: This Pi Pico DSP stack is structured very heavily towards being the last digital stage of a listening system. As-constructed, it's quite clearly evident that it is really not meant to be anything else. A person can certainly bend it to be other things (yay open source!), but you've probably already got a set of filters well-integrated into your existing toolchain that work superbly.
But if that's what you want, then by all means: Use it. Integer sampling rate conversions are trivial operations to get correct. To get the 96KHz that this project works with from your your 192KHz workflow, it's just a matter of throwing away half of the samples and playing back whatever remains. Any aliasing is out-of-band, and is removed by the anti-aliasing filter that is part of the digital-to-analog stage.
A sampling rate of 192kHz is overkill. And 192KHz exists as a sample rate in audio world because it is overkill.
With a Nyquist frequency of ~96KHz, all of the arguments about whether a person can hear up to eg 22.05KHz, 24KHz, or if there's something meaningful all the way up at 48KHz, become completely and totally ameliorated.
Those arguments were always such tiresome ordeals.
The cost of dissolving those arguments is just some some bandwidth and CPU cycles -- which is to say, it costs approximately nothing.
Oh it's worse than that, for distribution and playback sampling at more than 48kHz is likely worse in many ways due to unwanted ultrasonic noise and increased intermodulation distortion. 96/24 makes sense for production, and 96/float56 is common in DSP chains.
When the production produces unwanted ultrasonic noise, then that's not a sampling rate problem. It is instead a production problem.
And that's perfectly OK, too: The neat part about having too much data is that other end-users (like you and me) are free to throw it away as expeditiously as we choose to.
To that end: I, for one, welcome our 192kHz overlords. (And then I'll shove it through my hardware DSP that operates at 24-bit 48kHz and fuhgettaboutit.)
I don't LISTEN to music in 192kHz. I listen in 48kHz like everyone else and it sounds perfectly fine. But, I do MIX my music in 192kHz, however, before it's final export to 48kHz. It is about the anti-aliasing principle I described in my post above. But, while I'm mixing my audio clock is at 192kHz, and I can't escape that. Hence I will be looking at how to run this project on a beefier device that could run at 192kHz sample rate.
Why stop there? HDMI supports 1536kHz audio -- plenty to capture WLW's AM broadcast at 700KHz alongside the entire spectrum below it. :)
But even here in these comments, they're not arguing that 192kHz is insufficient. I haven't seen anyone ever make that argument, actually, so from my perspective this sampling rate represents a useful amount of overkill.
The extra data is a very small price to pay for silence.
People are usually spraying broadleaf herbicides on their lawn like 2,4-D to control things like dandelions and yard plantains. Glyphosate just kills everything. Personally I only use it very selectively on poison ivy.
I can tell when a mixed drink uses a soda with Aspartame in it. My mouth instantly feels like it's covered in a thin film of plastic and the migraine is usually just around the corner.
Everyone in my family, including uncles, aunts, cousins, have the same reaction, too.
reply