audio weaver - dsp concepts · 2017-05-12 · (using dynamic allocation) audio weaver commands are...

21
Audio Weaver DSP Concepts, LLC

Upload: others

Post on 17-Mar-2020

11 views

Category:

Documents


0 download

TRANSCRIPT

Audio Weaver

DSP Concepts, LLC

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.

Thank You!