frankenTheatre is my attempt to build a, hopefully, great-sounding audio system. I made a set of three-way speakers with each driver powered by its own amplifier and DAC. The subwoofer is a 2X12″ isobaric pair fed by its own amplifier and DAC. At the centre is a commercial DSP, ensuring each driver gets only the frequencies it needs. The Raspberry Pi streamer can play Spotify, network sources, internet radio or your phone and laptop through Bluetooth. I make no claims of being an expert; I’m just sharing my learning experience with FrankenTheatre.
What is the FrankenTheatre?
Over the past several months, I’ve spent much of my time on my “FrankenTheatre” audio system. I always wanted to build an audio system but never quite had the time. Now, with the Covid-19 pandemic happening, I decided the time was right to design and build my speakers, amplifiers and network streamer.
Most of my life has been spent, in some way, on sound. I spent many years mixing audio for various audiences from church congregations to bars and even mixed an event for Kingdom Bound Ministries. I also spent quite a bit of time recording, composing and performing.
You could say I like sound. So much so that I spent the last several months designing and building a complete audio system from scratch. I spent considerable time researching, testing, and tweaking to bring to life my very own (cheese alert…) FrankenTheatre.

There is more work, but the goals remain simple: I will build the best, highest quality sound system that I can for as little money as possible. I won’t cut corners sonically, but I won’t pay for unnecessary specifications.
Over the coming weeks, I will release a series of blog-style posts detailing my plans, research and conclusions so you can follow along and make suggestions. You’ll learn from my mistakes and see how I reasoned from a musical and technical perspective. And you’ll see my progress as I post photos and videos of my ugly ducklings.
I’ll discuss woofer, midrange and tweeter choice, how to choose “crossover” points and tips for reducing resonance. Finally, I’ll show you how I design speaker enclosures using freely available software and build them with free wood from my neighbour’s trash.
This project uses eight amplifier channels, so there will be a discussion about class types and the performance requirements of the many amplifiers that this project uses. In addition, there are many amplifier boards available on various websites like eBay and AliExpress – can I use these rather than a custom-made amp? I’ll share my findings. I’ll also share my story of catching an eBay vendor red-handed trying to purchase a “positive” review from me after I accused them of selling counterfeit items.
Feeding each amplifier channel is the audio output from a DAC (Digital to Analog Converter). I’ll discuss which DACs I chose, how I powered them and how to feed a digital signal to each DAC. Of course, it’s not good enough to select a cheap DAC – it has to sound good. Some DACs sound great, some don’t. Unfortunately, a good DAC is a rarity in consumer electronics. However, I’ll show you how to use an inexpensive DAC kit to provide high-quality, great-sounding audio. It’s easier than you think.
Feeding those DACs requires a little hardware in the form of a Digital Signal Processor. The DSP needs to take a digital stereo signal IN and split it into eight digital signals OUT. Two of those channels are used to supply the stereo tweeter amp, two for the stereo midrange amp, two for the stereo woofer amp and finally, two channels for the subwoofer amp.
I’ll show you which DSPs I considered, what you need to know before buying, how to connect them and how to program them. Don’t skip this section! You may understand DSP, but setting one up and programming it will take quite a bit of effort at first. I’ll also show you how to use free software to program the DSP and, of course, some of the pitfalls. I’m hoping this section alone saves you several hours, if not days of research.
And finally, I discuss various streaming options, including the Raspberry Pi. I explore playing music from my network, through Bluetooth and of course, I discuss playing music from sites like Spotify and YouTube.
Microcontrollers such as the ubiquitous ESP32 can also provide Bluetooth playback capability. With a bit of effort, we can get an ESP32 to act as a “commander” to our DSP, letting us change EQ settings and crossover points and acquire real-time statistics from the DSP while supplying a web-based interface for making adjustments to the audio.
Here are a few pictures from the “alpha” build of the FrankenTheatre. You can see why I chose to call it the “Franken-something.” It’s a prototype. But if you’re handy, your version can look any way you like.
This system needs to sound great and cost as little as possible. Aesthetics are an afterthought for this project.
Design Discussion
For a sound system to sound “good,” it merely needs to reproduce source material accurately, with the ability to change bass, midrange and treble. Assuming we’re playing a commercial song, an engineer removed all sonic colour from the song during mastering. Sound engineers are excellent at what they do – and the thing is, you’ll never know. This is for a good reason – you should never notice the sound quality is “off.” It should sound natural to your ears, and a great deal of work is done making that happen long before the consumer hears a song.
Having a flat/accurate frequency response while monitoring a mix or a master is essential if you want your sound to be reproduced as pleasantly as possible on the broadest number of audio systems. But, flat and pleasant are two different things aimed at two different audiences. Typically the consumer wants a pleasant experience, not a flat one.
We can colour our sound without unpleasant artifacts by reproducing the source material as accurately as possible while adding bass, midrange, and treble to taste.
And what do I mean by unpleasant artifacts? If our speakers tend to be boomy rather than flat, the frequency response curve is non-linear. This may be great for certain styles of music, but playing a style that’s already mixed bass-heavy may be too much to be pleasant. So the first thing you’ll do is reach for that bass knob. Here’s where the problem of error upon error comes in. If you already have a bumpy frequency response from the enclosure, adjusting your bass knob could easily result in a missed bass “bump” above the bass circuit’s cutoff frequency. In addition, with a bass-heavy enclosure, the bass circuit needs to be designed very carefully with the correct slope, bandwidth and spacing of frequency adjustment bands. A mismatch in these numbers can lead to neither pleasant nor flat music.
So in my mind, removing the “error” from the enclosures is the best way to begin. As a result, filter design isn’t as critical, and it’s more likely to be an excellent sounding system.
It’s straightforward to “tune” an audio system when it’s already flat since you’re not adding error upon error. Likewise, when you adjust frequencies, you’re not catching the edge of someone else’s adjustment or the enclosure response. Piling error upon an error in an audio system fatigues the ears and sounds unnatural.
Therefore, it’s my goal to build each speaker to reproduce frequencies as flat as possible over its operating range. So then, when you play with the bass, it sounds natural, not honky or hollow or any number of adjectives.
Speaker enclosure design is too large of a subject to cover in my intro, so I’ll have more to say on this later on.
Digital Vs Analog Signal Chain
As a signal travels down a conductor, it is subject to capacitance and inductance. The further the distance, the more capacitance a conducting pair will experience, resulting in high-frequency roll-off. As a result, an analog signal will degrade with a phase shift and attenuation. In contrast, a digital signal is unlikely to be affected enough to disrupt communications until capacitance levels have risen to such an extreme level that square wave signals become single-mode sin waves. So, I usually add a tight twist to communications conductors to add inductance, thus balancing the reactance.
In short conductors, its much more likely that communications issues arise in a digital system when connections are flakey rather than from reactance. I’ve personally certified short twisted connectors to well over 3MHz – enough for stereo 48KHz, 32-bit playback. Unfortunately, I couldn’t certify higher because of a limitation with my equipment rather than the conductor.
Because I want the highest quality possible while spending very little, I decided a digital signal chain right up to the DACs would be the best solution. There are too many places for an analog signal to become distorted along the path from source to speaker, requiring more expensive components.
A digital signal path provides several advantages but some disadvantages as well.
Pros
- Digital (in our case) is lossless, whereas analog rolls off at the higher-end
- The cost for a digital system is fixed. So it makes no difference if you're using 2 EQs or 8- the price is the same.
- Once set up, Digital is easier to change the signal path
- Digital processing gives you EQ, compression, limiting, filtering, phase correction and emulation of costly classic hardware
- With Digital systems, settings can be saved, recalled and edited at will. Analog requires manual record-keeping to do the same
Cons
- Complexity. A Digital system takes many things to be exactly right to work
- The initial cost for a digital system can be high
- First Viable Product may take longer to design and build
Frequency Response
Ideally, I want to reproduce the frequencies from 20Hz to 20,000Hz as accurately as possible. Most children can hear from about 20Hz to 20KHz, while most adults can hear from about 25Hz to 13KHz.
For those of you who are familiar with the audio spectrum, 20Hz is a very low frequency. So low that most people can’t hear this frequency, but you can feel it.
The lowest note on a 5-string bass guitar, B, is about 31Hz whereas the lowest note, E on a 4-string bass guitar is about 41Hz. These frequencies need to be reproduced without losing apparent volume compared to higher frequencies. For this to occur, the -3dB point of the bass-roll-off needs to happen somewhat below 31Hz. Ideally, half an octave below or more. This means a -3dB frequency of about 20Hz will produce chest shaking bass frequencies at 31Hz, or Low B.
Making a subwoofer cabinet that will perform at 20Hz isn’t easy! Luckily, I came across a pair of Kicker 12″ subs, usually sold in BestBuy and Walmart. I’ll document how I used these low-cost subs to produce frequencies that I can’t hear and how an unorthodox alignment of these drivers lets us dance around the laws of physics (not really, but it sounds good).
It’s worth mentioning that each speaker driver has a resonant frequency. If the driver happens to be playing music at or close to the resonant frequency, the driver will vibrate AT the resonant frequency. For example, if a driver has a resonant frequency of 93Hz and the sound signal produces an F# (92.5Hz), the driver will attempt to reproduce 92.5Hz and 93Hz. In extreme cases, you can hear two distinct tones – one at the signal’s frequency and the driver’s resonant frequency.
My studio monitors are 2-way, meaning they use a woofer and a tweeter. I can play with the frequency response all I like, but my monitors will never reproduce bass the way I like since the woofer compromises low-end extension for midrange clarity. Assuming the woofer produces frequencies from 90Hz to 3000Hz, we’re asking it to work over 5 octaves of music. That’s a lot of range for a physical vibrating cone.
Instead, I opted for a 3-way design for this project. This allows me to control three separate drivers, giving each a smaller chunk of the audio spectrum to reproduce. So, for example, when the woofer is bouncing around violently to produce a great bass track, it shouldn’t also be asked to reproduce clear vocals.
Using the DSP, I can tune crossover points such that drivers receive frequencies well above their resonant frequencies. The midrange driver I chose DOES have a resonant frequency of 93Hz. Unfortunately, frequencies near multiples of the resonant frequency can also trigger a resonant response. Ideally, I want to eliminate frequencies below 200Hz from the midrange driver to avoid a resonant response.
Mechanical coupling is a problem when two or more drivers are in the same enclosure. The vibration of the woofer at or near the midrange driver’s resonant frequency will cause an audible response from the midrange speaker. Therefore, I’ll look at mechanical isolation techniques so that each driver is independent and the system is unaffected by resonant frequencies of the drivers and enclosures.
I want to talk about clarity in the sub-bass zone, 20Hz to about 80Hz. This zone represents some very low bass and covers a range of 2 octaves over the span of 60Hz.
Compare this to the “A” note above middle “C,” 440Hz. Two octaves above 440Hz is 1760Hz, over a range of 1320Hz.
Do you see where I’m going with this? We start to lose perception of the pitch as frequency drops since our ears must decipher between notes that are only a few Hz apart. This phenomenon is called “Rumble,” and it fatigues the ears quickly.
So it’s essential to remember rumble when setting up your system. It may be impressive to ME that your speaker can play all the way down to 20Hz, but most people can’t make out notes this low. Some may describe your bass response as “flat” or “out of tune.” This means your sub-bass is too loud, and you need definition. So how do you get excellent bass clarity AND the sonic boom of death?
I’ll tell you in the upcoming posts.