Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Scroll Documents: Update page title prefix

About This Application Note

The Bringing Algorithms into Audio Weaver Application Note describes different approaches to adding new processing algorithms to Audio Weaver.

Modules

In Audio Weaver, a module is a fundamental software object that performs a specific algorithmic process, and a wire is a fundamental software object that transfers data between modules. Signal processing layouts are constructed in AWE Designer by placing module blocks on the canvas and connecting their inputs and outputs with wires. Important module tuning parameters can be controlled in real-time using a module’s inspector window. The AWE Designer Pro Edition and Module Creator licenses enable users to create new modules which call upon their preferred processing algorithm source code or compiled libraries.

...

For more details on creating custom modules, please refer to Creating Custom Modules and MATLAB Scripting API. To reference module pack source code, please see The Examples Module Library and the local files contained in the following directory:

C:\DSP Concepts\<AudioWeaver>\AWEModules\Source\Examples.

Subsystems

A subsystem encapsulates a collection of modules and wires inside a single block without affecting the overall layout’s processing performance or resource requirements. Implementing an algorithm inside a subsystem using modules developed by DSP Concepts allows Audio Weaver users to take advantage of DSP Concepts’ processor-optimized code while maintaining visual organization of their overall layout’s distinct sections.

...

For more details on subsystems and user inspectors, please refer to Subsystems.

Compiled Subsystems

A compiled subsystem is a subsystem that has been turned into a new module class. Like a regular module, it takes substantially less time to instantiate a compiled subsystem than a regular subsystem since only a single module class name is communicated to AWE Server for a compiled subsystem. The modules inside a compiled subsystem and their respective parameters cannot be directly viewed or accessed by users.

...

For more details on compiled subsystems, please refer to the Compiled Subsystems Application Note.

Reusable Subsystems

A Reusable Subsystem is a subsystem that has been saved for ease of reuse across any layout. Whereas reusing a regular subsystem requires copying it from one layout and pasting it to a new destination, Reusable Subsystems appear in the AWE Designer module browser alongside regular modules. The process of converting a regular subsystem to a Reusable Subsystem is accomplished in AWE Designer and requires minimal user configuration and no coding.

...

For more details on Reusable Subsystems, please refer to https://dspconcepts.atlassian.net/wiki/spaces/DOCHUB/pages/2748810681/Subsystems#Reusable-Subsystems.

Compiled Reusable Subsystems

A Compiled Reusable Subsystem is a Reusable Subsystem that is represented by an encrypted AWB file. Any controllable module variables within a Compiled Reusable Subsystem are represented in a supplementary META file. Any user with a local copy of the Compiled Reusable Subsystem’s root directory can add a Compiled Reusable Subsystem to their layout once they specify the location of the root directory in AWE Designer.

...

For more details on Compiled Reusable Subsystems, please refer to https://dspconcepts.atlassian.net/wiki/spaces/DOCHUB/pages/2748810681/Subsystems#CompiledReusableSubsystems.

Summary of Approaches

 

Module

Subsystem

Compiled Subsystem

Reusable Subsystem

Compiled Reusable Subsystem

Required Tools and Licenses for Creation

AWE Designer Pro Edition and Module Creator; MATLAB; Visual Studio; IDE for target processor

AWE Designer Standard Edition

AWE Designer Pro Edition and Module Creator; MATLAB; Visual Studio; IDE for target processor

AWE Designer Standard Edition

AWE Designer Standard Edition

Required Code for Creation

Algorithm source code or compiled library; MATLAB function

None

MATLAB function

None

None

Inspector

Coded in MATLAB

Created in AWE Designer

Coded in MATLAB

Created in AWE Designer

Created in AWE Designer

Processor Optimization

Dependent on utilized algorithm

Handled by utilized modules

Handles by utilized modules

Handled by utilized modules

Handled by utilized modules

Single Command for Instantiation?

Yes

No

Yes

No

Yes

Exists in the Module Browser?

Yes

No

Yes

Yes

Yes

Required Files for Distribution to Users

Module pack; DLL; library for target processor

None; user must copy and paste between layouts

Module pack and DLL

Reusable Subsystem root directory

Compiled Reusable Subsystem root directory

User Access to Implementation Details

None

Optional navigation password; JSON file

None

JSON file; revertible to a regular subsystem

None

...