dechorder - automatic recognition of chords in music
TRANSCRIPT
DechorderAutomatic Recognition of Chords in Music
Yuriy Guts
ProblemFor amateur musicians, ear training is hard
Requires Years of Practice
I’ve heard this so many times.It’s a II – V – I blues progression
starting with a B flat minor
Umm… it sounds minor-ish...Or is it a minor 7th?
How do I know for sure?
Maybe a Machine Can HelpAnalyze any piece of music through frequency decomposition
Detect the chords it’s built on
Provide insights into the structure of the song
System Scope
• Recording / importing audio• Submitting audio to the server• Playback and visualization
• Audio feature extraction• Learning and prediction model• Web API services
Client Side Server Side
Recognition: Step 1
Convert time domain to frequency domain(Fast Fourier Transform)
Produce chromagrams
Recognition: Step 2
Classify chromagrams with a Feed-Forward Neural Network
chord probabilities
chromastrengths
Client: iOS App
Audio Recording Data Persistence Audio Playback
Waveform VisualizationAsync Networking
Technology: Client
• Programming Language: Swift 2.1• Audio operations: AVFoundation, EZAudio• Persistence: CoreData (SQLite)• Network: Alamofire, SwiftyJSON
Technology: Server
• Programming language: Python 2• Preprocessing and feature extraction: scipy.signal• Machine Learning: scikit-learn, ffnet• API services: Flask-RESTful
Coming Soon to App Store :)
Dechorder