lilypond-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Parallel Square Premusic


From: have
Subject: Parallel Square Premusic
Date: Sun, 19 Mar 2017 18:11:42 -0700
User-agent: MailAPI

Hello guys, I am Vac.
 
I have invented an extremely robust and perfectly extensible plaintext file format called Parallel Squares.
 
The prototypical use of this format is to encode premusic (I use this word to describe instructions for how to play music, as opposed to any audio recording - thus, what is commonly called "sheet music" I would call instead "sheet premusic"). Here is "Happy Birthday", rendered in my format, based off of this image.
 
 
Happy Birthday
[]ly  ________Hap___birth___________Hap___birth___________Hap___birth___..._____Hap___birth_________
[]ly  _________-py___-day____________-py___-day____________-py___-day_______...__-py___-day_________
[]ly  __________________to__you!______________to__you!______________dear_________________to__you!___
[]pi  --------D4D4||E4D4G4||F$------D4D4||E4D4A4||G4------D4D4||D5B4G4||F$--E4--C5C5||B4G4A4||G4----
[]rh  --------daad||dadada||daaaaaaadaad||dadada||daaaaaaadaad||dadada||daaadaaadaad||dadada||daaa--

[]pi  ----D4------||--D4D4||----A3--A3--||--A3A3||----D4--D4--||--D4D4||----G4--G4--||--D4D4||D4----
[]pi  ----B3------||--B3B3||----F#--F#--||--F#F#||----B3--B3--||--B3B3||----E3--E3--||--B3C4||B3----
[]pi  G2--G3------||G2G3G3||D2--D3--D3--||D2D3D3||G2--G3--G3--||G2G3G3||C2--C3--C3--||G2G3F#||G3G2--
[]rh  daaadaaa----||dadada||daaadaaadaaa||dadada||daaadaaadaaa||dadada||daaadaaadaad||dadada||dada--
 
 
The format is comprised of squares, that is, pairs of characters rather than single characters. This allows for exponentially many more useful symbols than there are keys on a keyboard.
 
Each column of squares refers to the same interval of time in the music. This gives my format a perfect inherent vertical extensibility unlike any else - if you want to say something more about the twentieth note, you need only make a newline and position the cursor above the twentieth note, and add squares describing what you want to describe. Note that different measures have different resolutions - width in squares. Only measures with many fast notes need many squares - a whole note measure could very well be just ||da||.
 
The first square of each line after the literal square [] describes the type of content contained in that line. "rh" is rhythm - two quarter notes and a half note could be "dadadaaa". What more could you need? Pitch is in scientific pitch notation (eg C5), which allows for all the natural notes to be represented by a single square. Sharps and flats may be obtained by lowercasing the letter for a flat or, for example, "D%" for "D5 sharp". (Look at your keyboard!)
 
Not all lyrics may be crunched into square characters; by stacking over sufficiently many multiple lines, we can both include unabridged lyrics and assign each word or syllable to a column of squares.
 
Besides lyrics, every aspect of premusic such as dynamics should be representable in parallel square form with little imagination.
 
I am fairly comfortably able to compose PSPremusic in a simple text editor, but it's not optimized for the purpose. Ideally, there would be a text editor that is suited for parallel squares - slightly more spacing between squares than between characters, doubly spaced cursor, horizontal scroll support, creation/deletion of an entire row or column simultaneously to maintain parity. Features informed by the realities of music could be snippets of code or plugins - suppose the user could push a key on his keyboard in step with a song and automatically generate a correct rhythm line?
 
Alas, I am not a coder, and would have to hire one to have the program made competently, if I wanted to monetize this, as I thought for a while. But I have realized over time that this extremely powerful format would be best released to the free software community at large for mobilization.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]