At a glance Main Projects Tutorials Resume



A Methodology For Surround Sound Support in Kiosk Applications

Thur, 30 Oct 2014 14:07:39 EST

Every now and then a project comes along that requires special manipulation of sound. On a recent project I had to deploy a three screen, three station user experience. In order to keep the costs down and programming streamlined, I specified the experience run on one computer. The trick here was that we needed to create the illusion of three individual stations.

To turn one computer into three stations, I needed to create the illusion that each individual station had it's own sound effects and ambiance. In hardware, this entails using a 5.1 surround sound card to output to six individual channels. So for this experience we used the following configuration:


Front Left, Front Right – Station 1
Center, Sub – Station 2
Rear Left, Rear Right – Station 3

By placing six stereo pairs of speakers across the three stations, we can create the illusion of three individual stations by directing our sound effects to the appropriate speakers.

Programming this solution turned out to be way more difficult than anticipated. The kiosk software itself was built in Adobe AIR. AIR does not support more than stereo.

I turned to another favorite language, C# for help and came across the Naudio project. Although Naudio supports re-mapping the output of sound channels, (which is what I needed to do; direct my sound effects to specific speakers only) it does not support surround setups very well. I was unable to use naudio.

The final solution I ended up using was a windows presentation foundation console application that implemented a simple TCP socket server. This application uses at its core, the Windows Presentation Foundation MediaElement. MediaElement can play 5.1 or 7.1 specially crafted wav files.

In the end instead of directing stereo sound effects to different channels, I created individual 5.1 wav files using audacity for each sound effect in each set of speakers. This has proved to be a reliable way to utilize surround sound in kiosk applications written in any programming language that supports TCP socket connections.

Charles Palen has been involved in the technology sector for several years. He works as a senior interactive developer at Transcending Digital where he can be hired for your next contract project. Charles expertise covers the areas of transformative interfaces, touchscreen programming, creation of original devices, and much more. Charles created Technogumbo as a way to share lessons learned while making original products.

Comments

No one has posted any comments yet, be the first
Name:

Message:

Avatar:
bomb avatarmusic player avataremail avataremail avatarnerdy tux avatargimp avatarred hat avatarred time avatarmysterious man avatartan smiley avatartan smiley avatardevil smiley avatarpipe guy avatar



Techno Gumbo RSS Feed

Related Links