← Tous les projets d'école

terminé2025

Audio Editor

Éditeur audio WAV avec effets DSP, visualisation et traitement temps réel via XAudio2

C++ · XAudio2 · DSP · Audio · WAV

Éditeur audio desktop pour fichiers WAV avec effets DSP, visualisation waveform et traitement temps réel.

Contexte

Projet école GTech3, 6 semaines. Équipe de 3, rôle : développeur DSP et moteur audio.

Exploration des fondamentaux du traitement de signal numérique via une application d'édition audio pratique.

Cahier des Charges École

  • Parser et lire des fichiers WAV
  • Affichage waveform
  • Implémenter au moins 2 effets DSP
  • API audio Windows, latence < 50ms

Notre Implémentation

Au-delà des consignes (2 effets demandés) :

  • 4 effets DSP complets : EQ, compression, reverb, delay
  • Édition non-destructive : preview avant application
  • Outils de sélection avancés : cut/copy/paste sample-accurate
  • Support formats étendus : 8/16/24-bit, mono/stereo

Liens

  • Dépôt privé (école).

Architecture

Pipeline audio avec effets chaînables :

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

Stack Détaillé

TechVersionRôle
C++17Langage core
XAudio2Windows APIMoteur audio temps réel
Win32/ImGui-Interface utilisateur
Parser WAVCustomLecture fichiers audio

Parser WAV Custom

  • Parsing header RIFF
  • Formats : 8/16/24-bit, mono/stereo
  • Navigation chunks et métadonnées
  • Au-delà du 16-bit demandé

Effets DSP Implémentés

  • EQ paramétrique : Filtres biquad par bande
  • Compresseur : Détection RMS avec attack/release
  • Reverb : Bases de convolution
  • Delay : Delay lines avec feedback

Spécifications

  • Latence : < 50ms (API audio Windows)
  • Édition non-destructive avec preview
  • Sélection sample-accurate : cut/copy/paste