AWE Core, AWE Core OS
AWECore 8.D.9, AWECoreOS 8.B.19
2024-AUGUST-15
New Features
New Constant DC Source module that enables users to control module variables with Layout Arguments
Added support for Cortex-M55, SHARC-FX, and Kalimba targets
New AGC Core V2 Fract32 module that allows for more gain using Q8.24 output format
Added new
PFID_GetAllMatchingModules
for returning the objectIDs of all modules in a layout that match the provided classID
Enhancements
Overflows are now measured per instance, and profiling corrects for time lost to preemption
Improved AWE Core Integration Guide with troubleshooting tips
Created new icons for the ChangeThread module
Bug Fixes
Fixed crash when checking the heaps on an invalid instance
Fixed issue in AWE_Server where heap usage would not appear when loading an AWB from flash memory
AWECore 8.D.8, AWECoreOS 8.B.18
2024-JUNE-10
New Features
New Conditional Replace module to deterministically replace the output with a constant value
New API function awe_getBuildVersionInfo returns library build and version information
New Change Thread module to buffer data to any specified target instance and/or thread
Enhancements
Updated Flash File System API functionality for valid pointers
Updated PFID_GetProfileValues' documentation for the correct datatype of the reply values
Updated documentation to clarify that Control API can only access the active core's instances
Updated documentation to clarify that Preemption API can be called by any instance shared by the same core
Bug Fixes
Fixed AWE_Server's Flash Manager tool to access multi-instance target files
Fixed regression test failure for WetDry, SecondOrderFilter, and SecondOrderFilterCascade modules
Improved reliability of CrossoverFilter module's regression test
Fixed issue where Mute Symmetric module could audio "pop" if driven by a Param Set in deferred update mode
Fixed Module System Test failure for Wave File Source modules
Fixed issue where FilterbankFIRNChan modules weren't calling destroy for internal FFT modules
Fixed issue when loading a layout on multi-instance targets that shared Packet and Reply buffer memory
AWECore 8.D.7, AWECoreOS 8.B.17
2024-MARCH-15
New Features
New Scaler Symmetric Fading V2 module that enables external control of the gain value
New ClipAsymInt32 module that performs Asymmetric Clipping for integer values
New PFID_GetProfileValuesPreCalc message to support consistent profiling across irregular pump calls
New AWE Core API Callbacks to capture audio interrupts for accurate profiling
Enhancements
AWE Core can now allocate memory aligned up to 128 words
Added support to run Module Regression Tests on Multi-Instance targets
Added Frequency Response functionality to Biquad Sparse V6 module
Allow users to adjust Compiled Reusable Subsystem parameters with ParamSet
Added optional support to control scalar values with ArraySet
Bug Fixes
Fixed crash when loading certain AWB files containing Flash-based Wave Player modules
Updated user documentation with more details on the SPI Tuning Protocol
Fixed issue when instantiating Compiled Reusable Subsystems that control variables in nested subsystems
Fixed default range of ClipAsymFract32 to (-1, 1)
Fixed issue in module documentation that incorrectly stated that gain filter type uses linear units
Fixed issue where BiquadLoading modules were using First Order implementations on some targets
Fixed regression test failures for the following modules:
BufferDownV2
BufferUpV2
CycleBurnerSet
MeasureSampleRate
MultichannelMixerSmoothed
SystemVariable
FileStreaming
AWECore 8.D.6, AWECoreOS 8.B.16
2024-JANUARY-26
New Features
Added support for QNX-based targets
New API that supports multirate processing on different instances
New 8 channel biquad VectorLib function for certain filter modules
Enhancements
Updated default channel names for some modules
Fixed issue with stale coefficients in subsystem by forcing recalculation during prebuild
Reduced the duration of certain module regression tests
Improved robustness of IPC buffers against multi-instance synchronization issues
IPCBuffer subsystem can now set Clock Divider and sublayout Thread ID
Bug Fixes
Fixed issue when controlling WaveFileSink with another module
Fixed regression tests for Delay Reader modules
Fixed issue where Audio Start/Stop callbacks weren't being called on secondary instances
Fixed typo that affected building for 64-bit targets
Fixed issue where overflows on secondary instances could halt primary instance
AWECore 8.D.5, AWECoreOS 8.B.15
2023-NOVEMBER-8
New Features
New FIR Reader module allows users to share state betwen multiple FIR filter modules
New GraphicEQFract32V2 module that adds frequency array to previous version
Enhancements
Updated AWE Core OS architecture to reduce audio dropouts during extended deferred processing
Controlling modules (ArraySet, ParamGet, ParamSet, ParamSetTableV2, StatusSetV2) can now specify when to execute relative to the module being controlled
Allow loading .awb's on non-multi-instance targets, even if the .awb instance ID does not align with the target's instance ID
Bug Fixes
Fixed an issue when loading Compiled Reusable Subsystems on multi-instance targets
AWECore 8.D.4, AWECoreOS 8.B.14
2023-SEPTEMBER-18
New Features
(BETA) New Multi-Instance feature allows processing of audio across multiple AWE Core instances on different cores in a single layout
New Shared Heap in AWEInstance used to enable this feature
Performs all IPC of audio using new IPC Buffer module
Released as a beta feature, with known limitations:
IPC Buffer module will be updated in compatibility breaking ways in future releases
Multi-instance audio processing approach may require application updates in future releases
Module regressions can only be run on Instance 0
New LogicAndConst Module for performing a bitwise AND operation against a provided constant value
New AGCLimiterCoreV2 module for implementing a multichannel limiter
New callback function for cache invalidation
Enhancements
Deferred calling of Module Set functions now called with 0xFFFFFF00 mask
Updated documentation for compatibility issue when loading older encrypted layouts
Updated description of MapperControl module in documentation
Inspector window for the Router module can now be resized
Bug Fixes
Fixed regression test failures for DelayReader, IIRDecimator, and IIRInterpolator modules
Fixed incorrect error code when loading certain invalid layouts
AWECore 8.D.3, AWECoreOS 8.B.13
2023-JULY-21
Enhancements
Clarified SbSmoothV2 module's unused "sampleRate" argument in documentation
Improved profiling capabilities for multi-instance usage of AWE Core OS
Deprecated Param Set Table V1 module
Clarified usage of Band to Bin and Bin to Band modules in documentation
Corrected name of operation in Block Statistics module to "Sum of Squares"
Improved visibility and controllability of large source and overwrite control module inspectors
Bug Fixes
Fixed issue when setting Allpass Delay modules to zero delay
Fixed regression test failures for ADSR, Delay Mixer Smoothed, and Pink Noise Fract32 modules
Fixed regression test failure for Mute Linear Fade module
Module Set functions are now called with 0x7fffffff when called from deferred processing, separate from calls during module construction
Fixed delay propagation for Multiplexor V2 module
Fixed issue where the AWE Core version wasn't encoded properly on SHARC targets
AWECore 8.D.2, AWECoreOS 8.B.12
2023-JUNE-2
New Features
Added support for HiFi Mini processors
New Mute Symmetric Module for matching fade-in/fade-out times
Enhancements
Updated documentation with Flash File System integration details
Improved accuracy when profiling Multi-Threaded and Multi-Instance integrations
Added Frequency Response feature to FIR Sparse module
Redesigned exponential functions for bit-exact matching between host and target module code
Bug Fixes
Fixed an issue with loading a Compiled Reusable Subsystem from a different folder path
Fixed an issue with building layouts containing a module with no input or output pins
Fixed the FIR Interpolator module's latency calculation
Fixed an issue with the Symmetric Scaler module's gradient calculation of negative numbers
Fixed an issue with loading saved parameters in BandToBin modules from AWJ layouts
Made allocation of memory for the Compiled Reusable Subsystem more flexible to avoid errors on memory limited systems
AWECore 8.D.1, AWECoreOS 8.B.11
2023-FEBRUARY-15
New Features
New Delay Mixer Smoothed module for applying unique delays and gain per input channel
New Param Set Table (version 2) module for advanced control of arrays
New Peak Finder module for detecting multiple signal peaks in an audio block
New Filterbank FIR NChan (version 2) module that accepts arbitrary blocksizes
New API function for loading AWBs from the Flash File System
Enhancements
Optimized performance of AWE Core's Audio Import/Export API functions
AWE Core will assume Single Heap functionality based on the number of heaps provided
TableInterpRuntime allows multiple equal adjacent X values
Bug Fixes
Fixed broken image links in the AWE Core API documentation
Fixed an issue where saved values in the Mixer module were not being saved
Fixed an issue with multiple controlling modules accessing the same module
Fixed an issue where the ADSR module wouldn't release if triggered before sustain
Fixed AWE_Server crash when using certain ASIO device configurations
Fixed an issue with output data resolution in the PinkNoise module
Fixed an issue when opening UpFirDnConverter’s Inspector while running the layout
Fixed an internal memory leak in AWECoreOS
AWECore 8.C.15, AWECoreOS 8.B.10
2022-DECEMBER-05
New Features
Created new Sweep Generator module for frequency response testing
Created new Matrix Multiplication module for advanced computations
Enhancements
Reduced build error for simultaneous ParamSet accesses to a warning message
Added support for multicore AWECore instances on the same hardware core
Introduced option for memory bounds checking on array access commands
Users no longer need to provide BUILD64 when compiling for 64-bit targets
Bug Fixes
Fixed regression test failure for the Biquad Sparse V6 module
Fixed issue where the Inspector would not update Mixer V3's mix table
Fixed issue where the SoftClipFract32 Inspector would not display the correct gain
AWE Core 8.C.14, AWE Core OS 8.B.9
2022-SEPTEMBER-21
New Features
Added support for Arm® Cortex™-M55 and Ethos™-U55 processors
Created new Null Source module for advanced wire routing
Enhancements
Corrected awe_audioGetPumpMask's return value for an overflowed layout
Supported number of input/output channels has been increased from 64 to 255v
ParamSet can now access unsigned integer variables
Added check to prevent multiple ParamSet modules from accessing the same variable
Flash File System minimum filename length increased to 56 chars
Bug Fix
Fixed an issue that could cause audio artifacts with certain biquad filters
AWE Core 8.C.13, AWE Core OS 8.B.8
2022-July-21
Bug Fixes
Removed unnecessary memory allocations while instantiating modules
Fixed Sink inspector to work after changes in Designer
AWE Core 8.C.12, AWE Core OS 8.B.7
2022-July-05
New Features
Created new Linkwitz-Riley Filter module for ideal crossover networks
Added support for HiFi5 builds
Created new Biquad Sparse V6 module for selecting Direct Form 1 or 2 implementation
Created new Biquad Sparse HP module for high precision applications
Enhancements
Expanded Audio Weaver Core API to selectively control profiling
Added check that Buffer Down module does not clock divide faster than allowed
Improved error reporting when changing frequencies with Graphic Equalizer module
Added "Resonant" filter option to all Second Order Filter modules
Bug Fixes
Fixed issue where unchecked
maxTaps
values could cause crashes in certain filter modulesFixed issue where StatusSet module sent stale data upon initialization
Fixed issue where certain subsystem modules would not appear in the Module Tests dialog window
Fixed issue where some Biquad Sparse modules would not display the names of the
filterType
argumentFixed issue where the incorrect Router Smoothed module inspectors would appear if there was more than 16 channels
AWE Core 8.C.11, AWE Core OS 8.B.6
2022-MAY-12
New Feature
Created TableSourceV2 module to support multichannel outputs and indexing
Enhancements
Improved test coverage, reporting, and performance for multiple modules
All Scaler modules now have consistent triangle icons in module browser
Bug Fixes
Improved test coverage, reporting, and performance for multiple modules
SetWireProperties module now properly protects against negative arguments
Tablesource module updated to propagate correct sample rate
AWE Core 8.C.10, AWE Core OS 8.B.5
2022-APRIL-6
New Features
New UpFIRDnConverter module allows for efficient sample rate conversions for non-integer ratios
New SOFControlV3 adds option to choose between Direct Form 1 or 2 implementations for biquads
AWECoreOS: new API to return ID's of internal threads, allowing application to set CPU affinity per thread
Added support for TI C66xx builds
Enhancements
Module constructors now have access to the calling
AWEInstance
structMade several TableInterp and TableInterpXY module fixes and improvements
MultichannelMixerSmoothed module now checks for control input pin being a valid size
Made robustness and performance improvements to WaveFileSource and WaveFileSink modules
Improved error message for invalid values for BufferDown module
Usage improvements made to the SOFControl module variables and range checking
Improved performance of the hold feature in SbAttackRelease module for fast attack times
Improved output channel names for the WhiteNoise module
MATLAB
add_argument
function now documentedIf enabled, the profiling report will now print size of Wire Buffer Pool
Bug Fixes
Fixed null pointer access when modules failed to allocate sufficient memory in constructor
Fixed bug in White Noise module not sending random generator seed value to target
BufferUpV2 and BufferDownV2 modules updated to reject invalid buffer up/down factors
The SampleAndHold module now has consistent behavior
Corrected the latency calculation of the Downsampler module
Example AWD file Mixing_Console_Example.awd now uses a relative audio path
Updated some tests to run successfully on Hexagon targets
AWE Core 8.C.9, AWE Core OS 8.B.4
2022-JANUARY-7
New Features
New BufferUpV2 and BufferDownV2 modules allow multiple sublayouts with the same clock divider to be generated
New module FilterBankFIRNChan allows for efficient implementation of long FIRs with different coefficients per channel
Enhancements
TableInterpRuntime module is no longer deprecated
Improved organization and architecture for AWECore header files
SetWireProperties
now returns a clearer error message in the prebuild function
Bug Fixes
Updated common modules to pass regression tests on fixed point targets
Fixed smoothing sync issue across all channels in ThreeBandToneControl module, float and fract32 versions
test_triggered_file_sink_rt.m now completes even if MATLAB working directory is "c:"
Fixed test_system_variable_rt.m to pass in Native mode
PinkNoise module updated to pass system level test
Updated RunningMinMax to have the correct type of momentary reset control
Deleted buggy Fractional delay float and fract32 modules. Use v2 versions instead (float and fract32)
Corrected MuteSyncFract32 browser name
Object ID now properly populated for wire buffers
Fixed memory access violation on certain 64-bit build systems
Corrected
awe_audioIsStarted
function documentationAdded missing documentation for virtual modules, like marker, annotations, etc.