Skip to main content

🎼 Chord-Classification-Model-Accordo.ai

🤖 Deep Learning for Automated Chord Recognition

This repository contains the research and implementation of deep learning models for real-time chord analysis and recognition, developed as part of the Accordo.ai project.


📌 Project Overview

Accordo.ai is a system designed to provide real-time chord recognition from audio input. The project explores several deep learning approaches to accurately identify musical chords from audio signals, breaking down chord components into root notes, bass notes, triads, and fourth notes.


🧠 Models

Three main models were developed and evaluated:

🎶 M1: Chroma-based Single Output Layer Model

  • 📚 Dataset: McGill Billboard
  • 🎛 Features: 12 chroma features
  • 🧩 Architecture: Bi-LSTM with single output layer
  • 🧪 Purpose: Initial experimentation

🎶 M2: Chroma-based Multi-Output Layer Model

  • 📚 Dataset: Isophonics (The Beatles)
  • 🎛 Features: 12 chroma features
  • 🧩 Architecture: Bi-LSTM with four output layers (root, bass, triad, fourth)
  • 🧬 Augmentation: Pitch shifting (±3 semitones)

🎶 M3: CQT-based Multi-Output Layer Model

  • 📚 Dataset: Isophonics (The Beatles)
  • 🎛 Features: 192 CQT features (24 bins/octave × 8 octaves)
  • 🧩 Architecture: Bi-LSTM with four output layers (root, bass, triad, fourth)
  • 🧬 Augmentation: Pitch shifting (±5 semitones), Gaussian noise
  • ⚙️ Extras: Custom frequency weighting, batch normalization

🗃️ Datasets

Burgoyne, J.A., Wild, J., & Fujinaga, I. (2011). An expert ground-truth set for audio 
chord recognition and music analysis. Proceedings of the 12th International 
Society for Music Information Retrieval Conference (ISMIR), 633–638. 
(McGill Billboard dataset. https://www.kaggle.com/datasets/jacobvs/mcgill
billboard) 
 
Harte, C., Sandler, M., Abdallah, S., & Gómez, E. (2005). Symbolic representation 
of musical chords: A proposed syntax for text annotations. Proceedings of the 6th 
International Conference on Music Information Retrieval (ISMIR), 66–71. 
(Isophonics dataset. http://isophonics.net/content/reference-annotations
beatles) 

⚙️ Data Processing Pipeline

  • 🔍 Feature Extraction: Librosa (chroma & CQT)
  • 🎼 Chord Standardization: Enharmonic correction, consistent labeling
  • 🔁 Stratified Splitting: Balanced training/validation/test splits
  • 🧬 Augmentation: Pitch shifting, noise injection
  • 🧠 Vectorization: One-hot encoding of chord components

📈 Model Performance

Model M3 showed the highest accuracy in testing and generalization. However, recognition of rare chords and noisy signals remains a challenge for all models.


⚠️ Limitations & 🚀 Future Work

  • 🔎 Need for more diverse genre datasets
  • 💻 High computational requirements for training
  • 🎶 Difficulty with complex or ambiguous chords
  • ⚖️ Sensitivity in multi-output predictions

Planned improvements:

  1. Expanding dataset coverage
  2. Enhancing post-processing logic
  3. Exploring new model architectures (e.g., Transformers)
  4. Real-time inference optimization

🧰 Dependencies

  • TensorFlow / Keras
  • Librosa
  • NumPy
  • Pandas
  • Matplotlib
  • h5py

🚀 Installation

# python library
pip install accordoai

# Clone the repository
git clone https://github.com/NightKing-V/Chord-Classification-Model-accordo.ai-.git

🔖 Citation

If you use this code or research in your work, please cite:

@misc{accordoai2025,
  author       = {Robalge Valenteno Lenora},
  title        = {Accordo.ai: Deep Learning for Automated Chord Recognition},
  year         = {2025},
  publisher    = {GitHub},
  url          = {https://github.com/NightKing-V/Chord-Classification-Model-accordo.ai-.git}
}

🙌 Credits

Aslanidis, T. A. (2020). Deep Learning in Audio Chord Estimation (Bachelor's 
thesis). Department of Informatics and Telecommunications, National and 
Kapodistrian University of Athens.  (https://github.com/taslanidis/Audio-Chord
Recognition) 

Harte, C. A. (2010). "Towards automatic extraction of harmony information from 
music signals." Proceedings of the 11th International Conference on Digital Audio 
Effects (DAFx-08).

📱 Implmentations

Music Analysis System (AndroidApp + Backend)
https://github.com/NightKing-V/accordo.ai

👨‍🎓 About the Author & Project Motivation

This research project was developed by Robalge Valenteno Lenora as part of the final year requirements for the BSc (Hons) Computer Science degree at the University of Plymouth.

Supervised by Dr. Mohamed Shafraz, the project explores how deep learning techniques can be applied to automate musical chord recognition and beat analysis — a task traditionally done manually or using rule-based systems. The motivation behind Accordo.ai stems from a passion for music and artificial intelligence, with a desire to bridge both fields to build intelligent tools for musicians, learners, and researchers.

This work not only contributes to the field of music information retrieval (MIR) but also demonstrates real-world application of modern AI engineering practices, including microservice architecture, containerization, and scalable machine learning deployment.

📜 License

MIT License

Metadata

Release files for accordoai 0.2.7

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for accordoai 0.2.7
File Size Uploaded
accordoai-0.2.7.tar.gz 6.4 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for accordoai 0.2.7
File Interpreter ABI Platform
accordoai-0.2.7-py3-none-any.whl Python 3 none any Details

Total release size: 12.7 MB

Release files / accordoai-0.2.7.tar.gz

Download URL accordoai-0.2.7.tar.gz
Size 6.4 MB
Tags Source
SHA-256 checksum
How to use checksums
f47c7fa64a8a10ac7832a45f54f35440dec8968b9ae3b51786bef829fd5c5441
BLAKE2b-256 checksum
How to use checksums
b3da969129d6e5401eb6302772e3e5da1d4059a099b8ed0f642e07856c74fe08
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.0

Release files / accordoai-0.2.7-py3-none-any.whl

Download URL accordoai-0.2.7-py3-none-any.whl
Size 6.3 MB
Tags Python 3
SHA-256 checksum
How to use checksums
d9035bff884017b94265af29c4b0c3d47d582055ae84fb40a99889c2e3465b3b
BLAKE2b-256 checksum
How to use checksums
dbcf0c64103030111191b9dd51ddfa7396df00c4fc43290a2c4e057e3c7cdc0d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.0

Release history Release notifications | RSS feed

This release

0.2.7 This release

2 release files

0.2.6

2 release files

0.2.5

2 release files

0.2.4

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.9

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page