Post on 17-Mar-2020
2 Copyright 2014 DSP Concepts, LLC
Audio Weaver Enabled
Ecosystem
Think ecosystem. Think big. Enlist third parties, customers, hobbyists, etc.
Audio Weaver is the glue that can tie this all together.
OEMs
Audio
Weaver
3rd Party
Algorithm
Providers
Silicon
3 Copyright 2014 DSP Concepts, LLC
Audio Weaver Framework
Complete audio processing solution
Large library of optimized modules
Graphical editor
Real-time tuning
Regression testing
Multirate processing
Frequency domain processing
MIPs and memory profiling
Advanced features using MATLAB
Cross Platform
4 Copyright 2014 DSP Concepts, LLC
Audio Weaver Benefits
Product Specification
ISVs
Algorithm Selection
Mechanical
Tuning
Testing
Ship
Electronics
Software and
Algorithm
Integration
Faste
r Tim
e to
Mark
et
Processor Selection
5 Copyright 2014 DSP Concepts, LLC
Easily A/B ISV Algorithms Pick the best sound
Pick a cheaper equivalent sound
Better quality
Cost reduction
Easily Integrate Software Tested and proven blocks of code
Cut engineering development time
Lower risk
Faster
Real-time tuning Cuts development time
Last minute form factor tuning
Faster
Better quality
Regression Testing Mathematically ensures accuracy
Pinpoints bugs in specific modules
Better quality
Faster
Benchmark Processors Profile your own design for fit
Pick the most cost effective chip
Lower risk
Cost reduction
6 Copyright 2014 DSP Concepts, LLC
Cross Platform Support
Speeds Development
Audio Module Development
Audio System Design
Tuning
Target hardware
integration
Module Optimization
Testing
Native PC Evaluation HW Target HW
7 Copyright 2014 DSP Concepts, LLC
High-Level Architecture
Audio
Weaver
Script File
Audio
Weaver
Script
Flash file
system
MATLABTuning
Interface
GUIsGUIs
GUIs
Audio Weaver
Server
Application
Target
Processor
8 Copyright 2014 DSP Concepts, LLC
Audio Weaver Server
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
9 Copyright 2014 DSP Concepts, LLC
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.
10 Copyright 2014 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;
11 Copyright 2014 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:
Module creation
Parameter setting
Starting and stopping of real-time audio
processing
Drawing of inspectors
12 Copyright 2014 DSP Concepts, LLC
Flexible Deployment Models
Development Using MATLAB
PC Script Execution
Final product using dynamic memory
allocation
Final product using static memory allocation
13 Copyright 2014 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 Only required when changing
the library of audio modules
Faster development cycle
Also reduces the number of development system licenses required
Audio
Weaver
Script File
Audio
Weaver
Script
Flash file
system
MATLABTuning
Interface
GUIsGUIs
GUIs
Audio Weaver
Server
Application
Target
Processor
14 Copyright 2014 DSP Concepts, LLC
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
Audio
Weaver
Script File
Flash file
system
Tuning
Interface
GUIsGUIs
GUIs
Audio Weaver
Server
Application
Target
Processor
15 Copyright 2014 DSP Concepts, LLC
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.
Audio
Weaver
Script File
Flash file
system
Tuning
Interface
GUIsGUIs
GUIs
Audio Weaver
Server
Application
Target
Processor
16 Copyright 2014 DSP Concepts, LLC
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
Tuning
CommandsMATLAB
Tuning
Interface
Audio Weaver
Server
Application
Target
Processor
Statically
Generated
.c and .h
files
GUIsGUIs
GUIs
VisualDSP++
17 Copyright 2014 DSP Concepts, LLC
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”
18 Copyright 2014 DSP Concepts, LLC
Extensive Audio Module
Library
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
19 Copyright 2014 DSP Concepts, LLC
Subsystems Provide
Additional Audio Functions
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
20 Copyright 2014 DSP Concepts, LLC
DSP Concepts
Consulting 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.