Skip to content

A generative model for Indian classical music using finite state machines

Notifications You must be signed in to change notification settings

madvn/Carnatic_FSM

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Carnatic_FSM

A generative model for Indian Carnatic music using Finite State Machines. While, obviously, more sophisticated models could be built for generating (Indian classical) music, it is worth noting that this non-neural-network based approach is a plausible baseline at the very least.

Blog post explaining the approach - https://link.medium.com/oOsDnH1XdT

To try, install Music21 using pip and then from carnatic_fsm/carnatic_fsm run

python simulate_fsm.py abhogi aadi

This would simulate a pre-generate finite state machine for abhogi raagam set to aadi taalam's rhythm, and generate a midi file to listen to and also the musical score (requires museScore to be installed). Comment out line 101 in simulate_fsm.py if you just want the midi output.

Sample generated music

Music generated using this model based in abhogi raagam is available here

Music library

This repo uses Music21 to programatically construct the musical piece and save it as a score as well as in midi format.

Resources

http://web.mit.edu/music21/doc/about/what.html
http://www.hitxp.com/keyboard-music-notes/western-notations-guide-convert-classical-indian-carnatic/
http://www.mtosmt.org/issues/mto.15.21.4/schachter_examples.pdf

About

A generative model for Indian classical music using finite state machines

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages