audion.cscore
audion.cscore copied to clipboard
An audio visualization and processing framework for WPF
audion
An audio visualization and processing framework for WPF
Audion is powered by the awesome CSCore .NET Audio Library
Included in Audion (so far):
- Waveform
- Timeline
- Spectrum Analyzer
- Intuitive wrapper for managing an audio/video file
Future Road Map
- Equalizer
- Dynamic Waveform
- Time Clock (Counters)
- and more tba...
Source
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();
Waveform
XAML
<audion:Waveform Name="waveform"
Resolution="2048"
LeftBrush="LightBlue"
LeftStroke="Transparent"
LeftStrokeThickness="0"
CenterLineBrush="White"/>
Code
var output = new OutputSource();
waveform.Source = output;
Timeline
XAML
<audion:Timeline Name="timeline"
FontSize="12"
ProgressBrush="#9900C3FF"
Position="{Binding TrackPosition}"
TickBrush="Silver"
TimeBrush="Silver"
ProgressLineBrush="White"
ProgressBrush="#772200EE"/>
Code
var output = new OutputSouce();
timeline.Source = output;
Spectrum Analyzer
XAML
<audion:SpectrumAnalyzer Name="spectrum"
SpectrumScalingStrategy="Decibel"
FrequencyBarCount="100"
FrequencyBarSpacing="2"
FrequencyBarBrush="{StaticResource BarBrush}" />
Code
var output = new OutputSource();
spectrum.Source = output;
Sample Application
(This is a work in progress)