Ask HN: How do I standardize my music specification so people can use it?
5 points| 4nof | 7 years ago
This is Twinkle Twinkle Little Star: 24 | this sets default note to a 2^2 quarter note
24 c c g g a a 1g f f e e d d 1c g g f f e e 1d g g f f e e 1d c c g g a a 1g f f e e d d 1c
now , just replace all g's with 9's and you have hex. The 1's are 1/2^1 = 1/2 notes
I have an example of minuet played in HexNoteG9 as well as more details on the modifiers, how to do rests, octaves, sharps, flats, dotted half notes, dynamics, looping, and comments: https://drive.google.com/file/d/1atnHKK4mbMjGrJFFhCk76e9YaTAkiv5y/view?usp=sharing
I want to make a specification that is peer reviewed similar to how the JSON specification looks https://tools.ietf.org/html/rfc7159
My end goal is to standardize a specification so that other people can adopt and use it. It would be nice to build tools off of this with other people.
shoo|7 years ago
do any of those alternatives have standards for machine-readable notation?
edit:
one way to get started would be to put together your own first draft of the specification, with examples, on a place where others can easily read it and suggest improvements (e.g. it could start off being a file in a git repo hosted on github.com, say ).
answering my own question:
some random alternatives might include:
MIDI -- https://www.midi.org/specifications
LilyPond -- https://en.wikipedia.org/wiki/LilyPond#Overview_of_input_syn...
GUIDO -- https://github.com/grame-cncm/guidolib/blob/dev/doc/GUIDO-Mu...
MusicXML -- http://w3c.github.io/musicxml/
RTTTL (RingTone Text Transfer Language) -- http://www.panuworld.net/nuukiaworld/download/nokix/rtttl.ht...
4nof|7 years ago
LilyPond as well as ABC notation cannot be stored in an int array, which makes moving things back and forth more difficult.
GUIDO looks cool and looks similar to an earlier format I tried using strings to store data. It looks fully featured, but it is not hex.
MusicXML takes a bunch of time writing tags. If I were to write it out by hand, it would require more tags and more lines than hex.
RTTTL : I'm not sure how to do dotted quarter notes, tied 8th to a dotted triplet. It seems similar to a text2Midi solution I created earlier, except my solution accounts for those edge cases.
I took your suggestion on getting started and put it into a github readme: https://github.com/fornof/hexNoteG9/blob/master/README.md
4nof|7 years ago