Audio Weaver DSP Concepts, LLC Our Vision and Mission Our Vision Accelerating the development of embedded audio products and technology Our Mission We assist our customers in developing innovative audio products customized to their requirements, through consulting services coupled with state-of-the-art proprietary design tools. 2 Copyright 2008 DSP Concepts, LLC Tools + Services = Value About DSP Concepts 3 Founded in 2003 as an engineering services company Specializes in embedded audio development and tools Currently employ 12 engineers (9 full-time, 3 part-time) 7 in US / 5 in India Core competencies Digital signal processing Audio algorithms Embedded software PC software, USB, and device drivers Hands on experience with most industry standard algorithms Decoders: Dolby Digital, DTS, Dolby True-HD, DTS-HD, MP3, WMA, and AAC. Post-processing: DPLIIx, eMix, Neo:6, DHP, DVS, NSD, etc. Copyright 2008 DSP Concepts, LLC Audio Development Tools Why are tools needed? What about Simulink or LabView? 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” Extremely flexible tools Large code generation overhead No library of standard audio processing functions What about VisualAudio? Many key features – hierarchy and multirate – are missing Tradeoffs 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! 4 Copyright 2008 DSP Concepts, LLC Introducing Audio Weaver Developed by DSP Concepts and used internally to support customers for 24 months. Publicly released in Spring ‘08. Two versions available Initial target markets 5 Audio Weaver Designer - Free download allows system development on the PC and selected hardware targets. Audio Weaver Developer - Full version required to develop end products Automotive audio Speaker manufacturers Audio IP developers Copyright 2008 DSP Concepts, LLC Key Features Cross platform approach speeds development Supports SHARC and Blackfin processors from Analog Devices Generates efficient code 6 Prototype on the PC Seamlessly switch to your evaluation hardware and then to your target hardware Links together a sequence of hand optimized processing functions Can be included in commercial products without further MIPs or memory optimization Full hierarchical design Design systems using MATLAB scripts Real-time tuning using GUIs or MATLAB scripts Dynamic or static memory allocation Includes a large library of optimized audio processing modules Full regression testing capabilities Built-in MIPs and memory profiling Decoder support as modules Copyright 2008 DSP Concepts, LLC Cross Platform Support Speeds Development Native PC Evaluation HW Audio Module Development Audio System Design Tuning Target hardware integration Module Optimization Testing 7 Copyright 2008 DSP Concepts, LLC Target HW Initial Target Markets Audio IP Developers Automotive Amplifiers Matches the work flow used by product developers: Create Platform Design audio processing In-car Tuning High End Speaker Manufacturers 8 Full-featured algorithm development environment Supports multiple embedded processors Convenient mechanism to demonstrate and safely deliver algorithms to customers Turn key solution provides both hardware and software No need to develop their own software Copyright 2008 DSP Concepts, LLC Audio Weaver Demonstration Demo Hardware 10 Audio Weaver Demo Board BF533 EZ-KIT Copyright 2008 DSP Concepts, LLC High-Level Architecture GUIs GUIs GUIs MATLAB Audio Weaver Script Audio Weaver Server Application Audio Weaver Script File 11 Tuning Interface Target Processor Flash file system Copyright 2008 DSP Concepts, LLC Audio Weaver Server 12 PC application that manages the tuning interface to the target processor Includes native real-time audio support Draws user interfaces Manages flash memory on the target Translates symbolic names to physical addresses on the target MATLAB interfaces to the Server via a MEX DLL Copyright 2008 DSP Concepts, LLC Built Upon MATLAB 13 MATLAB 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. Copyright 2008 DSP Concepts, LLC 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; 14 Copyright 2008 DSP Concepts, LLC Audio Weaver Script When 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: 15 Module creation Parameter setting Starting and stopping of real-time audio processing Drawing of inspectors Copyright 2008 DSP Concepts, LLC Flexible Deployment Models Development Using MATLAB PC Script Execution Final product using dynamic memory allocation Final product using static memory allocation 16 Copyright 2008 DSP Concepts, LLC Development Using MATLAB Large library of audio modules is compiled into the executable Commands are sent from the PC to the target to instantiate and configure audio processing No need to constantly rebuild the executable 17 Only required when changing the library of audio modules Faster development cycle Also reduces the number of development system licenses required GUIs GUIs GUIs MATLAB Audio Weaver Script Audio Weaver Script File Copyright 2008 DSP Concepts, LLC Audio Weaver Server Application Tuning Interface Target Processor Flash file system PC Script Execution (Without MATLAB) 18 MATLAB is used to generate Audio Weaver Script files Script files are then processed by the Server Systems are dynamically instantiated and user interfaces drawn Parameter settings can be stored to flash memory Used for turnkey audio processing solutions GUIs GUIs GUIs Audio Weaver Server Application Audio Weaver Script File Copyright 2008 DSP Concepts, LLC Tuning Interface Target Processor Flash file system Final Product (Using Dynamic Allocation) 19 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. GUIs GUIs GUIs Audio Weaver Server Application Audio Weaver Script File Copyright 2008 DSP Concepts, LLC Tuning Interface Target Processor Flash file system Final Product (Using Static Memory Allocation) Required in memory constrained applications MATLAB generates C code for 20 Initializing audio module data structures Sequentially calling processing functions Executable must be rebuilt whenever there is a change to the processing Server connects for tuning Some features are no longer available Statically Generated .c and .h files MATLAB Tuning Commands Audio Weaver Server Application GUIs GUIs GUIs Dynamic instantiation Memory profiling Copyright 2008 DSP Concepts, LLC VisualDSP++ Tuning Interface Target Processor 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 21 “Virtual Hierarchy” “True Hierarchy” Copyright 2008 DSP Concepts, LLC Extensive Audio Module Library Basic Scalers Mixers Adders Routers Basic delays N-tap delays Dynamic Compressors Limiters Automatic Gain Controls Clipping Second order filter designer with over 20 filter types Butterworth and Linkwitz Riley crossovers 5 coefficient Biquad filters 32-bit and 40-bit processing FIR filters Spatial Balance and fader controls Allpass filters Misc 22 Filters Delays Table lookup Meters And many others! Copyright 2008 DSP Concepts, LLC Subsystems Provide Additional Audio Functions Crossover filters 23 Arbitrary number of output bands Butterworth and Linkwitz Riley designs Hilbert network (90 degree phase shift) Graphic equalizer Automatic gain control Dynamics processors Copyright 2008 DSP Concepts, LLC Native PC Target 24 No additional HW required! Supports multichannel USB and Firewire devices Many vendors to choose from: Motu, Yamaha, MAudio, etc. Audio input can also be taken from a sound file. WAV, MP3, and WMA, formats supported. Full audio module library support. Copyright 2008 DSP Concepts, LLC Danville SHARC Targets Danville Audio Weaver Demo Board Danville Crossover Board 25 266 MHz SHARC 21371 2 Analog 4 Analog S/PDIF S/PDIF 48 kHz sample rate with analog Up to 192 kHz with S/PDIF USB tuning interface External SDRAM and SPI flash 266 MHz 32-bit floating-point SHARC 21371 processor 2 Analog In 4 Analog Out Balanced or unbalanced inputs. 120 dB SNR. 48 to 192 kHz sampling rate USB tuning interface External SDRAM and SPI flash Eight GP I/O including SPI, UART, I2C options. Copyright 2008 DSP Concepts, LLC Analog Devices 21369 EZ-KIT 26 400 MHz SHARC 21369 2 Analog 8 Analog 48 kHz sample rate RS-232 tuning interface External SDRAM and Parallel flash Copyright 2008 DSP Concepts, LLC Analog Devices Blackfin EZ-KITs BF533 EZ-KIT BF537 EZ-KIT 27 600 MHz Blackfin BF533 4 Analog 6 Analog 48 kHz sample rate High speed USB tuning interface External SDRAM and Parallel flash 600 MHz Blackfin BF537 2 Analog 2 Analog 48 kHz sample rate RS-232 tuning interface External SDRAM and Parallel flash Copyright 2008 DSP Concepts, LLC Audio Weaver Versions Audio Weaver Designer - Free Audio Weaver Developer - $8,000 Create custom audio modules for an embedded processor Create custom hardware targets Requires VisualDSP++ and an emulator Includes 20 hours of customer support or training Audio Weaver Production License 28 Can be downloaded from www.dspconcepts.com Create and tune audio systems on the PC or supported SHARC or Blackfin target hardware Create custom audio modules on the PC. Create user interfaces Requires VisualStudio and MATLAB Leverage 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. Copyright 2008 DSP Concepts, LLC DSP Concepts Consulting Services Audio module development. Real-time platform development 29 System design and architecture review Custom hardware support Custom tuning interfaces Audio system design and integration Assembly optimization. Algorithm porting starting from reference code. Floating-point to fixed-point conversion. Develop overall signal chain Real-time tuning to optimize sound quality Audio Weaver training. Copyright 2008 DSP Concepts, LLC Thank You!