Initial Challenges

The initial challenges I faced when working on multi-zone audio controls.

Ever since my parents moved into the house they had been working so hard on, I’ve been trying to cook up a way for them to play music throughout their new home. They had the foresight to wire their house up for speakers. And I was able to acquire a multi-zone amplifier sufficient for driving 8 stereo rigs. The hardware is there. But the control is lacking.

My initial attempt was to find a way to export audio from a computer. But this proved insufficient. There was no problem getting an audio feed. The issue is control. What if I want to de-activate or mute specific speakers? What if I need to adjust volume for specific speakers? What if I want to output different audio to different rooms? With a single computer, this has proven extremely difficult.

As it turns out, most computer operating systems lack support for outputting multiple audio signals. The amplifier being used requires analog signals as well, so there is no way to divide or independently control the audio for each set of speakers. And perhaps more crucially, I want a convenient way to control all of this, and to be able to do it remotely, without the need to fiddle with physical knobs or buttons on the hardware itself.

The closest I was able to come was with a Mac Mini. Apple’s OSX operating system is one of the few I was able to find that has support for “virtual” multi-audio output devices. It allowed me to use a series of USB audio dongles to output audio to each of the speakers independently. Unfortunately, the stability of this approach was highly suspect. The interface OSX uses for these controls is clearly not a development priority, and was highly finicky. There was also no fine control over volume, all volume would be controlled universally across all devices. And the only way to change which speakers were active was to dig into the Mac settings menu, very user-unfriendly. Combine this with the aging nature of the Mac Mini, and the instability of iTunes for audio playback, and it was simply not a sustainable solution.

A more robust, and customized approach would be necessary…

New Adventures In Development

Well, it has come around again. After quite a bit of inactivity, I have again found it necessary to update my personal website. This is a regular conundrum that most web developers face. When web work is your job, it is often hard to find the time or enthusiasm to work on your own site during your free time. This is especially true if you aren’t earning any money from your personal site, and have mainly just used it as a glorified business card. Under those circumstances, you usually just look at it again when you are between jobs, and need to update your resume and technical skills.

But as a developer, it is also important for me to push myself, and constantly bolster my repertoire of web-related expertise. After relying on an old, custom-made CMS for years, I have finally decided to update to WordPress. While I was proud of my custom work, it was a bit out of date, and considerably more difficult to maintain. And WordPress’s flexibility has improved significantly over time. I look forward to experimenting with it, and really seeing what I can squeeze out of its basic functionality.

For now, I will begin work on a few minor graphical assets. (favicon, a decent logo, etc…) After that, I will begin work on a fully customized WordPress template to wrap my updated website in. I’m thinking of employing Bootstrap for the scale-able layout. I’ve accrued quite a bit of experience using that library in my daily efforts. I’m confident that I can cook up a template that will look respectable on all manner of devices and screen resolutions.