-
-
Notifications
You must be signed in to change notification settings - Fork 129
Home
Musicpy is a music programming language in Python designed to write music in very handy syntax through music theory and algorithms for musicians.
Musicpy can not only compose music, but also has many algorithms in analyzing music notes, including complex chord detection based on music theory, split main melody and chords for any music and so on.
In this wiki, I am going to talk about the data structures and basic syntax of musicpy, and how to use it.
The initial purpose of why I design this language is to write music in codes with handy syntax, and the most important thing is, this language is completely designed for music theory, which means you can do anything you want in music theory when using this language.
I am trying my best to completely transform the entire music theory system into pure mathematical models (and structures) and computerized system in this project, to build a whole system of music theory that the computers could understand easily, which makes everybody can do researches in designing and developing algorithms about music theory and music itself, intellectualized analysis of music, making experimental music and so on in the world of musicpy. (and of course you can use musicpy to compose any genres of music you like, classical music, jazz, rock, pop, edm and so on)
For the data structure of musicpy, just see the data structures section.
For the basic syntax and useful functionality of musicpy, just see the basic syntax section.
For musicpy composition codes examples, just see the musicpy composition code examples section.
I added a new module called daw
for musicpy in June 2021, this module can load instruments such as audio files and soundfonts files (.sf2, .sf3, .dls) and play or export audio files with musicpy, it is very easy and convenient to use.
To learn how to use this module, please refer to the musicpy daw module section.
If you want to explore more on the music analysis algorithms side with musicpy, you can see the algorithms section, this section contains the analyzing algorithms based on music theory I designed using musicpy.
Note: If you encounter any issue when using musicpy, you can firstly look at the chapter Frequently Asked Questions
to see if your issue is one of them and find the solutions here.
- Basic syntax of note type
- Basic syntax of chord type
- Basic syntax of scale type
- Basic syntax of piece type
- Basic syntax of track type
- Basic syntax of tempo type
- Basic syntax of pitch_bend type
- Basic syntax of pan type
- Basic syntax of volume type
- Basic syntax of drum type
- Basic syntax of rhythm type
- Musicpy composition code examples Part 1
- Musicpy composition code examples Part 2
- Musicpy composition code examples Part 3
- Introduction of musicpy algorithms module
- The algorithm to split the main melody and chords from a piece of music
- The algorithm to determine the chord type of any group of notes according to the logic of music theory
- The algorithm to analyze the chord progressions of a piece of music
- The algorithm to analyze tonality and modulations in a piece of music