2 Tools + Services = Value Our Vision and MissionOur VisionAccelerating the development of embedded audio products and technologyOur MissionWe assist our customers in developing innovative audio products customized to their requirements, through consulting services coupled with state-of-the-art proprietary design tools.Tools + Services = Value
3 About DSP Concepts Founded in 2003 as an engineering services company Specializes in embedded audio development and toolsCurrently employ 12 engineers (9 full-time, 3 part-time)7 in US / 5 in IndiaCore competenciesDigital signal processingAudio algorithmsEmbedded softwarePC software, USB, and device driversHands on experience with most industry standard algorithmsDecoders: Dolby Digital, DTS, Dolby True-HD, DTS-HD, MP3, WMA, and AAC.Post-processing: DPLIIx, eMix, Neo:6, DHP, DVS, NSD, etc.
4 Audio Development Tools Why are tools needed?Developing audio algorithms requires many skills: audio, signal processing, embedded software, and Windows UI. Typically requires a team of engineers.Audio engineers spend 20% of the time concentrating on the algorithms and 80% of the time dealing with “plumbing”What about Simulink or LabView?Extremely flexible toolsLarge code generation overheadNo library of standard audio processing functionsWhat about VisualAudio?Many key features – hierarchy and multirate – are missingTradeoffs were made between efficiency, flexibility, and ease-of-use which don’t match the requirements of many customers.A flexible and efficient audio development tool for embedded applications is still needed!
5 Introducing Audio Weaver Developed by DSP Concepts and used internally to support customers for 24 months.Publicly released in Spring ‘08.Two versions availableAudio Weaver Designer - Free download allows system development on the PC and selected hardware targets.Audio Weaver Developer - Full version required to develop end productsInitial target marketsAutomotive audioSpeaker manufacturersAudio IP developers
6 Key Features Cross platform approach speeds development Prototype on the PCSeamlessly switch to your evaluation hardware and then to your target hardwareSupports SHARC and Blackfin processors from Analog DevicesGenerates efficient codeLinks together a sequence of hand optimized processing functionsCan be included in commercial products without further MIPs or memory optimizationFull hierarchical designDesign systems using MATLAB scriptsReal-time tuning using GUIs or MATLAB scriptsDynamic or static memory allocationIncludes a large library of optimized audio processing modulesFull regression testing capabilitiesBuilt-in MIPs and memory profilingDecoder support as modules
7 Cross Platform Support Speeds Development Native PCEvaluation HWTarget HWAudio Module DevelopmentAudio System DesignTuningTarget hardwareintegrationModule OptimizationTesting
8 Initial Target Markets Audio IP DevelopersFull-featured algorithm development environmentSupports multiple embedded processorsConvenient mechanism to demonstrate and safely deliver algorithms to customersAutomotive AmplifiersMatches the work flow used by product developers: Create Platform Design audio processing In-car TuningHigh End Speaker ManufacturersTurn key solution provides both hardware and softwareNo need to develop their own software
12 Audio Weaver ServerPC application that manages the tuning interface to the target processorIncludes native real-time audio supportDraws user interfacesManages flash memory on the targetTranslates symbolic names to physical addresses on the targetMATLAB interfaces to the Server via a MEX DLL
13 Built Upon MATLABMATLAB is the standard environment for algorithm development.Allows you to leverage MATLAB’s huge library of signal processing design functions.Provides a full scripting language for system design, parameter setting, tuning, and general automation.Scripts lead to consistent and repeatable results.
14 Example MATLAB Script (Creates a 10 Band Graphic Equalizer) SYS=target_system('Graphic EQ Example');add_pin(SYS,'input', 'in', '', new_pin_type(2, 64));add_pin(SYS,'output', 'out', '', new_pin_type(2, 64));add_module(SYS, graphic_eq_subsystem('geq', 10));connect(SYS, '', 'geq');connect(SYS, 'geq', '');build(SYS);draw(SYS);test_start_audio;
15 Audio Weaver ScriptWhen an Audio Weaver system is built, a set of text commands – called “Audio Weaver Script” - is sent to the Server from MATLAB.Script commands provide:Module creationParameter settingStarting and stopping of real-time audio processingDrawing of inspectors
16 Flexible Deployment Models Development Using MATLABPC Script ExecutionFinal product using dynamic memory allocationFinal product using static memory allocation
17 Development Using MATLAB Large library of audio modules is compiled into the executableCommands are sent from the PC to the target to instantiate and configure audio processingNo need to constantly rebuild the executableOnly required when changing the library of audio modulesFaster development cycleAlso reduces the number of development system licenses required
18 PC Script Execution (Without MATLAB) MATLAB is used to generate Audio Weaver Script filesScript files are then processed by the ServerSystems are dynamically instantiated and user interfaces drawnParameter settings can be stored to flash memoryUsed for turnkey audio processing solutions
19 Final Product (Using Dynamic Allocation) Audio Weaver commands are stored in the flash file system.Commands are executed when the DSP boots.PC is optional and can connect for tuning or to change the audio processing design.No need to rebuild the executable.
20 Final Product (Using Static Memory Allocation) Required in memory constrained applicationsMATLAB generates C code forInitializing audio module data structuresSequentially calling processing functionsExecutable must be rebuilt whenever there is a change to the processingServer connects for tuningSome features are no longer availableDynamic instantiationMemory profiling
21 Hierarchy “Subsystem” = Modules + I/O Pins + Connections Arbitrary nesting of subsystems.Hierarchy extends to both the processing and the control functions.Two different types of hierarchy“Virtual Hierarchy”“True Hierarchy”
22 Extensive Audio Module Library BasicScalersMixersAddersRoutersDelaysBasic delaysN-tap delaysDynamicCompressorsLimitersAutomatic Gain ControlsClippingFiltersSecond order filter designer with over 20 filter typesButterworth and Linkwitz Riley crossovers5 coefficient Biquad filters32-bit and 40-bit processingFIR filtersSpatialBalance and fader controlsAllpass filtersMiscTable lookupMetersAnd many others!
23 Subsystems Provide Additional Audio Functions Crossover filtersArbitrary number of output bandsButterworth and Linkwitz Riley designsHilbert network (90 degree phase shift)Graphic equalizerAutomatic gain controlDynamics processors
24 Native PC Target No additional HW required! Supports multichannel USB and Firewire devicesMany vendors to choose from: Motu, Yamaha, M-Audio, etc.Audio input can also be taken from a sound file. WAV, MP3, and WMA, formats supported.Full audio module library support.
25 Danville SHARC Targets Danville Audio Weaver Demo Board266 MHz SHARC 213712 Analog 4 AnalogS/PDIF S/PDIF48 kHz sample rate with analogUp to 192 kHz with S/PDIFUSB tuning interfaceExternal SDRAM and SPI flashDanville Crossover Board266 MHz 32-bit floating-point SHARC processor2 Analog In 4 Analog OutBalanced or unbalanced inputs dB SNR.48 to 192 kHz sampling rateEight GP I/O including SPI, UART, I2C options.
26 Analog Devices 21369 EZ-KIT 400 MHz SHARC 21369 2 Analog 8 Analog 48 kHz sample rateRS-232 tuning interfaceExternal SDRAM and Parallel flash
27 Analog Devices Blackfin EZ-KITs BF533 EZ-KIT600 MHz Blackfin BF5334 Analog 6 Analog48 kHz sample rateHigh speed USB tuning interfaceExternal SDRAM and Parallel flashBF537 EZ-KIT600 MHz Blackfin BF5372 Analog 2 AnalogRS-232 tuning interface
28 Audio Weaver Versions Audio Weaver Designer - Free Can be downloaded fromCreate and tune audio systems on the PC or supported SHARC or Blackfin target hardwareCreate custom audio modules on the PC. Create user interfacesRequires VisualStudio and MATLABAudio Weaver Developer - $8,000Create custom audio modules for an embedded processorCreate custom hardware targetsRequires VisualDSP++ and an emulatorIncludes 20 hours of customer support or trainingAudio Weaver Production LicenseLeverage Audio Weaver optimized libraries in your end product.Reduce your time to market by reusing our existing code base.Licenses are based upon unit volumes.Contact DSP Concepts for more information.
29 DSP Concepts Consulting Services Audio module development.Assembly optimization.Algorithm porting starting from reference code.Floating-point to fixed-point conversion.Real-time platform developmentSystem design and architecture reviewCustom hardware supportCustom tuning interfacesAudio system design and integrationDevelop overall signal chainReal-time tuning to optimize sound qualityAudio Weaver training.