A Kurzweil K2500 piano

Patching The Kurzweil K2500 Synthesizer

Despite being a computer with some extra chips, synthesizers today are still quite expensive. They used to cost far more, but we tend to think of them as instruments instead of computers. And just because it is an instrument doesn’t mean someone like [Peter Sobot] can’t crack it open and patch the OS inside.

The synth in question is a Kurzweil K2500, released in 1996 with a Motorola 68000. Rather than directly start pulling out parts on the kitchen table, [Peter] began by doing some online research. The K2500 operating system is still available online, and a quick pass through Ghidra showed some proper instructions, meaning the file likely wasn’t encrypted.

He found the part of the code that reads in a new firmware file and checks the header and checksum. Certain functions were very high in memory, and a quick consultation of the service manual yielded an answer: it was the volatile RAM. With that tidbit, [Peter] was able to find the function that copied chunks of the new ROM file to RAM and start decoding the file correctly. [Peter] changed a few strings, made sure the checksums were correct, and he was ready to flash. The actual tweaks that [Peter] are made are left up to the reader, but the techniques to get a working decompiled build and a viable ROM image to flash apply to many projects. One benefit is now the K2000 simulates correctly in MAME due to his spelunking. He has his flashing script up on GitHub for the curious.

Ghidra is perfect for this kind of thing. We’ve seen people tweaking their water coolers with it. It opens to door towards tweaking anything to your liking.

Mini MIDI Synth Uses Minimum Number Of Parts

The 80s were the golden age of synthesizers in pop music. Hugely complicated setups that spared no expense were the norm, with synths capable of recreating anything from pianos and guitars to percussion, strings, and brass. These types of setups aren’t strictly necessary if you’re looking to make music, though, especially in the modern age of accessible microcontrollers. This synthesizer from [Folkert] with MIDI capabilities, for example, creates catchy tunes with only a handful of parts.

This tiny synth is built around an ESP32 and works by generating PWM signals normally meant for LEDs. In this case, the PWM signals are sent through a rudimentary amplifier and then on to an audio output device.  That could be a small speaker, an audio jack to another amplifier, or a capture device.

The synth’s eight channels use up most of the ESP32’s I/O and provide a sound that’s reminiscent of the eight-bit video game era. The total parts count for this build is shockingly small with only a handful of resistors, the ESP, an optocoupler, and a few jacks.

For those wishing to experiment with synthesizers, a build like this is attractive because it’s likely that all the parts needed are already sitting around in a drawer somewhere with possibly the exception of the 5 pin DIN jacks needed for MIDI capabilities. Either way, [Folkert] has made all of the schematics available on the project page along with some sample mp3 files. For those looking to use parts from old video game systems sitting in their parts drawer, though, take a look at this synthesizer built out of a Sega Genesis.

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”

Bare Metal Gives This Pi Some Classic Synths

We’re used to seeing the Raspberry Pi crop up in a wide range of the projects we show you here, but it’s fair to say that they usually feature some sort of operating system. There’s another way to use a Pi, more akin to using a microcontroller such as the Arduino: by programming it directly, so-called bare-metal programming. MiniDexed is an example, and it copies a classic Yamaha professional synthesiser of the 1980s, by emulating the equivalent of eight of the company’s famous DX7 synthesisers in one unit. It takes almost any Pi, and with the addition of an audio board, a rotary encoder, and an LCD display, makes a ready-to-go unit. Below the break is a video of it in operation.

It’s fair to say that we’re not experts in Raspberry Pi bare metal programming, but it’s worth a diversion into the world of 1980s synthesisers to explore the DX7. This instrument was a staple of popular music throughout the 1980s and was a major commercial success for Yamaha as an affordable FM synthesiser. This was a process patented at Stanford University in the 1970s and subsequently licensed by the company, unlike other synths of the day it generated sound entirely digitally. It’s difficult to overestimate the influence of the DX7 as its sound can be heard everywhere, and it’s not impossible that you own a Yamaha FM synth even today if you have in your possession a sound card.

