🛑 Required Step: Setting Your ABC File Path

Before running the application, you must manually edit the source code to change the path of the .abc file you want to play.

Recommended Directory Setup

By default, you can structure your assets inside an abc folder located within the same directory as the project source files:

ABC-File-Audio-Synthesiser/
├── abc/
│   ├── your_song.abc       <-- Place your downloaded ABC files here
│   └── beethoven_sym7.abc
├── main.cpp
└── README.md

Make sure your configuration path within the source matches this directory map (e.g., "abc/your_song.abc") before building.

Audio Engineering Project

ABC-File Audio Synthesiser

Code Overview

This application acts as a custom digital audio synthesiser that translates alphanumeric ABC notation data directly into clear sound waves.

The system engine is architecture-ready to cleanly process:

  • • Text Parsing: Reads through standard ABC notation formatting strings to extract foundational musical keys, notes, pitches, accidentals, lengths, and tempo markers.
  • • Waveform Synthesis: Dynamically evaluates and maps parsed text metadata configurations into active real-time digital frequencies.
  • • Audio Streaming: Routes compiled sound samples securely into an initialized live audio output pipeline for continuous sound reproduction.
Where to Find ABC Files
  • • ABC Notation Official Website: The main community portal to browse through thousands of traditional melodies, folk tabs, and classical configurations.
  • • Beethoven's 16-Voice Symphony No. 7: Download an intricate 16-voice multi-channel layout of Symphony No. 7, Movement 2 to benchmark this synthesiser's high polyphonic playback capabilities.
Credits & Dependencies

This repository framework utilizes Sokol Audio to achieve robust, cross-platform audio layer streaming utilities and low-level output stream management.