Unison: Draw Music With Words
Intro
There are multiple ways how you can create music score:
1) Paper and pen
2) WYSIWYG editors
3) WYSIWYM editors
Let’s go over them and discuss in more details their advantages and disadvantages.
1. Paper and pen
It’s the most basic but at the same time the fastest way to write something down. When you have something in mind, you can easily put it on a paper.
The main problem with this approach is that you cannot write consistent score, and most likely other people would find you writing very difficult to read(and maybe even understand). Moreover it’s not something you can publish and present to a general reader.
2. WYSIWYG editors
WYSIWYG means “What You See Is What You Get”. You can see such type of editors in most popular score writers like MuseScore, Sibelius, Dorico, Finale and many others.
With those tools it became really easy to use a computer instead of pen. Also such software would allow you to write readable and consistent sheet music. In order to type notes on score, you just click a certain pitch on a stave and they appear there. And if you need some element(like dynamic marks, articulations or slurs) on a score, usually you just drag those elements from some UI panels and place them on the canvas.
It sounds really good in theory, but you would face tons of problems with that in practice. Mostly because, you need to remember where a certain element is and in which panel, so you can use it on the canvas. Also it becomes really annoying to maintain consistent spacing between notes and other elements.
And if you are want to create something advanced, sometimes it becomes impossible due to limitations of such instrument and the approach they chose.
There is a series of videos on how painful it is to use such tools:
1) MuseScore
2) Sibelius
3) Dorico
Personally I think, that it’s really difficult to create WYSIWYG editor in a proper way. Mostly because we should treat a music score as a document, and not something that you build by putting elements together. I will describe what I mean in the next section.
3. WYSIWYM editors
Now imagine that you can write a description of your music with some commands, and a software would understand what you mean and will draw music score for you. Sound interesting, right?
WYSIWYM means “What You See Is What You Mean”. The main difference from WYSIWYG is that, you don’t see final result immediately.
You type some text like “c d e” and a program draws those notes. There are multiple programming languages for music score and also programming libraries that you can use for that.
But what comes to real product that you can use then I have only one example on top of my head. And this is LilyPond.
Get Guseyn Ismayylov’s stories in your inbox
Join Medium for free to get updates from this writer.
Let’s see how it works:
\score {
\new Staff { \relative c' {
\clef treble \time 4/4 \key bes \major
bes4( c d ees) f( g a bes) \bar "||"
}}}So you type your music score as a structured document and then render your result.
This is a really simple example, but you already see that it’s not that easy to understand the language. Of course, once you learn how everything works, you can type music even faster than in other tools like MuseScore.
But looking at the LilyPond language(which is based on LaTeX language), you see all those brackets, back slashes, and other symbols and you understand that this language is created by programmers for programmers. It’s okay if a musician has some tech background to dive into this language and do the job. But this is the main reason why LilyPond is not that popular compare to other tools like Sibelius or Dorico.
Another problem is navigation between the text and the image it renders. Let’s say you have a really long document, and then you decide to adjust something there. It’s not that easy to find a certain element in the text, because everything is blur with all these symbols in the text.
So, the main question is “Can we do better?”. I think, we can.
Recently I released a new product for creating music score. It’s called Unison. You can find it on unisonofficial.com.
Unison
Unison is also WYSIWYM editor. The main difference from LilyPond is that Unilang (language is created for and used in Unison) consists only of simple words in plain English. And it looks like a human language, not programming one.
Let’s see how we can type the same example above in Unison:
And the text above will render following:
Of course in Unison the example looks more verbose, but at the same time, if you would give any person who does not have any experience in any of these tool, then I bet example in Unison has bigger chances to be understood.
Moreover you can see, that we are using highlighting for the text, so that it’s easy to distinguish different elements in the text. And the most impressive feature is navigation between the text and the image it renders. You could notice it in the image in the beginning of the article. But let’s demonstrate it one more time:
All you need to do is to press ⌘ (on Mac OS) or Ctrl (on other systems) and then left click on a word in the text or an element in the image.
Unison has an amazing documentation on different aspects of the tool, you can check it out here: https://unisonofficial.com/html/user-documentation.html?title=general-idea
I hope that you may find this tool useful for yourself. I’ve been working on that tool more than two years and constantly improving it, and I would appreciate any constructive feedback.
Thank you!
Unison: unisonofficial.com
Demo: https://www.youtube.com/watch?v=u3rZqeKrIj8&t=4s







