An audio visualization and processing framework for WPF
Audion is powered by the awesome CSCore .NET Audio Library
- Waveform
- Timeline
- Spectrum Analyzer
- Intuitive wrapper for managing an audio/video file
- Equalizer
- Dynamic Waveform
- Time Clock (Counters)
- and more tba...
The Source classes in audion makes it simple to load media and start playing with it. Every visualization simply subscribes to a Source. There are two versions, OutputSource to play media out of a device and InputSource to record media from a device. It is common to have one Source instance powering multiple different visualizations. Here is a simple example of loading a media file and playing it.
var output = new OutputSource();
// Open a file dialog to choose a media file
OpenFileDialog openFileDialog = new OpenFileDialog
{
Filter = Audion.Source.SupportedFiles
};
// Load the media file into the source
if (openFileDialog.ShowDialog() == true)
{
output.Load(openFileDialog.FileName);
}
output.Play();
<audion:Waveform Name="waveform"
Resolution="2048"
LeftBrush="LightBlue"
LeftStroke="Transparent"
LeftStrokeThickness="0"
CenterLineBrush="White"/>
var output = new OutputSource();
waveform.Source = output;
<audion:Timeline Name="timeline"
FontSize="12"
ProgressBrush="#9900C3FF"
Position="{Binding TrackPosition}"
TickBrush="Silver"
TimeBrush="Silver"
ProgressLineBrush="White"
ProgressBrush="#772200EE"/>
var output = new OutputSouce();
timeline.Source = output;
<audion:SpectrumAnalyzer Name="spectrum"
SpectrumScalingStrategy="Decibel"
FrequencyBarCount="100"
FrequencyBarSpacing="2"
FrequencyBarBrush="{StaticResource BarBrush}" />
var output = new OutputSource();
spectrum.Source = output;
(This is a work in progress)