Professional Audio On An ESP32

Audiophiles have worked diligently to alert the rest of the world to products with superior sound quality, and to warn us away from expensive gimmicks that have middling features at best. Unfortunately, the downside of most high quality audio equipment is the sticker price. But with some soldering skills and a bit of hardware, you can build your own professional-level audio equipment around an ESP32 and impress almost any dedicated audiophile.

The list of features the tiny picoAUDIO board packs is impressive, starting with a 3.7 watt stereo amplifier and a second dedicated headphone amplifier. It also has all of the I/O you would expect something based on an ESP32 to have, such as I2S stereo DAC, an I2S microphone input, I2C GPIO extenders and, of course, a built-in MicroSD card reader. The audio quality is impressive too, and the project page has some MP3 files of audio recorded using this device that are worth listening to.

Whether you want the highest sound quality for your headphones while you listen to music, or you need a pocket-sized audio recording device, this might be the way to go. The project files are all available so you can build this from the ground up as well. Once you have that knocked out, you can move on to building your own speakers.

Continue reading “Professional Audio On An ESP32”

Putting 3D Printed Speaker Drivers To The Test

Over the years, we’ve seen numerous projects that attempted to 3D print speaker enclosures that deliver not only a bit of custom flair, but hopefully halfway decent sound. Though as you’d probably expect, the drivers themselves are always standard run-of-the mill hardware mounted into the plastic enclosure. But given the research being conducted by [Paul Ellis], that might not be a safe assumption for much longer.

His quest to develop a full-range 3D speaker has taken him through several design revisions over the last two years, with each one being put through testing procedure that compared its frequency response to “real” speakers from manufacturers like Dayton and Bose. The project is very much ongoing, but a recently completed iteration of the driver design managed to exceed 80 dB at 1 W. In terms of audio quality, [Paul] reports they can hold their own against commercially available drivers. You can hear for yourself in the video after the break.

Ultimately, he hopes to be able to sell his 3D printed speakers in kit form to anyone who’s looking for the last word in bespoke audio hardware. The idea being that the drivers and enclosure will be completely modular, allowing the user to swap out individual components for ones printed (or not) in different materials so they can tune the in-person sound to their exact specifications. To facilitate this rapid reconfiguring of the drivers, the designs use some neat tricks like having the magnets be removable rather than glued in so they could be swapped out non-destructively.

This isn’t the first fully 3D printed speaker driver we’ve ever seen, Formlabs showed one off that was made on their SLA printer back in 2015, and we actually saw a rudimentary take on the same idea earlier this year. But the work that [Paul] has done here is certainly the most thorough, and dare we say practical, take we’ve ever seen on the concept.

Continue reading “Putting 3D Printed Speaker Drivers To The Test”

Simple Bluetooth Car Audio From A Pi Zero

When [Sami Pietikäinen] realized that the Bluetooth built into his car didn’t support audio, he didn’t junk it and buy a Tesla. Instead, he decided to remedy the problem by building a small Bluetooth device that plugged into the Aux socket. To do this, he used a Raspberry Pi Zero with a pHAT DAC (Digital to Audio Converter). That’s perhaps using a sledgehammer to crack a walnut, but sometimes you work with what you have. The interesting part is to be found in what he did next: he used Yocto to optimize the device down to make it as simple and straightforward as possible.

Continue reading “Simple Bluetooth Car Audio From A Pi Zero”

A Simple Way To Analyze Guitar Pickups

To the uninitiated an electric guitar seems fairly simple: you pluck a string and the electronics send the corresponding audio signal on the 6.3 mm jack output, all ready for for the amplifier to work its magic. Much of what makes a guitar like that sound good depends on the pickups, however. These are the devices which are placed between the guitar body and the strings. Depending on the guitar there can be one, two, or more of them, of varying types and configurations.

As a Gibson fan who upon getting introduced to a Fender Telecaster just had to replace its pickups with humbucking types, [Ken Willmott] found himself thrown into the wonderful world of pickup design and characterization. After two years of working through a number of designs and approaches, he eventually settled on a preamplifier design featuring a JFET opamp (LT1058) on a custom PCB which amplifies the pickup response from a test signal, acting as a front end signal conditioner.

