Skip to content

Latest commit

 

History

37 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

audion

An audio visualization and processing framework for WPF

Github-Release Appveyor-Build

Donate

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

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

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

spectrum

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)

audion

About

An audio visualization and processing framework for WPF

Topics

Resources

Stars

31 stars

Watchers

6 watching

Forks

Releases

Packages

Used by

Contributors

Languages