370 likes | 751 Views
Audio Weaver DSP Concepts, LLC. Tools + Services = Value. Our Vision and Mission. Our Vision Accelerating the development of embedded audio products and technology Our Mission
E N D
Tools + Services = Value 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.
About DSP Concepts • 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.
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 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!
Introducing Audio Weaver • Developed by DSP Concepts and used internally to support customers for 24 months. • Publicly released in Spring ‘08. • Two versions available • 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 • Initial target markets • Automotive audio • Speaker manufacturers • Audio IP developers
Cross platform approach speeds development Prototype on the PC Seamlessly switch to your evaluation hardware and then to your target hardware Supports SHARC and Blackfin processors from Analog Devices Generates efficient code 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 Key Features
Cross Platform Support Speeds Development Audio Module Development Audio System Design Tuning Target hardware integration Module Optimization Testing Native PC Evaluation HW Target HW
Initial Target Markets • Audio IP Developers • Full-featured algorithm development environment • Supports multiple embedded processors • Convenient mechanism to demonstrate and safely deliver algorithms to customers • Automotive Amplifiers • Matches the work flow used by product developers: Create Platform Design audio processing In-car Tuning • High End Speaker Manufacturers • Turn key solution provides both hardware and software • No need to develop their own software
Audio Weaver Demo Board BF533 EZ-KIT Demo Hardware
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 Audio Weaver Server
Built Upon MATLAB • 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.
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;
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: • Module creation • Parameter setting • Starting and stopping of real-time audio processing • Drawing of inspectors
Flexible Deployment Models • Development Using MATLAB • PC Script Execution • Final product using dynamic memory allocation • Final product using static memory allocation
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 • Only required when changing the library of audio modules • Faster development cycle • Also reduces the number of development system licenses required
PC Script Execution(Without MATLAB) • 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
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.
Final Product (Using Static Memory Allocation) • Required in memory constrained applications • MATLAB generates C code for • 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 • Dynamic instantiation • Memory profiling
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”
Filters 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 Table lookup Meters And many others! Basic Scalers Mixers Adders Routers Delays Basic delays N-tap delays Dynamic Compressors Limiters Automatic Gain Controls Clipping Extensive Audio Module Library
Crossover filters Arbitrary number of output bands Butterworth and Linkwitz Riley designs Hilbert network (90 degree phase shift) Graphic equalizer Automatic gain control Dynamics processors Subsystems Provide Additional Audio Functions
No additional HW required! Supports multichannel USB and Firewire devices Many 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. Native PC Target
Danville Audio Weaver Demo Board 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 Danville Crossover Board 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. Danville SHARC Targets
400 MHz SHARC 21369 2 Analog 8 Analog 48 kHz sample rate RS-232 tuning interface External SDRAM and Parallel flash Analog Devices 21369 EZ-KIT
BF533 EZ-KIT 600 MHz Blackfin BF533 4 Analog 6 Analog 48 kHz sample rate High speed USB tuning interface External SDRAM and Parallel flash BF537 EZ-KIT 600 MHz Blackfin BF537 2 Analog 2 Analog 48 kHz sample rate RS-232 tuning interface External SDRAM and Parallel flash Analog Devices Blackfin EZ-KITs
Audio Weaver Versions • Audio Weaver Designer - Free • 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 • 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 • 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.
DSP ConceptsConsulting Services • Audio module development. • Assembly optimization. • Algorithm porting starting from reference code. • Floating-point to fixed-point conversion. • Real-time platform development • System design and architecture review • Custom hardware support • Custom tuning interfaces • Audio system design and integration • Develop overall signal chain • Real-time tuning to optimize sound quality • Audio Weaver training.