Modernizing my 1980s sound system
blog.yossarian.net
blog.yossarian.net
I mostly gave up on wireless this and that and constantly on electronics doing things in the background. Now I just watch shows on my laptop, keep my media on a 2.5" sata HDD with a sata to USB cable, and be sure to copy anything I've downloaded onto it every once in a while. I keep it simple, I'm now of the opinion that if you spend more time administering than using software it's not worth it. And to me, the amount of time I'd put into setting this stuff up, troubleshooting, updating software and whatever else just doesn't make up for having to plug things in when I need to.
Not true. The EeePC 701 netbook is a really minimal underpowered machine, still it will run small Linux distros just fine (it was actually sold with Linux in the first place). If you want a music player that you can control from another room, you can do that by installing a very small distro such as the x86 Alpine Linux image (https://alpinelinux.org/downloads/) then the mpd daemon (https://www.musicpd.org/ - it's in standard repositories install it with "apk add mpd" from root shell) which can work headless, therefore requiring very few resources, then a suitable control app for your phone or tablet (search for mpd control app), so that you can do pretty much everything through your home WiFi from any room, basement, backyard, etc.
Should you experience noises, cracks, hum and static when connecting the netbook to an amplifier and to a mains adapter, that is a common problem of ground loops and not of that particular netbook, that will be easily solved by adding a small audio transformer in between.
That being said, MPD is not a good solution for my particular use case: I have family and friends that come over regularly, and they want to play music. None of them are technical and are easily dissuades by anything that doesn't immediately work with AirPlay or another UPnP-style setup.
To make it even easier for friends and family, I set up a dynamic DNS with a friendly URL like myjukebox.duckdns.org that points to the 192.168.xxx.xxx address where this is hosted.
Mopidy (https://mopidy.com/) as the MPD server with Iris (https://mopidy.com/ext/iris/) as the client is a good setup for this.
Even the tech-illiterate can get along with it.
There are different standards for this: my non-technical friends could probably browse to a local website on their smartphones. My parents would forget how to do it each time, and would be annoyed that it doesn't look like Spotify or Apple Music.
As it is, everybody on my network is able to auto-discover the Pi using their phone or computer's native AirPlay/DLNA support and play music using their application of choice (meaning my server, their own MPD server, Spotify, whatever). That kind of flexibility was a necessity for my case.
The MPD approach is far better because each person's client view is a shared view of a single playlist. People can all add or update that playlist together.
At least for my purposes, this isn't too big of a drawback: HiFiBerryOS seems to take a "FIFO" approach, so taking over control just involves playing over AirPlay and booting the last person off. Someone could of course do that do me, but that's what social etiquette is for :-)
Did that include plain Debian?
[citation needed]
Much better build quality than a cheap consumer device.
Really? I brought mine to be recycled about six months ago because I couldn't find a distro that would work on it anymore.
I tried at least a dozen over two days, all of which claimed they were minimalist, and some that specifically claimed they would work on an eeePC 701. None did.
All the information making this claim is very outdated, and even the minimalist installations have moved on so that they no longer work on a 701. Some wouldn't boot; the rest were unusable or unstable.
The only thing that still worked on the machine was the image that it shipped with, but the Firefox was so anemic, it could barely show any web sites, and certainly none with fancy JavaScript.
Yes, it's really low powered, and storage is minimal so it can't run even base installs of most known distros. That's why I suggested Alpine; it is aimed primarily at virtual machines (where less is better), but it installs fine on real iron and can be extended up to the point it becomes a full desktop, although still much smaller than the equivalents due to most software being rebuilt against musl therefore being lot smaller than libc. The 701 will probably be too small even for a Alpine based desktop, but the OP needed a music player, which seems doable to me.
Examples:
- USB to basic DAC to RCA from desktop to huge 70s Sansui G-7000 receiver
- 1/8" jack to RCA jack input from desktop to Tivoli Audio radio
- 1/8" jack to RCA jack input from Echo Dot to McIntosh MX-115 preamp
- Bluetooth dongle to RCA from iPhone to 60s Leak Stereo 70 amp self professed audiophiles
The positive news here is that in recent years, there has been a growing trend of objective audiophiles who understand things from an engineering perspective and eschew that kind of snake oil stuff.We would find it totally unsurprising that your $1.50 "crapbox" was indistinguishable from the fancy gear. And congratulate you for helping to expose those frauds.
"Objectivists" have decades of controlled research output regarding audio reproduction on their side. After all, audio has been a multizillion dollar industry for well over a century -- certainly it would be surprising if we weren't good at measuring sound and correlating it to listener preference!
Please cite actual research defining "objective audiophiles"
Sure, absolutely. Hope you've got time to read.First, I want you to consider for a moment how remarkable it would be if we had no idea how to objectively measure "good" sound considering that this is a multibillion dollar industry that has existed for over a century. A world where we can calibrate televisions and movie screens objectively by automated means but not, for some reason, their audio counterparts. As rational minds might expect we don't live in such a world.
You'd want to look into research by Sean Olive, Floyd Toole. Here's probably your best starting point: https://www.amazon.com/Sound-Reproduction-Psychoacoustics-Lo...
The TL;DR is that it turns out that most people prefer sound reproduction that (like video reproduction) is accurate to the source material, with a bit of a "house curve" that accentuates the bass frequencies that roughly corresponds to the Fletcher-Munson equal loudness curve. In the end, it's signal reproduction.
Do you realize that all gear is tuned by ear - someone
listens to it to adjust how it sounds?
I don't realize it because it's not true. A person's hearing can change rather markedly from day to day due to factors like congestion, humidity, etc. This would be a remarkably laughable and irreproducible way to calibrate audio reproduction devices.Audio technology companies that are serious about high quality sound reproduction make use of anechoic chambers: https://nrc.canada.ca/en/certifications-evaluations-standard...
...and/or measurement devices like the Klippel NFS to simulate anechoic measurements: https://www.audiosciencereview.com/forum/index.php?threads/u...
...and/or measurement devices like Audio Precision gear: https://www.ap.com/
Of course, audio companies do tinker with their sound to some extent for subjective purposes. A lot of brands try to achieve a bit of a house sound. Ultimately though, audio reproduction is not wine tasting. We can objectively measure what is good and isn't good.
There is also room for subjective personal preference. Everybody's hearing is a little different. And even Floyd and Toole's research reveals average listener preferences. But ultimately...
What is "objective" about sound?
Well, everything. As you know, "sound" is pressure waves in the air. Those pressure waves can be objectively measured in terms of frequency and amplitude. And those 1's and 0's in a digital audio stream for example have objective meaning. They are not a series of opinions. They represent frequency and amplitude. Anybody telling you otherwise is simply uninformed, or trying to pull the wool over your eyes and sell you something.Fair enough to consider although I suspect we'll wind up agreeing to disagree. Not interested in flame wars, and thanks for obliging me.
however it seems an implicit assumption in your statements
is that we know all there is to know about hearing
Hearing involves the human brain and I'm absolutely sure we don't know everything there is to know about it. So at least we agree on that!However, it seems to me that the question is, "can System A reproduce sound with a 'sound quality' relative to System B that cannot currently be measured, but can be recognized by listeners?"
I don't believe we need to know all there is about hearing to answer that question.
thus any claims of audio qualities, for lack of a
better word, are by definition psychological biases
Psychological biases are huge but for the purposes of this good-faith discussion I'm assuming they're controlled for.I'd put it this way...
A suite of measurements such as those produced by e.g. the Klippel NFS measurement system such as those seen here represent a rather large quantity of data.
https://www.audiosciencereview.com/forum/index.php?threads/t...
Do you claim that two audio playback systems could produce identical measurements on the Klippel, and yet have audibly different "sound quality" that could be discerned in a repeatable double-blind fashion by human listeners?
And as you note below, if it's fun for you to trot out all this "science" then please, don't let me spoil your broth. I'll just contend that science is about testing hypotheses and leave it at that.
Lastly, yes, lots still to learn about hearing and audio. Someday maybe we'll have measurements that allow for certain comparisons to be valid across human aural experience and electrical transducers.
There is a lot of disdain for audio-fools: people who go beyond the entirely defensible "This is what I like" and enter into counter-factual explanations of why their preferences constitute truth.
It's always fashionable to crap on people who waste their money on things which are at best immaterial and at worst actively harmful to sound quality. Drawing with a green marker on the edge of your CDs will not improve the sound. Shun Mook Mpingo disks do not and cannot do anything for audible resonance control of your room. Replacing your volume knob with mahogany might look nice, but will not change the sound quality. Unless you live in a particularly bad region of the world, a line conditioner will not improve your sound; if you do, a UPS does a better job. Under no circumstances will replacing a working, up-to-code electrical outlet with an audio-rated outlet improve anything about the sound. In general, an amplifier does an excellent job of removing noise from the power supply before adding it to the signal, and there's a nice objective measurement you can perform to see how good a job each one does.
Ethernet cables are not directional. Speaker cables are not directional. Interconnects are not directional. Anyone selling you one of the above cables and claiming that it is directional is at best a fool and at worst a liar who is selling you a product that is defective.
Raising your cables off the floor with expensive blocks may look good to you, but it doesn't change the sound.
Paying for gold connectors improves the corrosion resistance, but the going rate varies from quite reasonable to extortionate. Silver cables and connectors are a bad idea; copper is excellent. Lamp cord works well. For short runs, an unbent wire clothes hanger will work in a way indistinguishable from a properly constructed cable.
Claims of audibility need to be subjected to measurement, both of the systems and of the people claiming distinguishability. Tests must be double-blind: that is, the experimenter and the subject should both not know what the tested article is during the test.
In conclusion: people like to fool themselves. That's fine, as long as they don't fool other people, too.
> There is a lot of disdain for audio-fools: people who go
> beyond the entirely defensible "This is what I like" and
> enter into counter-factual explanations of why their
> preferences constitute truth.
I wish those would go away. Ditto for the objectivists that tell me I'm listening to music the wrong way because I don't happen to enjoy gear that perfectly matches their averaged response targets.The two constraints that I mentioned in the post should help explain the residual complexity: I didn't want to buy any new equipment (including a Bluetooth dongle, which I don't own), and I wanted the setup to be maximally accessible to my friends and family while still working with my own computers (in different rooms). AirPlay and DLNA achieve that; Bluetooth is finnicky and wouldn't connect at the distance between my receiver and my office.
And to be fair, I sometimes hate the Bluetooth dongle, which works fine for streaming and longer albums and if I'm sitting still, but powers off annoyingly (even when plugged in) 2 minutes after the signal stops or if I dare to step out of range.
I switched the dining room system over to an old iPhone with 1/8" jack (I'm hoarding those) after looking for a DAC for the iPhone and basically seeing that the onboard is not so bad. Wifi to Amazon Music, done.
The Pi with boot storage and power adapter isn't that far from that cost, plus you had to blow 3 hours of labor.
I think it was a neat exercise but it was also not really the most logical constraint for the task at hand.
Not everybody has to do that, much less wants to, which is perfectly fine! I don’t expect anybody else to do this, unless they want to. But if they do, they now have a resource to follow, one that’ll cost them (next to) nothing, will keep working even if it’s not in a company’s profit interest, and doesn’t involve shipping yet another doohicky over the ocean.
Still, to be pedantic, the Raspberry Pi didn't cost next to nothing ($35+PSU+boot storage) and was shipped over an ocean.
Of course, maybe it'll all stop working in a couple of weeks, at which point I'll break down and buy the doohicky. We'll see!
When the fan went out on the TEAC, I just wired it to a tiny power amp I got off amzn which had bluetooth, and just stream off bluetooth from whatever device I am wanting to use.
I'd ditch the receiver all together (cause I don't really need FM or CDs), but it has a phono preamp for the turntable and I occasionally like to listen to records. It's nie when we can make these things simple.
I could have spent a couple of hundred quid on a decent head unit, and then some more on the interfaces to go down to line level for the amps in the doors and subwoofer, and then some more on interfaces to make the steering wheel controls and CD player work, and then some more to ensure the door amps actually switch on.
Or, PCB the size of my thumb, covered in heatshrink and held against the cassette drive PCB with a dot of hot glue.
But OP wanted something that any guest could connect to over WiFi. OP's setup also offers the advantage of AirPlay which offers true lossless 44.1/16 streaming and other advantages relative to Bluetooth.
(edit - this is incorrect; the Chromecast Audio was apparently updated at some point to support lossless streaming)
Regardless, thanks, and I updated my post!
You can also put multiple chromecast audios in a group in google home and they will perfectly sync audio across multiple rooms like a ghetto Sonos setup!
Handles AirPlay, DNLA, Spotify Connect, Qplay, UPnP
The 1/8" stereo audio out has a fiber optic digital out in it if you want to BYO DAC.
Using the network printer requires Bonjour for Windows. It generally works out of the box on most Linux distros.
But an Airport Express plus an RPi serving as a simple DLNA-to-Airplay bridge might be a way to go
(Thank you for the great article, by the way!)
I'm not sure the first gen 802.11n will work either -- I have a second gen one and no longer have the older ones. Sorry.
Maybe add a modern DSP equalizer for room correction,
too - his receiver has two monitor loops.
Oooh, that's nice. I hate that most modern systems don't include these.DSP correction to compensate for speaker+room issues is just stunning when done well. Turns many cheap speakers into legitimate hifi.
AirPort Express 802.11n 2nd gen running firmware 7.8.1. It's joined to my 5Ghz network using 802.11n.
I have my home wifi configured with both 2.4 and 5Ghz networks and the AirPort Express is aware of both. Not sure if this makes a difference.
Offtopic, but I'm shocked that Windows still doesn't support Bonjour/Zeroconf out-of-the-box.
I guess RFC 6762/6763 aren't enough for them?
My Windows machine knows my home theater receiver is a home theater receiver and knows it's a DLNA and a web server running on it. My Windows machine knows my Brother printer is a printer and scanner and can auto configure the WSD drivers for it. My Windows machine can see my NAS and can know it has fileshares on it to access as well as knowing it has some DLNA functionality.
It does this through zeroconf networking protocols. Different protocols from Bonjour, but it would be incorrect to say it does not have any zeroconf networking support out of the box.
That is probably an AirPort Express: https://en.wikipedia.org/wiki/AirPort_Express
Apple AirPort Express
I agree with you. It's absolutely the biggest bargain secret in the audio world. Glorious dirt cheap dead simple lossless 44.1/16 bit perfect streaming. Install one in every room for the world's easiest multiroom audio solution.They're available dirt cheap and in plentiful supply on eBay.
The only drawback is a lot of apps don't work with Airplay directly on Windows, need a third-party sound driver app or whatever (it's been ages since I looked)
(This is not a justification since you're absolutely right, but I've had a handful of different Pis running for years while sitting on painted metal. In my experience, SD corruption is much more common than shorts.)
Are you doing anything on this setup to prolong the life of your SD card?
For the other Pis I use, I see corrupted SDs roughly once every 18 months. I replaced a couple of repeat offenders with new cards (from a different vendor) a while back and things seem to have stabilized, so my (lay) guess is that some cards are just more finnicky on the Pi than others.
The way I did this before - with excellent results - was to run openwrt on a pi, which is designed well in this respect. There is no continuous logging or other nonsense to corrupt the filesystem when you lose power.
I recently found out raspbian now allows you to do a (read-only) overlay filesystem:
$ sudo raspi-config
4 Performance Options -->
P3 Overlay File System Enable/disable read-only file systemMy problems weren’t due to file system corruption. I think the cards wear out quickly due to writing.
Been doing that forever. It all runs basically 16 hours a day, every day, for decades.
No complaints about it.
^H^H^H^H^for the last 42 years
I set up PulseAudio to run as a system daemon on the raspi so it can receive all audio from my laptop. On the laptop side, I switched to pipewire - it was practically a drop-in replacement, I don't remember having to do much configuration.
I also use Raspotify so the raspi appears as a Spotify Connect device.
The biggest challenge for me was getting uninterrupted audio playback when watching video content on my laptop, as i'm using wifi to connect to the home network. Everything was ok with my cheap TP-Link router running OpenWRT until I decided to upgrade to a Mikrotik hAp ac2. I got a lot of dropouts when using RouterOS on the MT, tried everything I could think of, even submitted a problem report directly to MT, but they decided that my use case was too unique for them to care about it. After upgrading the MT to OpenWRT, everything is in sync and I don't get any dropouts.
As for the volume control problem, I connected a basic IR LED module to the raspi, set up the correct remote in lirc [1] and added buttons to my OpenHAB dashboard for changing the volume, inputs and toggling power.
Like a good HN user I ended up writing my own Subsonic compatible server [0]. It also does things mentioned in this blog post series, like automatically grab cover art and metadata from Musicbrainz/CoverArtArchive, Discogs and last.fm. I haven't officially released it yet since it's missing a few features (most notably transcoding, documentation and support for deleting files) but looks like it might be worthwhile to spend that effort. If you're feeling brave, you can compile it from source or grab the Docker edge image[1].
It looks like I missed evaluating https://github.com/sentriz/gonic though, so I might give that a go as well.
[0] https://github.com/datatrash/beatlocker [1] https://hub.docker.com/r/datatrash/beatlocker-server
Screenshot here[1].
[1]: https://beets.io/
Volumio can do all that HifiberryOS does but is not hardware tied, ie you can use any DAC https://volumio.com/en/get-started/ Volumio has a great web UI. Jellyfin is a great OS server. I use Plex as my music server and the rather wonderful Plexamp app on my phone but it's paid and proprietary, but worth it.
What I ended up doing instead of just running TRS cables along the ethernet cables that were already going to the various rooms I care to spend most of my time in, with some 4x4 audio interfaces that take care of sending the audio to the various speaker sets in those rooms (for rooms with more than one set). Any interface's output can route to any other interface, so if there's more than one thing playing you just press enable that input in the room you're in, and done.
And of course, you can get the same done with some second hand professional audio routing rack units, but (a) those are rather inconveniently sized, and (b) you kinda need to have a hookup for those, or get lucky, whereas audio interfaces are a few clicks away and designed to at least look reasonably decent sat on a bookshelf =)
More expensive? Probably. "Perfectly" synced audio across rooms? Very much so.
Some software and some hardware have built-in delays you can use to adjust as they do in a stadium, but often just getting everything "speed of light" in a house is good enough.
The main thing is that you don't hear a delay when standing in the doorway between rooms.
It's when you're mixing software systems that the fun can begin.
(Also if you can route cables in your walls whole-home audio is way cheaper than you might expect: https://www.monoprice.com/product?p_id=10761 kicks ass)
I believe Google caved on this and doesn’t allow master level control with their devices. And of course they have been counter suing Sonos on other patents as a result.
What is it about the volume controls that are anymore non-obvious than multi-room syncing to begin with?
You want to be able to slide a master level up and down and have the levels maintain the "same" balance, even if one of the players ends up going to (effectively) zero level when you have turned it down. Takes a little bit of thinking about how you represent the range of the levels.
I think the patent is actually quite a bit broader, and covers using a UI that has a master volume control across players whose individual volume levels are displayed as well.
Google pulled all "master" level control in response.
And I mean, in the age of wireless speakers... aren't all digital speakers receiving "file data", whether it's one file at a time or one chunk at a time? What's the difference?
Even if it's just timing data, I don't think I would be able to figure out how to sync up two different devices' times down to that level of precision. A little bit off and you'd build up weird interferences, wouldn't you?
Snapcast - https://mjaggard.github.io/snapcast/
If you'r in the Apple ecosystem and are using AirPlay with your smart speaker(s), it's however possible to also play synchronized audio across to your own DIY speaker setup, using another open source project.
https://github.com/mikebrady/shairport-sync
Or you could of course choose to only use your old dumb speakers with this, and they will pop up as easily selectable sound output devices on all Apple devices connected to your network.
Or combine it (and librespot[2], owntone[3]...) with Snapcast to create a virtual speaker for your whole house that shows up everywhere.
https://help.roonlabs.com/portal/en/kb/articles/linux-instal...
Many Roon users use Raspberry Pi's as audio "bridge" devices for their various audio setups around the house. There's even dedicated RPi distros that offer Roon packages:
https://ropieee.org (semi-open source)
https://dietpi.com (GPL)
You can read more about how Roon handles playback clock sync using its RAAT protocol here:
https://community.roonlabs.com/t/raat-and-clock-ownership/69...
Disclaimer: I work at Roon Labs LLC.
I was really hopeful for a competitor to Sonos too. Ah well, back to hoping Google ever brings back Chromecast audio.
For real fun, you can get into 70 volt speakers, which many people don't even know exist: https://www.parts-express.com/70-volt-systems-beginners
They generally have bluetooth, which I don’t see as adding the same type of complexity as airplay as there’s no network or configurable software component. I did research to find one with high quality components and a good Qualcomm bluetooth chipset.
I do have airplay available because it’s usually connected to my desktop PC with an airplay server running, but if my main use case was a standalone setup like the author’s, I think his solution of using a raspberry Pi is a better long-term solution than buying a similar amplifier which includes airplay. Then the amplifier has a good chance of being useful for decades.
Also, you mentioned that volume control is a next step. For me, that feels like a pretty fundamental thing. Isn't that built-in to the Spotify, AirPlay protocols, and DNLA protocols?
You'd be much better off with a USB DAC. For example, the Topping D10s or the JDS Atom DAC+ are both about $100 and you're unlikely to be able to tell the difference between them and literally any other DAC available at a higher price.
The part about volume control was a little ambiguous: I can absolutely control the volume via the "soft" controls in AirPlay, DLNA, or my desktop's own soft mixer. What I meant was the "main" volume control on the receiver itself, which is motorized and controllable via an IR remote.
It's kind of a non-issue since I can just set the receiver's volume sufficiently high and then moderate using the "soft" controls, but I thought it'd be fun to try and automate the main control as well.
I assumed it would be a checkbox or two, but I couldn't mix the input jack into the output without doing it in software, and PulseAudio would drop samples at lower latencies. I admit I didn't troubleshoot this very long though.
MPD, Bluetooth and an AUX input was all I wanted, and I could make it work for scenarios that didn't need the low latency part.
I ended up going with two Sonos Amps (one requirement for me was everything be wired) to play music in 2 zones. I searched a bit and didn’t come across anything like this.
Nonetheless, it seems worthwhile enough that I might tinker with it.
Given that I have a pair of reasonably nice speakers but a lack of convenient wiring opportunities, I had thought to come up with something like an RPi based amplifier connected to each, with WiFi linking the two to form a stereo pair.
I.e. I have two speakers. Putting both of them near mains electricity is easy. Having wires connecting both to the same amp is a PITA. What cover thing could I do?
They do. So do HomePods, other mass brands. Not my cup of tea, but people seem to love them when they work.
I wish someone would spend time making the above easy, jack has some neat abilities that are lacking in all the whole house systems i've seen. Or maybe I just want to do weird things?
You can even redirect your laptop/system audio into it with a click in the sound menu