NFC Record Player Promotes Intentional Listening

Streaming services have enabled many of us to have easy access to the world’s media library at the touch of a screen, but [Coconauts] thinks we’ve lost something along the way. To bring some intentionality back to the listening experience, they built an NFC record player called Minilos.

Like a normal record player, Minilos requires the user to select an album to play on the machine. These were originally decorative coasters with records printed on them, so they are much smaller than even a 45. Each one features an NFC tag that instructs ESP32 microcontroller hidden in the device to play the requested song. Once placed on the record player, it will then play through that album and come to a stop.

In [Coconauts]’s current setup, the ESP32 is connected to a Home Assistant server which then instructs a Google Speaker to play the requested song via Spotify, although we could easily imagine this being used to play music directly from an SD card or other digital storage device instead.

If you want complete control over your music listening while still keeping that authentic vinyl experience, you could always look into cutting your own records with a laser.

Mixapps: The Mixtape Of The Internet Age

Mixtapes used to be a way that we cultivated a personal selection of music for our own enjoyment, or to give as gifts to those we wanted to impress with a personal touch. These days, we’d typically try that with a playlist, but it’s less romantic despite also being more ephemeral. Songs fall off streaming services all the time, and few of us have the exact same subscriptions as those we’re trying to flirt with. Thus, [Hunter Irving] whipped up a more lasting solution for this modern age.

The concept is simple—it’s a collection of songs that are packaged together in a easily portable format that won’t disappear because of corporate bureaucratic nonsense. [Hunter] has termed their project Mixapps—because it’s a method of sharing music based around Progressive Web Apps (PWA). To create a custom mix, you start by running a Python script, which will then let you add tracks and reorder them as you desire. From there, you run a second script that builds the web app for you.

You can then upload the prepared app directory to a web host to share it with anyone you like. They can then save the PWA to the home screen of their mobile device, where it will live happily ever after. There’s no need to keep hosting the app online or for the user to remain connected to the Internet; everything is self contained on their device. If you’re curious, there’s a demo you can check out online.

It’s worth noting that there are intellectual property concerns to be had as with any form of music sharing, but what else is new? We’ve explored the magic of mixtapes in the past, anyway, to be sure. If you’re finding new ways to trade music and playlists, romantically or platonically, don’t hesitate to let us know.

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.