Win95-Tracker-CYD Is A Cheap Yellow Mod Tracker With I2S

The Cheap Yellow Display is a great little module to start a project with, but it wouldn’t necessarily be our first choice for an audio device. That’s because the PWM on the ESP32 isn’t exactly going to put out hi-fi, and the I2C pins needed for the I2S audio protocol aren’t broken out on the CYD board. That didn’t stop [ivans805] AKA [Ill-Town-5623]– he wanted a mod tracker, he had a CYD board, and necessity is the mother of invention.

It isn’t exactly a ground-breaking hack: he’s just tossed a bodge wire to the pin he needs on the ESP32, and run it to the I2S sound module. Still, in this era of endless modules it’s nice to see someone hacking what they have rather than running to AliExpress or somewhere else for a part that has everything the project needs built in.

The bodge wire is how you know it’s a hack.

What really caught our eye when we saw this project on the ESP32 subreddit was the aesthetics. It might be called “Win95-Tracker-CYD” but that interface just screams “Amiga” to us– look at that Boing Ball! Given where MOD files come from, that’s perfect. The UI was made with Lopaka.app, which we haven’t seen before but appears to be a sort of WYSIWYG editor for embedded device interfaces.

While you don’t need an ESP32 to play mod files– the diminutive CH32 can manage the task— there’s no arguing the CYD could make a nice little player. If you actually wanted to push its limits, you might try a 3D engine instead,

3D Printed Train Whistles Sound Out At Full Scale

The age of steam is long gone, but there are few railfans who don’t have a soft spot for the old rolling kettles. So you’d best believe when [AeroKoi] talks about 3D printed train whistles, that’s steam whistles. Generally speaking, Diesels have horns.

You would not expect printed plastic to hold up to live steam– but that’s why [AeroKoi] uses compressed air. Besides, it’s a lot easier to both justify and maintain an air compressor than a boiler in the shop. At least some hobbyists say it doesn’t make a huge difference with brass whistles, so it should be good enough for plastic. What’s interesting is that even with 120 PSI blasting through them, these multi-part prints held together and sounded amazing.

[AeroKoi] does demonstrate there was a learning curve to climb before he had a good whistle design, and shows you what features worked best. He shared two successes on Thingiverse: A 6-Chime whistle from the Sante Fe Railroad, and a Northern Pacific 5-chime whistle, both 4″ in diameter and printed in vertically sectioned parts. The Northern Pacific is not to be confused with the totally different Union Pacific Railroad, whose famous “Big Boy” also had a whistle feature in the video — though evidently he’s not as happy with it, since he did not share the design.

Those are all North American designs, but there’s no reason this technique wouldn’t work to replicate a more European sound; one of his early experiments was kind of going in that direction already. Of course if you want a perfect replica, the old ways are the best ways: cast brass and live steam. We’ve had a few articles about train whistles in the past, one of which was a doorbell. 

Continue reading “3D Printed Train Whistles Sound Out At Full Scale”

Taking Polyphony To A New Level

There are all manner of musical synthesis techniques, from the early electromechanical instruments through analogue tape systhesis, the all-electronic waveform synthesisers of the 1960s onwards, and Yamaha’s FM systhesis of the 1980s, to name but a few. One of the attributes of such a machine lies in how many voices it has, or in simple terms, how many notes it can play simultaneously. Electronic complexity limited those early synths, but what happens on an FPGA where vast numbers of circuits can be made with little extra cost? [Tsuneo.Ohnaka] is pushing the envelope a little, by cramming 10240 individually controllable oscillators onto a Terasic DE10-nano FPGA board.

While this thing can in theory generate 10240 different notes at once, in practice that doesn’t mean it has 10240 voices. Instead he calls it a spectrum engine, in that with such a large number of oscillators all with individually controllable frequency, phase, and amplitude, he’s made the part of all those Fourier transform maths where all the different frequencies are combined, in hardware. It’s as though you had a sound card which wasn’t based around a DAC fed with samples, instead all those spectrum points you’d derive from a Fourier transform. Because it’s a massive parallel array of real oscillators it all happens concurrently, instantaneously in real time, and is not held back by the processing constraints of a microprocessor. Think of it as something akin to a software defined radio transmitter, but for the world of audio synthesis.

In that light, it can emulate all those other forms of audio synthesis driven by software, but without the software overhead of generating the waveforms. It’s certainly a different approach to generating audio from a computer, and he’s posted a cacophonic demo video below of it as an 80-voice polyphonic synthesiser. We like it.

Continue reading “Taking Polyphony To A New Level”

This Handy Synth Packs An ESP32

