“Working with Qualcomm Technologies has opened doors to big companies in this space whose attention we wouldn’t normally get. As a result of the Uplinq conference alone we’ve become engaged with over a dozen companies that can see the value of having MAX•D audio technology in their devices.”
- John Blaisure, CEO, Max Sound Corporation
- Improves audio streams on device through Hexagon™ DSP customization
- Significantly reduces cost of automotive audio upgrades
- Educates consumers on branding of audio and processor technology
Max Sound makes MAX•D, an audio process that improves sound quality in music, movies and games without increasing file size. From a relatively small 128kbps MP3, MAX•D can reproduce the dynamic range and harmonic content of CD-quality audio by analyzing and resynthesizing the bits discarded during compression.
Looking for real-time applications of this audio processing, Max Sound has ported the MAX•D algorithm to the Hexagon™ DSP, and several business and technical opportunities have arisen from its engagement with Qualcomm Technologies Inc.Low-level integration a must
Early on, Max Sound proved to engineers at a mobile device manufacturer that MAX•D could improve quality on cellular voice calls. The easy approach would be an app-level player that ran audio streams through MAX•D’s algorithms, but the biggest performance and quality gains would require integration deeper in the device. To help get MAX•D as close to the audio hardware as it needed to be, the manufacturer introduced Max Sound to its contacts on the Hexagon DSP team at Qualcomm.
“At first, Qualcomm Technologies told us that some established names were already licensed to provide audio processing on Snapdragon,” says John Blaisure, CEO of Max Sound. “But nobody was yet licensed to improve the cellular voice call, and they suggested we start there. Considering how much of the mobile device ecosystem we could cover by developing for Snapdragon™ and Hexagon, this was an opportunity well worth pursuing.”
Max Sound engineers determined that the best place to integrate MAX•D would be in the post-processing modules in Snapdragon, through which all open Android audio streams pass. They obtained the Hexagon SDK and began the work of porting their libraries to the DSP.Dynamic loading “comes close to developing a plugin”
DSP customization was new territory for Max Sound engineers.
“I had attended Qualcomm Technologies’ workshops on developing for Hexagon,” says Engineer Bjoern Erlach, “and saw them demonstrate how to get a small bit of audio processing code onto the DSP. That was helpful because I had no idea how to do it. I had worked with BeagleBoard, Arduino and different embedded systems, but not with heterogeneous computing like this.”
MAX•D differs from other technologies in that it not only processes all audio on the device, but also lets the user modify parameters while the audio streams are open and running. This real-time manipulation of parameters is more complex than simply opening an audio stream and choosing a profile at startup. To accommodate their model, Max Sound has taken advantage of three particular features of the Hexagon architecture:
- Dynamic loading – DSP customization often involves making Android system changes, building all components of Android and the Elite Framework on the development computer, then flashing the device. Developing for Hexagon, Max Sound still makes a few changes to Android, but Hexagon’s dynamic loading enables them to compile a module of the MAX•D code that they can simply copy to the device for testing and eventually for production. This saves large chunks of compile time and is a more elegant way to develop.
- Audio Post-Processing Interface (APPI) – Using APPI, Max Sound built a wrapper around its MAX•D algorithm, making a common object post-processing (COPP) module that runs at the device level.
- amdb_mgr – This Android migration app puts the code in the dynamic modules into the topology on Hexagon and starts running it.
“With dynamic loading, the Hexagon SDK comes much closer to things I’ve done before,” says Erlach. “Instead of building new functionality into a complex software system, customizing for Hexagon comes very close to taking generic code and developing a DSP plugin. Once you know how that is done, you can take working code and adapt it easily.”
Running their first working proof of concept on the Snapdragon S4 Plus MSM8960 Mobile Development Platform/Smartphone (MDP/S), Max Sound found that the sound quality and performance were just what they wanted. They continued with plans to test on the newer Snapdragon 800 MDP/Tablet.Licensing possibilities, automobiles and new relationships
Having taken the challenge, Max Sound’s Blaisure returned to Qualcomm Technologies and demonstrated MAX•D in cellular voice calls on Hexagon. Qualcomm Technologies was impressed by the audio experience not only in voice, but also in music and movies on mobile devices.
MAX•D is not limited to mobile devices; it can run anywhere there is a processor and RAM. “Think about audio in an automobile,” notes Lloyd Trammell, CTO of Max Sound. “In a luxury car, it can cost thousands of dollars to upgrade the audio in the dashboard head unit and speakers. For a manufacturer whose audio runs on Snapdragon, we’ve taken something that is usually an expensive hardware upgrade and turned it into a simple software upgrade in the hundreds of dollars range.”
“At Uplinq this year, we demonstrated that MAX•D makes a clearly audible difference,” says Blaisure. We also showed Qualcomm Technologies’ OEM customers that it’s possible to brand the technology, chip and company behind that difference and, even more important, measure consumer response to that difference. We’ve proved to the industry that we can educate consumers about audio on the device and create a consumer buying decision around it.”Your Turn
Ready to evaluate your own computing tasks for porting to the Hexagon DSP?
- Look through our Multimedia Optimization (Hexagon SDK) Tools and Resources.
- See slides and video from our Uplinq panel on what’s inside the Hexagon SDK.
- Download the Hexagon SDK.