Simplify
Your
System
Easily create and adjust complex data processing expressions within an Audio Weaver system
Speed Up
Your
Workflow
Update expressions on target during runtime without changing the Audio Weaver system
A Closer Look
Functionality
Schematic Overview
System Integration
You can place multiple instances of the Expression System module within an Audio Weaver system. The Expression System Editor, a standalone desktop application, enables you to write expressions.
Once the system is up and running on a target, be it native (PC) or any HW target, the expressions can be uploaded to the target via the Audio Weaver server.
A built-in compiler conducts a thorough check for undefined behaviour to ensure the target's stability and safety.
Furthermore, the Expression System Editor offers the possibility to be integrated into a tuning tool that controls the entire Audio Weaver system.
Get In Touch
Request a Demo
The Expression System is being used in several customer projects and has been integrated into various hardware platforms.
The Expression System is now available for evaluation purposes, free of charge! If you are interested in using the Expression System, please send us a request. We will come back to you with a download link and installation instructions.
We also provide workshops to showcase the capabilities of the Expression System and help you set it up on your machine. We welcome your feedback on how we can enhance the Expression System.
Let Us Help
Common Questions
What is the Expression System?
The Expression System in Audio Weaver is a 3rd party module designed for real-time processing of mainly control signal data. It employs a simple string-based structure that can be edited in a language-like manner and features fundamental C-like mathematical operations.
This system boasts low CPU usage and is both memory and thread safe, with the ability to be modified at runtime. Additionally, it offers fixed memory allocation at runtime, ensuring that it does not dynamically expand and helps maintain stability.
How can I benefit from the Expression System?
By defining your own functions, you can reuse them across various parts of your patch. With the aid of built-in operators and expressions, you can construct logic and perform data processing that would be difficult or impossible to achieve with pure Audio Weaver.
Moreover, the expressions can be updated on the target during runtime, thereby reducing compile time and enhancing flexibility in the tuning process.
What kind of signals can be processed with the Expression System?
The Expression System is mainly designed for processing control rate signals.
Nevertheless it can also be applied to any other signal within the Audio Weaver patch.
What kind of targets are supported?
All targets supported by Audio Weaver can be supported by the Expression System.
Special targets can be supported on demand.
What about memory consumption?
Memory consumption depends on your system design. You can set a memory limit for every Expression System module.
What about MIPS?
Functions are based on native code for a specific target. The compiled code is optimised for the specific target. Therefore concrete MIPS depend on the target and the size of the code. In general, the Expression System introduces only small overhead in comparison to native AWE routines.
Since Expression System is mainly used for control rate signals, the overhead is negligible. Expressions can often be written more efficiently in code than by patching - overall it's likely to save processing power.
What about Audio Weaver version compatibility?
The Expression System Module works with all available Audio Weaver versions. This includes the Standard, Pro and ST editions of Audio Weaver.
I need additional functionality. What can I do?
Try to use the custom function definition capabilities of the Expression System. If that is not sufficient, we appreciate your suggestions for a new feature.
Furthermore, the Expression System ist under constant development and we still have plenty of ideas that we plan to implement. The next version may already provide what you are looking for.
What happens if I try to upload an infinite loop?
The compiler inside the Editor analyses the code and checks for potential errors that would be caused by structures like an infinite loop. It declines the uploading process and warns the user.