It’s been a long time coming but the UWP Audivisualizer project recently hit the 1.0 milestone including some new default controls and a rewrite using c++/WinRT.
This was entirely due to a sustained and heroic effort from Tonu, my long time collaborator and lead developer on this project these days. The source is available on GitHub here and the Nuget package can be installed from Nuget.org with:
` PM> Install-Package UWPAudioVisualizer -Version 1.0.7 `
There is also a demo app that you can grab from the Windows Store here to play around with the built-in controls.
What’s new in V1.0?
From a feature perspective, we’ve
- added support for
AudioGraph
in adition toMediaPlayer
. AudioGraph is an API set for audio mixing, routing and processing scenarios and you can now use the visualization capabilities in those scenarios fairly trivially. Documentation can be found here. - Exposed out the internals of
AudioAnalyzer
so you can perform analysis on raw audio frames. - added a helper called
SourceConverter
that helps with reshaping and manipulating the visualalization data for easier consumption. - augmented the built-in controls to now include
AnalogVUMeter
,DiscreteVUBar
,SpectrumVisualizer
,CustomVisualizer
. The implementation for AnalogVUMeter also demonstrates how to use visual layer transforms for updating some of the visuals in response to the audio data.
From an implementation perspective one of the big aspects of this release was the move to https://docs.microsoft.com/en-us/windows/uwp/cpp-and-winrt-apis/intro-to-using-cpp-with-winrt from WRL / manual COM which hugely simplified the implementation and made the code more readable.
Aditionally, we have fixed a bunch of bugs, got a more robust test framework hooked up and also migrated from Appvevor onto Azure Pipelines for all CI duties.
How to get started
We have instructions on how to get started over on the readme
Feedback
If you have any feedback, please file an issue on the project. Also, if you are interested in building and contributing more visualizations, we would welcome contributions!