Stanislaw playing notes on his MIDI keyboard, with the LEDs on the LED strip lighting up right above the note he's playing, driven by the Raspberry Pi that runs a script based on the Pianolizer toolkit

Pianolizer Helps Your Musical Projects Distinguish Notes

[Stanislaw Pusep] has gifted us with the Pianolizer project – an easy-to-use toolkit for music exploration and visualization, an audio spectrum analyzer helping you turn sounds into piano notes. You can run his toolkit on a variety of different devices, from Raspberry Pi and PCs, to any browser-equipped device including smartphones, and use its note output however your heart desires. To show off his toolkit in action, he set it up on a Raspberry Pi, with Python code taking the note data and sending color information to the LED strip, displaying the notes in real time as he plays them on a MIDI keyboard! He also created a browser version that you can use with a microphone input or an audio file of your choosing, so you only need to open a webpage to play with this toolkit’s capabilities.

He took time to make sure you can build your projects with this toolkit’s help, providing usage instructions with command-line and Python examples, and even shared all the code used in the making of the demonstration video. Thanks to everything that he’s shared, now you can add piano note recognition to any project of yours! Pianolizer is a self-contained library implemented in JavaScript and C++ (which in turn compiles into WebAssembly), and the examples show how it can be used from Python or some other language.

[Stanislaw] also documented the principles behind the code, explaining how the note recognition does its magic in simple terms, yet giving many insights. We are used to Fast Fourier Transform (FFT) being our go-to approach for spectral analysis, aka, recognizing different frequencies in a stream of data. However, a general-purpose FFT algorithm is not as good for musical notes, since intervals between note frequencies become wider as frequency increases, and you need to do more work to distinguish the notes. In this toolkit, he used a Sliding Discrete Fourier Transform (SDFT) algorithm, and explains to us how he derived the parameters for it from musical note frequencies. In the end of the documentation, he also gives you a lot of useful references if you would like to explore this topic further!

What are you going to build with this? Maybe, a box that records you playing the flute and instantly turns it into sheet music? Or, perhaps, an AI that continues the song for you when you stop?

Continue reading “Pianolizer Helps Your Musical Projects Distinguish Notes”

Take Note: An E-Paper Tablet From Pine64

Over the years we’ve seen a variety of interesting pieces of hardware emerging from the folks at Pine64, so it’s always worth a second look when they announce a new product. This time it’s the PineNote, a tablet that packs the same Rockchip RK3566 as used in the company’s Quartz64 single board computers behind a 10.1″ 1404 x 1872 16-tone greyscale e-paper screen.

Fitted with 4 GB of LPDDR4 RAM and 128 GB eMMC flash storage, it will feature the same Linux support as previous Pine64 products, with the slight snag of the display driver not yet being complete for 5.xx kernels. They are thus at pains to point out that this is not a ready-to-go consumer device and that early adopters will be expected to write code rather than notes on it.

That last sentence sums up Pine64’s offering perfectly, they produce interesting hardware with open-source support, but sometimes the path from hardware release to stable and usable product can be a rocky one. If you’re interested in hardcore hacking of an e-paper tablet, then you may want to be an early adopter. Otherwise, hang back for a while and buy one once some of the bugs have been ironed out. Meanwhile you can see the whole update in the video below; it has a few other things including a nifty keyboard for the PinePhone.

We’ve mentioned Pine64 a few times over the years, it’s worth noting that their products also lie outside the realm of Linux boxen.

Continue reading “Take Note: An E-Paper Tablet From Pine64”