Chord prediction model from Accordo.ai
Project description
🎼 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:
- Expanding dataset coverage
- Enhancing post-processing logic
- Exploring new model architectures (e.g., Transformers)
- 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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file accordoai-0.2.7.tar.gz.
File metadata
- Download URL: accordoai-0.2.7.tar.gz
- Upload date:
- Size: 6.4 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f47c7fa64a8a10ac7832a45f54f35440dec8968b9ae3b51786bef829fd5c5441
|
|
| MD5 |
2c500525de220f4b5233531c5c035b35
|
|
| BLAKE2b-256 |
b3da969129d6e5401eb6302772e3e5da1d4059a099b8ed0f642e07856c74fe08
|
File details
Details for the file accordoai-0.2.7-py3-none-any.whl.
File metadata
- Download URL: accordoai-0.2.7-py3-none-any.whl
- Upload date:
- Size: 6.3 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d9035bff884017b94265af29c4b0c3d47d582055ae84fb40a99889c2e3465b3b
|
|
| MD5 |
739d1a7fcfafdf42eff174e0a58bb46b
|
|
| BLAKE2b-256 |
dbcf0c64103030111191b9dd51ddfa7396df00c4fc43290a2c4e057e3c7cdc0d
|