.NET Audio Documentation

Explore the capabilities of .NET for handling audio, from playback and recording to advanced manipulation and effects.

Getting Started with Audio in .NET

Introduction to .NET Audio APIs

The .NET Framework and .NET Core provide several powerful libraries and namespaces for working with audio. This section provides an overview of the primary APIs and their uses.

Key namespaces include:

  • System.Media: For basic media playback.
  • System.Speech: For speech synthesis and recognition.
  • NAudio (Third-party): A popular and comprehensive audio library for .NET.

Basic Audio Playback

Learn how to play sound files directly from your .NET applications.

using System.Media; // ... // Play a sound file SoundPlayer player = new SoundPlayer("path/to/your/sound.wav"); player.Play(); // Play a sound synchronously // player.PlaySync(); // Loop a sound // player.PlayLooping();

Advanced Audio Processing

Working with Audio Streams

Understand how to read, write, and manipulate audio data in real-time using streams.

Libraries like NAudio offer extensive support for audio stream manipulation, including mixing, effects, and format conversions.

Audio Recording

Capture audio from microphones and other input devices.

This typically involves using lower-level APIs or specialized libraries. NAudio provides classes like WaveIn for capturing audio.

using NAudio.Wave; // ... WaveIn waveIn = new WaveIn(); waveIn.DeviceNumber = 0; // Select the input device waveIn.WaveFormat = new WaveFormat(44100, 16, 1); // Sample rate, bits per sample, channels waveIn.DataAvailable += (sender, e) => { // Process the audio data buffer here // byte[] buffer = e.Buffer; // int bytesRecorded = e.BytesRecorded; }; waveIn.StartRecording(); // To stop recording: // waveIn.StopRecording();

Audio Effects and Manipulation

Apply effects such as reverb, echo, pitch shifting, and more. Learn about digital signal processing (DSP) techniques applicable to audio in .NET.

Explore built-in capabilities or leverage third-party libraries for advanced audio filtering and transformations.

Speech Integration

Text-to-Speech (TTS)

Convert written text into spoken words using the System.Speech.Synthesis namespace.

using System.Speech.Synthesis; // ... SpeechSynthesizer synthesizer = new SpeechSynthesizer(); synthesizer.SetOutputToDefaultDevice(); // Set output to default audio device synthesizer.Speak("Hello, .NET audio world!");

Speech Recognition (STT)

Enable your applications to understand spoken commands and text using System.Speech.Recognition.

This involves creating grammars and handling recognition events.