AWE-Q Demo Video
Watch DSP Concepts Co-founder and CTO Paul Beckmann demonstrate AWE-Q in this brief overview video.
Transcript:
0:00 - Hi, this is Paul Beckman from DSP Concepts, and today I'm gonna be introducing you to our new product called AWE-Q.
0:10 - This is a bare metal integration of Audio Weaver onto the Snapdragon Automotive SoC.
0:16 - AWE-Q will initially be available on the 8255 and will be extended to all Gen 5 silicon, including the 8397 and the 8797.
0:27 - Audio Weaver interfaces directly to the low-level APIs on the Snapdragon, and people familiar with Audio Reach will clearly see the benefits of this approach.
0:36 - This video walks you through the major new features of AWE-Q.
0:39 - Be rest assured that all the audio features that you're already familiar with, like dynamic instantiation, real-time tuning, profiling, regression testing, and so forth, continue to work on the AWE-Q platform.
0:51 - Your existing Audio Weaver designs and custom modules will also migrate smoothly over to the Snapdragon. Let's get started.
0:59 - AWE-Q leverages the new multi-core features that were introduced in the Audio Weaver.
1:04 - Multi-core is implemented using the Change Thread module inside your signal flow.
1:09 - Change thread sends data between different cores, keeps them synchronized, and even allows you to change the block size.
1:16 - As I zoom out, you can see the top level view of the system.
1:20 - Here, we've partitioned RNC on the ADSP.
1:23 - DSP 0 is doing chimes in AVAS, DSP 1 is doing playback, and over here we have the voice features running on the ARM.
1:33 - AWE-Q also allows IO configuration using modules inside your signal flow.
1:38 - Here we have the TDM port module.
1:40 - This one's configured for 32 channels, block size of 12 samples, and you can configure all the port properties inside the Audio Weaver GUI without having to customize BSP code.
1:52 - We also have awesome modules that allow you to exchange audio between the high-level OS, like Linux or Android, and the audio signal flow.
2:01 - AWE-Q is also able to provide deterministic behavior even under high CPU load.
2:06 - System here has about 5000 biquads running on the A DSP and 12,000 biquads running on each of the GPDSPs.
2:14 - This processing is distributed across multiple threads.
2:18 - Let's look at the profiling data.
2:27 - Audio Weaver has an integrated peak profiling feature.
2:31 - In which it compares the average CPU load versus the peak CPU load.
2:36 - Look carefully at the y-axis, you'll see there's actually very little variation shown.
2:40 - So the peak is very close to the average, indicating deterministic behavior.
2:45 - This is something you don't typically see on an SoC, but what AWE-Q is able to provide.
2:51 - The solution was also carefully designed to support low latency applications like road noise cancellation.
2:57 - Here we're running at a 12 sample block size and doing a loop back test so that you can see the latency.
3:04 - Generating an impulse, sending it out the deck, receiving it again.
3:08 - And when we plot the difference, you can see that the input output latency is 1.6 milliseconds.
3:14 - Of this, 0.5 milliseconds is due to Audio Weaver.
3:18 - That's double buffering with a quarter millisecond block size, and 1.1 milliseconds is the delay through the A2B network and the codex.
3:28 - AWE-Q was also designed to support early audio requirements.
3:31 - From the time the ADSP boots until it's able to generate the first chime from the TDM port is 17.5 milliseconds.
3:39 - If we wait for all the DSPs to boot, that's 27.5 milliseconds.
3:44 - Of course, we still have to wait for the parts of the Snapdragon to boot, and we estimate there's about another second of system boot up time before we get started.
3:54 - A lot of effort was put into making AWE-Q easy to control by the high-level operating system.
3:59 - You interact primarily through TinyASA for audio IO and TinyMix for control.
4:05 - We deal with all the low level shared memory, interrupts, audio routing, and so forth.
4:10 - We also provide additional tools called AWE-TC, which will allow you to generate configuration files, which specify which variables to expose, which operating systems has access, and also does sophisticated data type and range checking.
4:25 - You can also do BSP configuration without having to write hexagon code, so you can specify the boot sequence, number, thread, heap sizes, and so forth through configuration files.
4:35 - There are multiple ways to get IP into Audio Weaver.
4:38 - Start with the 500 modules that are already available in Audio Weaver.
4:42 - Most of the basic functions you need are probably available here.
4:46 - Then, look at our example signal flows which teach you how to build up higher level use cases.
4:51 - These signal flows are fully open, documented, and have been proven in production.
4:57 - If you have some of your own algorithms, then you can use a custom module SDK to wrap them and use them in Audio Weaver.
5:05 - And finally, we also have an extensive ecosystem of third party IP providers.
5:10 - Are you ready to make the transition to a software-defined vehicle?
5:14 - AWE-Q takes care of the low-level plumbing and system integration and accelerates overall development.
5:19 - Instead of having your engineers reinvent the wheel, they can now focus on creating new audio experiences for your customers.