Velato
abjad
Velato | abjad | |
---|---|---|
2 | 4 | |
47 | 230 | |
- | 1.7% | |
6.4 | 8.0 | |
2 months ago | 14 days ago | |
C# | Python | |
MIT License | GNU General Public License v3.0 only |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Velato
-
Velato: A programming language where source code must be a valid MIDI music file
Hi, I'm the creator of Velato. I will be reworking the website to include more examples later this year. In the mean time, the latest version of the compiler is on github: https://github.com/rottytooth/Velato
No one has yet written a quine although I would love to see one -- perhaps outputting its representation in lilypond format.
-
LilyPond: Music Notation for Everyone
In 2009, I made Velato, an esolang where code is written in pitch values (https://github.com/rottytooth/Velato) encoded as MIDI files. So sort of the opposite of writing algorithmic music (where the human programmer writes music to satisfy conditions of the program). Before switching to LilyPond, I'd used GUIDO with a GUIDO-to-MIDI generator, but it was always awkward. Part of the challenge is that notes can be sounded simultaneously to make the score work better musically, but still need to appear in the correct sequence in the MIDI file for the program to succeed; something that LilyPond handles correctly. There's a transparency to how LilyPond functions that is not always there with programs that try to be "helpful" and clean-up or rearrange information.
abjad
- LilyPond: Music Notation for Everyone
-
MuseScore 4.1 is now available
And for the intrepid folks who prefer algorithmic or computer-assisted composition, there's Abjad, a Python-based wrapper around LilyPond.
https://abjad.github.io/
-
Are there any good solutions for making a book of songs (with sheet music) in Python?
The abjad library looks really interesting, as it basically gives a Python API for Lilypond. It would help me do all the main features I want. However, from the way it does its Lilypond objects, each song would have to output its own PDF. I don't see how I can use something like PyLaTeX to concatenate all those existing PDFs and make nice hyperlinks and indexes for it all.
-
Automatic code changing in Python with the ast module
This could be done in many other ways. Indeed this is not even the standard way (that would be coding a 2to3 fixer). The practical solution is not general (for instance, it does not support nested classes). Also, it has problems with comments (as we lose them in the AST). But, for the practical purpose (patching abjad) it was good enough (You can see the result here.
What are some alternatives?
VSLilyPond - VSCode Extension for LilyPond
muzic - Muzic: Music Understanding and Generation with Artificial Intelligence
system-design-primer - Learn how to design large-scale systems. Prep for the system design interview. Includes Anki flashcards.
pys60-mcs - Music Composition System for S60 Symbian
Lars-Ulrich-Challenge - Algorithmic and AI MIDI Drums Generator Implementation
keygen - Keygen composes original music in the form of midi files.
bwwtolily - Utility to convert from bww to ly
TheAlgorithms - All Algorithms implemented in Python
obsidian-plugin-abcjs - Plugin which renders music notations from code blocks
UGDownloader - Ultimate Guitar tab downloader