Of the things that WPF misses it is probably of audio-related controls. I’ve had to craft some of them and I will present you a component that renders a wave form and a little more. It features a sample-level accuracy, a theme-able interface and ‘providers’ which analyzes audio and return information of interest such as sound features.
Figure 1 : provider that detects onsets and color them according their frequency band
Figure 2 : provider that detects beats
Figure 5 : same provider but with a Direct3D renderer and a custom shader
How it works
The rendering process components are laid out below:
AudioStream -> Waveform -> WaveformRenderer
– AudioStream reads and converts audio samples
– Waveform builds the peak data and cache
– WaveformRenderer is an abstract renderer
Finally, providers are plugged to a renderer as needed.
The version in GitHub is old, I yet have to upload the latest version featuring providers.