Skip to content

Latest commit

 

History

History
16 lines (11 loc) · 1.61 KB

README.md

File metadata and controls

16 lines (11 loc) · 1.61 KB

My old project from around 2011-2012.

The project includes a command line "compiler" (compiles a MusicString into a WAV file) and Visual "IDE".

WARNING: I'm publishing the old source codes as is, in whatever state I left this project while back, if you want to play with it, you're on your own!

Documentation

https://github.com/Frooxius/MusicString/blob/main/doc/Documentation.pdf

What is MusicString?

MusicString is a programming language for writing simple tones and music using just a few ASCII characters, allowing easy sharing of such tunes via text-based media like webpages, forums, micro blogging services (e.g. Twitter), IRC chats or Instant Messaging. The goal is to provide a simple way to write music and tunes with as few characters as possible, while keeping the syntax simple and straightforward.

What can it do?

Tunes and music are written as series of tones that are played in a sequence. Each tone is expressed with a single letter from the English alphabet, where each letter produces different frequency (pitch). MusicString is capable of playing theoretically unlimited number of channels at the same time, allowing creating chords or using several instruments at once. Composer can choose from several instruments, where default set is composed from several basic soundwaves (sine, square, triangle, sawtooth, pluck and noise). Apart from pitch and instruments, it’s also possible to change duration, volume and volume envelope (constant, fade in, fade out) of each tone. Language also provides constructs for reusing and repeating parts of the sequence and more advanced features like nested expressions.