Since the first electronic hobbyist wired up a multivibrator to a keyboard many decades ago, electonic synthesisers have been a staple of home-made projects. Now with the proliferation of significantly powerful microcontrollers it’s possible to make a synth that surpasses many of the high-end models from days gone by.

Among those we’ve seen of late perhaps none does this better than [Povle] with their Spark portable keyboard. It’s a tiny thing that reminds us of those little Casio synths of the 1980s, but in its 3D printed case it packs a load of features.

Hardware wise it’s an ESP32 with a 3D printed keyboard using keyswitches. There are a load of pots for sound adjustment, and buttons for functions. A small OLED display shows what’s going on. Software wise it relies upon the AMY synth library, and there are repositories for both its hardware and software.

There’s a demo video we’ve placed below, and in it you hear the keyboard at work. And here maybe we’ve saved the best until last, because alongside being a fully featured synth, it’s also a sampler and a Bluetooth MIDI keyboard. Is there nothing this thing can’t do!

Continue reading “This Handy Synth Packs An ESP32”

ESP32Synth : An Audio Synthesis Library For The ESP32

With MCUs becoming increasingly more powerful it was only a matter of time before they would enable some more serious audio-processing tasks. [Danilo Gabriel]’s ESP32Synth library is a good example here, which provides an ESP-IDF based 80+ voice mixing and synthesis engine. If you ever wanted to create a pretty impressive audio synthesizer, then all you really need to get started is an ESP32, ESP32-S3 or similar dual-core Espressif MCU that has the requisite processing power.

Audio output goes via I2S, requiring only a cheap I2S DAC like the UDA1334A or PCM5102 to be connected, unless you really want to use the internal DAC. With this wired up you get 80 voices by default, with up to 350 voices demonstrated before the hardware cannot keep up any more. You can stream multiple WAV files from an SD card for samples along with the typical oscillators like sinewave, triangle, sawtooth and pulse, as well as noise, wavetables and more.

In order to make this work in real-time a number of optimizations had to be performed, such as the removal of slow floating-point and division operations in the audio path. The audio rendering task is naturally pinned to a single core, leaving a single core for application code to use for remaining tasks. While the code is provided as an Arduino project, it uses ESP-IDF so it can likely be used for a regular ESP-IDF project as well without too much fuss.

Wearable MIDI Controller Built With Raspberry Pi

Most synths happily get by with keyboard or pad inputs and make lovely sounds in response. [Becky Clarke] and her fellow collaborators are building a synth that works rather differently. DigitSynth is a wearable controller that’s rather fun to interact with.

The heart of the build is a Raspberry Pi 5. It’s set up to talk to a TI ADS1115 ADC chip that lets it read a bunch of analog flex sensors embedded in a right-hand glove, while the Pi can also read a bunch of tactile buttons activated by the left hand. The flex sensors are used to control synth parameters like LFO rate and filter cutoffs, while the buttons control chord changes. The Raspberry Pi runs custom code to read these devices and generate the requisite MIDI commands to send to a Roland JD-Xi synth which is responsible for actually making the sound. Both sets of fingers are also dotted with LEDs for visual feedback, controlled via a TLC59711 PWM driver.

It’s a fun build that creates some ethereal sounds in an intuitive way, thanks to the nature of the interface. We’ve featured some similar builds before, using the flexure of the hand to create musical soundscapes. Video after the break.

Continue reading “Wearable MIDI Controller Built With Raspberry Pi”

DJ Controller Modded For Better Scratching

[Jeremy Bell] loves scratching, but he had a problem. His Hercules DJ controller wasn’t really doing a great job at emulating the kind of action one would get with a real turntable. The solution was both mechanical and electronic in nature!

As stock, the Hercules MIDI rig lets you scratch in a relatively simplistic way. When it detects a finger touching the rotary control, it lets you scratch back and forth with great motion tracking. However, when you let go, playback resumes at regular speed instantaneously, which creates a somewhat inorganic sound.

The fix was to make some mechanical mods to the MIDI controller. [Jeremy] tried out a variety of different methods of using a motor to spin the rotary control continuously, from geared rigs to belt-driven setups. It was then possible to scratch on the controller, and then let it return to normal rotational speed, creating much smoother  auditory transitions. However, this was imperfect, as for whatever reason, the Hercules rig would stop tracking the rotary control accurately unless it detected a finger was touching it. [Jeremy] worked around this by whipping up a slip-ring-like setup to keep his body permanently in contact with the rotary control even while spinning.

The results are pretty great—they’re both mechanically janky and fantastically satisfying to listen to. We’ve featured some other great DJ controller hacks over the years, like this sweet Pioneer UI upgrade.

Continue reading “DJ Controller Modded For Better Scratching”