Audio-signal processing without code headaches
Graphical approaches to processing audio information lets designers concentrate on how their products sound rather than on DSP and programming chores.
It seems few people lack an audio device, which can include an MP3 player and small sound bar up to a custom HiFi sound system in a home theatre. Unknown to the consumers, though, engineers have spent considerable time and energy to ensure the audio information sounds just right.
To learn more about how engineers can approach audio-processing designs I spoke with people at three companies, Quick Filter Technologies, Texas Instruments, and Analog Devices. These companies have integrated circuits and software tools that give equipment designers many ways to create audio-processing subsystems.
"We work with many companies in Asia that want simple ways to process audio information for equipment that will drive 1- to 3-inch speakers," said Tony Valentino, the company's chief operating officer. "Engineers at these companies might use a DSP chip, but instead of writing code they license algorithms. That approach locks them into the way the licensing vendor thinks the audio should sound and and a product manufacturer can't differentiate its product from a competitor's."
Quick Filter has created the QF3DFX Profound Sound Audio Signal Processor designed specifically to process audio information--two I2S or as many as eight time-division-multiplexed (TDM) channels. The QF3DFX chip sums and scales the audio data and creates three internal audio channels. These channels experience DC blocking and automatic gain control (AGC). Then one of these three channels, called subwoofer/center, goes through a series of filters for band limiting and parametric equalization. The other channels pass through psychoacoustic-effects blocks that provide high frequency restoration, virtual bass, and spatialization. The chip produces I2C or TDM outputs.
"Our QFPro Design Software makes it easy for designers to tune the function blocks within the QF3DFX chip without creating any code," emphasized Valentino. "As soon as designers change the audio characteristics of a block, they can hear the results from one of our development boards. The changes take effect in real time. There's no code to tweak, recompile, and test. So an audio engineer rather than a programmer controls the sound characteristics."
After the designers have a configuration they like, they can download the chip-configuration settings into an EEPROM in Intel hex format or put them in an MCU that controls the Quick Filter chip. The QF3DFX chip has an automatic boot-loader that will load configuration information and settings on power up. Designers often call this external memory a system-information-block (SIB) EEPROM. The QFPro software also will create the .c and the .h files programmers can include in their MCU code and then compile. On power-up the MCU loads the configuration data into the chip through an SPI or I2C interface.
According to Valentino, the QF3DFX chip offers designers three key attributes: First, small-speaker systems typically lack good bass response, so it gets washed out and people don't hear it. The chip's Virtual Bass lets the equipment designer add bass to the primary audio channels to give small-speaker systems good bass response.
"Second, we have spatialization or virtual surround sound," said Valentino. "Small-speaker systems concentrate sound near the speakers. We use a psychoacoustic block to enhance the sense of stereo separation in an audio signal. So the chip 'widens' and ‘deepens’ the sound to provide better sound staging and imaging."
"Third, when you decrease volume, bass and virtual surround sound can get washed out and disappear," continued Valentino. "The QF3DFX chip has dynamic blocks that help enhance the bass and treble as well as the spatialization, regardless of the volume. So you maintain these effects even as the volume changes."
During our conversation, Valentino noted two areas in which equipment designers and audio experts might need a bit of assistance. The QF3DFX chip includes several gain blocks, so to prevent clipping of the audio signals engineers must use care when they adjust the gains. "The virtual surround sound requires a delicate adjustment," said Valentino. "Engineers can get a good adjustment to start with, but they might need some help from us to fine tuning it."
At Texas Instruments, audio products range from mixed-signal devices such as audio codecs and analog-to-digital converters to single-core DSP chips. So the company can help engineers with portable battery-powered audio devices as well as with amplifiers for 100-watt speakers. "Some mixed-signal products include audio-processing functions. The TLV320AIC3212 portable audio codec, for example, includes DACs, ADCs, speaker and headphone amplifiers, 3D stereo enhancements, 5-band equalizers, and volume controls," said Mark Toth, business development manager for audio and imaging products at TI. "And we have an ‘AIC3212 development board and graphical user interface software for it."
In the DSP-chip area, TI has two families, TMS320C5000 and TMS320C6000, well suited for audio-processing applications. "The C6000 DSP family has a very-long-instruction-word (VLIW) processor, and we have a well-stocked library of voice and audio functions for audio-video receivers, for example" noted Stephen Lau, engineering software manager for single-core DSPs. "Our 16-bit C5000 processors easily handle voice and audio applications in products that rely on battery power or connect to power through a USB port."
"Customers want TI to give them a complete solution for their product, as well as complete algorithm blocks for things such as MP3 or G.711 audio compression," continued Lau. "So we offer 'hardened' audio-processing software modules designers can use immediately. In one of our audio examples, we use a USB-audio class for streaming audio data, which doesn't require any special USB drivers. Then designers have complete software for audio processing, along with a section in which they can include their own processing code, if they want to. Our code is production ready."
TI aims to get audio engineers off to a quick start with a kit such as the Audio Capacitive Touch BoosterPack (430BOOST-C55AUDIO1), a plug-in board for the MSP430 LaunchPad dev kit (MSP-EXP430G2). The audio board provides capacitive-touch control for an MP3 player/recorder implemented in a C5000 DSP chip. "We provide a simple interface that uses a UART to control the C5000," explained Lau. "If designers or programmers choose, they can experiment with the MSP430 MCU code, which can control the C5000 DSP code."
"We have an evaluation board for almost every audio mixed-signal device," said Toth. "A USB cable provides power and a GUI on their PC lets they quickly exercise the device. For advanced audio products such as TLV320AIC3262 or TLV320AIC3254 that have programmable-processing capabilities, PurePath Studio software lets designers drag-and-drop processing blocks into a signal-flow work area. Those blocks include, among others, dual-microphone noise cancellation, multiband dynamic-range compression, and a variety of IIR and FIR filters. There's no code to write."
In almost all cases, the designer wants to do some fine tuning specific to their microphones, headphones, and speakers. "PurePath Studio has a block for audio filtering, so designers don't have to create a filter algorithm and calculate the filter coefficients," explained Toth. "PurePath Studio does it for them. They take the filter transfer function and graph the inflection points of the filter's transfer function to create the response they want. Or they might need a filter to notch out a resonance in a speaker cabinet, for instance, so they just add a null point on the filter graph and the resonance drops out."
After engineers adjust filter and other settings, PurePath Studio creates register settings and loads them into an attached dev board. Then engineers can immediately hear how their changes affect the sound. Or they can use an audio analyzer to monitor the audio outputs.
Some engineers who use DSP chips take TI's algorithms and import them into their own C or C++ projects. "We make the algorithms and code available as part of our eXpress DSP Algorithm Interoperability Standard (XDAIS) and XDAIS Digital Media (XDM) standards so programmers can use them as they see fit," said Lau. "Say someone needs to create a 3-channel MP3 device. We created a codec for one channel, and they can take that and instantiate it three times in their code for three channels."
A large audio challenge for designers centers on conveying the recording-studio experience to consumers. Today, many of the professional-audio techniques have trickled down into consumer electronics because of advances in integrated circuit design and digital signal processing. To help engineers surmount audio-processing challenges, Analog Devices offers three product families; SigmaDSP (primarily for audio use), Blackfin (multi-format audio, video, voice and image processing), and SHARC (high end, floating point, multichannel operations). The company provides SigmaStudio, a tool for the SigmaDSP devices and VisualDSP++ and other tools for the Blackfin and SHARC processors.
When I spoke with Greg Geerling, North America audio specialist for Analog Devices, he concentrated on the SigmaDSP and the SigmaStudio software. "SigmaStudio won't turn someone who doesn't know anything about audio into an audio-system designer," said Geerling. "But someone who knows a bit about basic audio functions can create an audio-processor signal path without programming a DSP chip or another embedded device. Thus they can run a lot of what-if trials and experiments in little to no time." Analog Devices provides SigmaStudio software at no cost. When you order an evaluation board, you get a "key" that lets you download the latest versions. If you do not have a board, contact Analog Devices by email to request a key. Visit: https://form.analog.com/Form_Pages/sigmastudio/SSDownLoad.aspx.
Audio functions such as multi-channel, multi-band parametric equalizers require a lot of work to create, but product designers don’t want to get snared in software and code tweaks. "They just want a 'module' to take the input signal and create a multichannel equalized output," said Geerling. "SigmaStudio software lets designers drag and drop those blocks onto a work area and then connect them to create a design. When they start, they select a device that SigmaStudio can configure, and then SigmaStudio provides the function blocks appropriate for that chip." As engineers create a design flow, they can immediately test it in a development board and hear the results of the production-ready code.
"You can easily work with things such as slewing-volume controls, a second-order filter bank, or an audio compressor," explained Geerling. "The compressor graph quickly shows the compression characteristics for the audio. Instead of having to program this compression behavior, you drag points on the curve, add points, or delete points to get the performance you need. It would be difficult to implement this type of response in code or in discrete analog components." And you can turn compressors, filters, and other blocks on or off almost instantly to compare audio outputs. There's no need to "remove" the filter from the design or bypass it, you just click on the filter's on-off button in the work area.
The audio blocks also handle inputs from someone who uses a product. They can use a knob or pushbuttons and have the processor control characteristics such as how fast volume slews so the consumer gets a nice "click-free" audio output. Analog Devices has created many of its own audio blocks for functions such as adaptive beam forming for microphone arrays, reverb, wind-noise suppression, and voice-activity detection.
When designers want to work with their own prototype circuits, they can use SigmaStudio to have their target SigmaDSP chip get signals from external controls through a variety of I/O blocks. "We have general-purpose I/O signals you can map to a pin and then implement an up-down volume control with a pair of pushbuttons. That's all it takes to create a pushbutton volume control," said Geerling. "You connect your pushbuttons and then set SigmaStudio parameters for how you want them to work--how many steps, push-and-repeat action, press and hold, wait time before the volume level starts to automatically increment, and so on. You also can easily debounce pushbuttons, cause a button to have a toggle action, control a filter with a button, and so on. I emphasize that none of these operations require an audio designer to write any code."
For further reading
PurePath Studio: http://www.ti.com/tool/aicpurepath_studio .
C5000 information: http://www.ti.com/lsds/ti/dsp/platform/c5000/overview.page .
C6000 information: http://www.ti.com/lsds/ti/dsp/platform/c6000-high-performance/overview.page .
QF3DFX-DK Profound Sound Programmable Signal Converter Development Kit: http://www.quickfiltertech.com/html/content_page.php?content_id=90& .
QF3DFX data sheet: http://www.quickfiltertech.com/files/QF3DFX%20Datasheet.pdf .
SigmaDSP processors: http://www.analog.com/en/processors-dsp/sigmadsp/products/index.html .
SigmaStudio: http://www.analog.com/en/content/CU_over_SigmaStudio_graphical_dev_tool_overview/fca.html .