Continue reading “A Simple Way To Analyze Guitar Pickups”

Probability-Based Drummer Leaves The Beats Up To Chance

Drum machines may seem like one of the many rites of passage for hardware makers, they’re a concept you can implement simply or take into the extreme making it as complex as you want. [Matt’s] DrumKid is one of them, and its long development history is wonderfully documented in the project logs.

[Matt’s] original intention was to use the automatic drummer as part of his band, wanting “the expressiveness of a good drummer but without the robotic tendencies of a simple drum machine”. For that, he created the first iteration of the DrumKid, a web-based project using the Web Audio API. The interface consisted of bars showing levels for different settings which could be intuitively tweaked, changing the probability of a drum sound being played. This gave the “drummer” its unpredictability, setting itself apart from any regular old drum machine.

Fast forward a few years, and [Matt] now wants to recreate his DrumKid as a proper piece of musical gear, porting the concept into a standalone hardware drum machine you can plug into your mixer. He decided to go with the Arduino framework for his project rather than the Teensy platform in order to make it cheaper to build. The controls are simplified down to a few buttons and potentiometers, and the whole thing runs off of three AAA batteries. Also, targeting the project for hardware like this allowed for new features to be added, such as a bit-crush filter.

We already saw the first prototype here on Hackaday when it was featured in a Hackaday Prize mentor session, and it’s nice to see how the project evolved since. After a number of revisions, the new prototype takes design cues from Teenage Engineering’s “Pocket Operator” drum machine, using the main PCB as its own faceplate rather than a 3D printed case in a familiar way we’ve seen before. Unfortunately, the latest board is non-functional due to a routing mistake, but you can see the previous working prototypes in his project logs.

Yet Another Concrete Speaker Build

Concrete is great if you feel like making something heavy on the cheap. [Marek Unger] decided to have a go, using the material to cast speaker cabinets for a home hi-fi rig (Youtube link, embedded below).

Initial attempts involved creating a laser-cut MDF outer mold, with a styrofoam core inside to be removed later. This was unsuccessful, and [Marek] developed the design further. The second revision used an inner core also made from lasercut MDF, designed to be left inside after casting. This inner mold already includes the mounting holes for the speaker drivers, making assembly easier too.

Once cast, the enclosures were fitted with Tang-Band W4-1320SIF drivers. These are a full-range driver, meaning they can be used without needing crossovers or other speakers to fill in the frequency range. Each cabinet weighs just over 10kg, and they’re ported for extra response in the lower frequency bands. Sound tests are impressive, and the rough-finished aesthetic of the final product looks great in [Marek]’s living room.

We’ve seen concrete used for all manner of projects, from furnaces to USB hubs. Video after the break.

Continue reading “Yet Another Concrete Speaker Build”

Automated Tuning Of Linux Audio

Audio systems in Linux are terrible. You’ve never known true pain until you’ve tried to set up a recording or broadcasting workstation running Linux. I did, twenty years ago, and nothing has changed since. This wasn’t really a problem when Linux was either used in server spaces or some nerd’s battle station, but now we have small single board computers that everyone uses and wants to turn into a modular synth. Welcome to paintown, because the Linux audio stack is terrible.

For the past ten years, [Dynobot] has been working on improving audio in Linux. This is a decade of reading manuals from IBM and Oracle, and a deep knowledge of how to adjust settings so audio actually works. All of this work is now combined into a single script that improves everything. This means the priority of the Audio group is changed, the thread priority is better, the latency is better, and for anyone who wants to set up a local streaming service, the network latency is better. It’s not everything, and there’s no mention of recording multitrack audio, but we’ll accept the baby steps here.

There are two relevant Github repositories for this, the first containing audio adjustments for Debian-based systems, including the Raspberry Pi. This should work on any single board computer running Debian, and has been tested on all the Raspberry Pis, the Allo Sparky, ASUS Tinkerboard, and the Odroid C2. There’s also a version for TinyCore-based Linux systems that improves the priority of the audio threads, changes the thread scheduling from ‘whatever’ to FIFO, and improves the latency. If you’re running Linux, and you’re doing something with audio, this is what you need.