Curious about the DX7? Master chip-reverse-engineer [Ken Shirriff] exposed its secrets late last year.

Continue reading “Bare Metal Gives This Pi Some Classic Synths”

Bungee-Corded Bass Zither Really Slaps

Surely we’ve all played some bass riffs on a stretched-out rubber band before, right? [Nicolas Bras] found that the ultimate musical rubber bands are bungee cords, and used seven of them to build a double-bass zither that can be plucked or struck with drumsticks. Be sure to check it out in the build/demo video after the break.

[Nicolas] is what you might call a hardware store hacker. This is not his first instrumental rodeo by far; in fact, he has spent the last 15 years building instruments from stuff like PVC and other commonly-available items.

One thing in this build that’s not so commonly available is the large sound box [Nicolas] built to strap the bungee cords across. He also made custom bridges for the bungees that are topped with triangular wood, which makes them look like little row houses.

In order to actually play the thing, [Nicolas] arranged the row houses in a 2-point bridge system for dual-note strings, which sound good between the bridges and the bungee hooks, but not so much between the bridges themselves. Overall, the zither has a great, mellow sound no matter how he plays it, and we just might have to string one of these up ourselves.

Not a strings person? Then you might be sated by [Nicolas]’ PVC pipes, which play “Popcorn” perfectly.

Continue reading “Bungee-Corded Bass Zither Really Slaps”

3D Printing A Guitar Neck

A lot of first-time guitar builders focus on making the body and skip the neck, which has lots of tricky dimensions to get right to if you want a nicely playable instrument. However, [Jón Schone] of Proper Printing wanted to start with the hard part on his guitar building journey, and set about 3D printing a guitar neck in one piece.

Designing a neck might sound difficult on the surface of it, but the Marz Guitar Designer plugin for FreeCAD helps make whipping one up a cinch. Once imported into Fusion 360, the geometry is tweaked for 3D printing, particularly to fit the truss rod inside. Printed on a Creality CF30 belt printer (which interestingly enough, has been mounted to the wall) in green PLA, the resulting neck can be spotted as a non-traditional design from a mile away. With a truss rod hammered in, frets installed, and hardware attached, it’s mounted up to a cheap kit guitar for testing.

The printed neck works, and it’s given a proper shakedown with some appropriate riffs to put it through its paces. It’s reportedly a bit on the flexible side, but remains playable and is surprisingly normal in its performance. [Jón] now plans to continue the project by 3D printing the rest of the guitar.

Meanwhile, if you’re sick of tuning your own guitar, consider building a robot tuner to help out. Video after the break.

Continue reading “3D Printing A Guitar Neck”

Making Windshield Wipers Rock To The Beat

When you’re driving around, you might occasionally notice your indicators or windscreen wipers sync up fortuitously with the music. [Cranktown City] wanted to ensure his wipers would always match the beat, however, and set about making it so. 

After disassembling the wiper motor, The original controller PCB is ripped up, used solely for its home position contacts that help determine the position of the wipers. The battered board is then drilled out to fit a rotary encoder to track the wipers throughout their full motion.

An Arduino is used to read the signal coming from the wiper stalk in order to know what mode the wipers should be in, and uses a motor controller to drive the wipers thusly. It also reads the encoder and home position contacts to track the wiper movement, and uses a proportional controller to control the wiper position. An MSGEQ7 spectrum analyzer is used to track the bass of the music to determine the beat to sync up to.

The final build does work, though in a different way to other designs we’ve seen. Rather than measuring BPM and syncing on a four-to-the-floor pulse, it simply tracks the lower band output and thus is more reactive to funky drum beats.

It’s a fun way to modify your car, even if it did require cutting a chunk out of the hood. If you’re cooking up your own cheeky automotive hacks, be sure to drop us a line. Video after the break. Continue reading “Making Windshield Wipers Rock To The Beat”