I will not argue that that could be one ingredient, but a couple of months ago I did a toy for my kids, I bought decent speakers, placed them in a cheap plastic box, and was absolutely amazed bybthe sound quality. The amplifier is a sub 1 dollar class D bought in a Raspberry Pi shop. No processing at all. If the box is sturdy and sealed, and the speaker is good, is incredible what you can do.
As always the speakers are the crucial part and having decent speakers will make a big difference. What a DSP can do is correct bad speakers to some degree. A typical cheap computer speaker has a muddy midrange, can't reproduce past 13 kHz or so, and has little bass due to the small driver. With DSP the manufacturer would typically low pass the amp input, smooth out the nonlinear frequency response, lift the bass a bit, and apply compression and limiting to increase perceived volume and protect the system. The results are still constrained by physics but the manufacturer is in this case able to save money on the drivers and box while getting similar sound quality.
The speakers: https://www.reichelt.de/de/de/shop/produkt/breitbandlautspre...
Box: https://www.reichelt.de/de/de/shop/produkt/gehaeuse_serie_op...
Design of a friend, final product looks like this: https://hackaday.io/project/198249-untonie-antony
I just want to note that software is built with collaboration of Bang & Olufsen. Both hardware and software oozes quality.
[0]: https://www.hifiberry.com/shop/boards/dealing-with-blocked-p...
Platform has two starting points: Raspberry Pi + AMPs (or DACs) or Beocrate [0]
If you go with the former, you need a Raspberry Pi 4 or 5 (even 2GB models are OK), HiFiberry board of your choice, a case (available from HifBerry), and a PSU in 19-24V range.
My setup is as follows:
- Kenwood 2.1 passive Hi-Fi speakers.
- HifBerry AMP2
- Raspberry Pi 4 / 2GB
- Steel case for Raspberry Pi + Board
- 20V Meanwell power supply with a barrel jack.
If you prefer to use your own amp or powered speakers, there are DACs which you can directly connect to line level inputs. They support the same OS, and some are even support XLR outputs or multichannel I/O for production/studio needs.If you want go all in, you can add a DSP into the mix which allows parametric eqaualization, and room compensation with optional USB Mic (similar to how B&O speakers measure room to self-optimize). Also you can design your own DSP chains and upload to the DSP.
Regardless of the OS you run (HifBerry OS or HifiBerry OS64 (which is beta)), you get the following services out of the box:
- Roon
- AirPlay
- Spotify Deamon
- Spotify Connect
- RadioBrowser & TuneIn support
- Squeezelite for Logitech/Squeezebox
- Music (for local files)
- Bluetooth
Spotify daemons require a premium subscription and Roon needs a license/subscription.There are also extensions, but I don't use any of them and don't know what's available.
I use the system mostly with MPD to play music from my and dad's personal collections. MPD can also connect to a Samba server.
If you have any other questions, I will try my best to answer. Hope this helps.
https://www.amazon.com/Introduction-Loudspeaker-Design-John-...
https://www.youtube.com/watch?v=-eeC1XyZxYs
This is hardly surprising; cabinet design matters for every kind of loudspeaker. Note also that electric guitars can produce a wide range of frequencies, especially once you add distortion. Distortion generates additional tones both higher and lower in frequency than those already present.
Replacing the DSP with a simpler amplifier may allow to get more detailed sound from the drivers and the box themselves and may create a more pleasant listening experience.
From what I have seen, the drivers seem pretty full-size for that box, and any disturbing sound characteristic can be tuned with a simple equalizer. A more dynamic approach might create audibly weird sound profile if done wrong.
Modern DSPs are magic, but I still prefer an audio pipeline where things show their deficiencies and not hide things real-time.
I've already figured out the control signals and have designed a new daugterboard with an ESP32 to drive the I2S output. I just need to figure out how to downmix the audio to mono and to DSP the L/R channels into tweeter/bass outputs, or to find some code already out there that does this. Any help/pointers here would be appreciated!
As the AD85050 has a stereo I2S input there's a possibility for the actual crossover to be either done on the amp chip itself (with the same signal driving both channels) or done on the Amlogic SOC. The latter would be ugly as you would need another DSP chip on your board to do the crossover functionality, or perhaps you could program the AD85050 via I2C to add the appropiate low and high pass filters.
A two channel A/D converter would work on the front end, as you could drive both channels with a single analog input to get a stereo I2S out with duplicate channels to drive the amp. A USB input would be much messier if you want true stereo using two speakers unless you plan on doing routing on the software side. With SPDIF you probably could get away with splitting the signal and using a SPDIF to I2S converter chip in each speaker, but you would still need some way to separate out the left and right channels. The AD85050 has mixing functionality via I2C which may help with that.
And of course, all this might be more work than desigining an amp in the first place, and it really depends if you want to explore the analog or digital side of things.