← All school projects

finished2025

Audio Editor

WAV audio editor with DSP effects, visualization and real-time processing via XAudio2

C++ · XAudio2 · DSP · Audio · WAV

Desktop audio editor for WAV files with DSP effects, waveform visualization and real-time processing.

Context

School project GTech3, 6 weeks. Team of 3, role: DSP and audio engine developer.

Exploring digital signal processing fundamentals through a practical audio editing application.

School Requirements

  • Parse and play WAV files
  • Waveform display
  • Implement at least 2 DSP effects
  • Windows audio API, latency < 50ms

Our Implementation

Beyond the requirements (2 effects required):

  • 4 complete DSP effects: EQ, compression, reverb, delay
  • Non-destructive editing: preview before applying
  • Advanced selection tools: sample-accurate cut/copy/paste
  • Extended format support: 8/16/24-bit, mono/stereo

Links

  • Private repository (school).

Architecture

Audio pipeline with chainable effects:

WAV File → Parser → [Effect Chain] → XAudio2 → Output
                         │
      ┌──────────────────┼──────────────────┐
      │                  │                  │
    EQ            Compressor           Reverb
 (Biquad)           (RMS)          (Convolution)

Tech Stack

TechVersionRole
C++17Core language
XAudio2Windows APIReal-time audio engine
Win32/ImGui-User interface
WAV ParserCustomAudio file reading

Custom WAV Parser

  • RIFF header parsing
  • Formats: 8/16/24-bit, mono/stereo
  • Chunk navigation and metadata
  • Beyond the required 16-bit

DSP Effects Implemented

  • Parametric EQ: Biquad filters per band
  • Compressor: RMS detection with attack/release
  • Reverb: Convolution basics
  • Delay: Delay lines with feedback

Specifications

  • Latency: < 50ms (Windows audio API)
  • Non-destructive editing with preview
  • Sample-accurate selection: cut/copy/paste