Rastral development blog

Five nibs

A rastrum is a pen with five nibs. Draw it once across the paper and you have a staff. The word survives in engraving, where a rastral number, from 0 to 8, names the size of a staff. I’m calling my notation programme Rastral because the word sits close to the core of modern Western notation: most music, by far, is written on a five-line staff.

I was a musician first: a professional violinist, playing with great enthusiasm in symphony and chamber orchestras. Programming was my hobby. It began in high school, when the first home computers started turning up. Mine were a Commodore 64, then an Atari ST, and after that Macs. The two interests met in the late eighties or very early nineties, on the ST, in a word processor called Signum. I designed my own font for it, which allowed me to mix text and music and write out staves and systems for my papers at the conservatory.

I turned serious engraver in the late nineties, first with Finale and then with Graphire Music Press. I created several very well received scores for our chamber orchestra and for others, and worked freelance for Donemus, the Dutch music publisher.

Detail of a page of Prokofiev’s Fifth Symphony: the woodwinds over four bars of changing metre, engraved in Music Press
Prokofiev, Symphony No. 5: a page of the score as I set it when learning Music Press, printed at 1200 dpi and scanned at 600 dpi. Whole page

Then came Igor Engraver, which for its time was revolutionary. I tested it as a volunteer for a while, and along the way I made some suggestions for making note input more efficient. The function keys just sat there right in front of me on the keyboard, with little to do: a lot of useful real estate. So I proposed putting pitch on them and note values on the number keys. F1 to F7 entered C to B, following the key signature, and F8 the C above, so a single press chose the pitch and entered the note. Both hands worked as in ordinary typing, each free to reach the function keys, the numbers or the letters, and the letters stayed free for slurs, ties, articulations and everything else. Music Press already gave you a note for one key press, but it spent the letter keys on pitch. My layout became Igor’s default input method, and it was my first significant contribution to the programme. I still consider it the most efficient way to enter music from a computer keyboard alone.

In the autumn of 2000 I moved to Stockholm to work for Noteheads, Igor’s publisher. In those first months I entered into Igor part of the score of the lovely Violin Concerto by the Portuguese composer Luís de Freitas Branco, and hooked up my dedicated classical synths to play it back. The result was so good, especially for that time, that I invited the team to come down and listen. It was the first time they had heard what their hard work on playback was capable of, and it was very motivating for them. After about six months, due to circumstances, I was asked to lead Igor’s system design, and so to steer the programme further.

Towards the end of my time in Stockholm I demoed the software to Björn Ulvaeus of ABBA and Per Gessle of Roxette, who were among those who eventually bought it. They didn’t try it themselves; they watched me use it and explain it, and listened to its playback. To pursue other interests, I left in September 2001, after a year and a week.

At around the same time the company ran out of funds before Igor could properly break into the market. New funding rounds were very hard to achieve after the dot-com bust, and the company and its programme were, apparently, sold at auction. I pursued other interests, but I kept the vision of an ideal notation programme in my head, even after Noteheads folded.

One feature stood above the rest: core support for multiple simultaneous time signatures and tempi. The need for it is rare, and I didn’t often need it myself, but I knew there was music that used it, and it always seemed natural to me that a notation programme should support it. I consider it an essential first-class feature. This is not something that should be bolted on, as it was in some other well-known notation programmes. Igor didn’t have it at its core either. Even classical composers occasionally combined metres: in the first-act finale of Don Giovanni, for example, Mozart has three stage bands playing at once in 3/4, 2/4 and 3/8. And Conlon Nancarrow’s Study No. 48 is a canon at a tempo ratio of 60 to 61, with staves that meet almost nowhere.

I started wrapping my head around the problem, and eventually came to a solution that should give an efficient basis for laying out any type of score, however complex. Then life happened, and for years other priorities came first. In that time I became a professional programmer, publishing my own software (PDF editors and a professional metronome for iPhones) and later working for and with European and US companies on mission-critical apps in fintech, insurance and various other markets. Now and then I’d dabble privately in some interesting corner of notation, such as accidental placement on complex chords, from an engraver’s perspective.

While serious work on my own programme began after the summer of 2026, the idea at its centre is twenty years older. It dates from 2006, when I first sat down to formulate a comprehensive design: every event in a score sits at an exact moment, held as an exact fraction. Three triplet eighths take the same time as one quarter because 3 × 1/12 is 1/4, and not because two decimals happen to round alike. So each staff can carry its own time signature and its own tempo, and the music still aligns exactly, with no rounding error anywhere. Two events at different moments are drawn at different places, even when the difference is finer than the ink. Events at the same moment, on whatever staff, form a column, and the spacing is worked out from those columns.

Bach’s 26th Goldberg variation has one hand in 18/16 and the other in 3/4. Rastral writes it as Bach had it printed, without tricks: the 18/16 is a time signature in its own right, not a 3/4 in disguise, and there are no sextuplets with hidden numbers. Each hand simply keeps its own beat, a dotted quarter against a quarter.

The first three bars of Bach’s 26th Goldberg variation, one staff in 18/16 and the other in 3/4, engraved by Rastral
Bach, Goldberg Variations, No. 26, the first three bars: one hand in 18/16, the other in 3/4, as Rastral sets them in Bravura, untouched.

Bach’s barlines still coincide, though. In the passage below they don’t: six bars of 5/8 against five of 3/4, meeting only at the start and the end.

A violin in 5/8 over a viola and cello in 3/4, their barlines meeting only at the start and the end, engraved by Rastral
A few bars written for this post: a violin in 5/8 over a viola and cello waltzing in 3/4, at one tempo, as Rastral sets them in Bravura, untouched.

Tempi work the same way. The score I use to stress-test Rastral has three staves at three tempi, 101 eighths, 103 sixteenths and 107 quarters a minute, each in a metre of its own and full of tuplets that don’t divide it. The numbers are prime, so all three staves meet only at the first downbeat. With bars that never line up, most systems have to end in the middle of a bar. The next system then shows the bar’s number in brackets, and a note still sounding at the break leaves on an open tie and carries on as a line to where it ends.

The first two systems of a score with three staves at three tempi, in 7/8, 11/16 and 4/4, engraved by Rastral
The first two systems of my stress test, as Rastral sets them in Bravura. Bar 4 of the top staff carries on into the second system, and the lower two staves’ held notes continue as lines.

I don’t claim the idea of exact moments as new. I hadn’t even heard of LilyPond when it occurred to me, and it’s no surprise that others had already thought of it. Igor may well have had the same basis; I no longer remember. But it was a useful idea to me, and Rastral is built on it.

A score has to look right. For me that starts with spacing, which deserves a post of its own and will be the next one. For now I’ll say only that where good sources disagree, or I disagree with them, the disagreement becomes a setting, and I choose the default by looking at the alternatives drawn side by side.

And it has to be easy to work with. I never much enjoyed working in Finale. Note input wasn’t even the worst part; it was okayish. What was terrible was the severely modal input for everything else. Igor was, and Rastral is, designed to be much, much closer to how you write as a composer or how you think as an engraver. That is what keeping the letter keys free was for: a slur, a tie or an articulation goes in as you enter the notes, with no change of tool.

Rastral’s note entry grows out of the Igor input method, though that useful real estate has since been repossessed. On the Mac, Apple has claimed the function keys for brightness, volume and the like, and they reach an application only if you hold fn or change a system setting. So Rastral will probably have to settle for a different default, and I’m still working out which. My function-key layout stays available, and any key can be rebound. Changing one note in a long score should take no longer than changing one note in a short one. When I place something by hand, the programme leaves it there.

Rastral is meant to be far more than a notational tool. It should have excellent playback, as Igor did, and it should become an instructional aid, answering questions about engraving as well as music theory. It will still simply write whatever you write. But it should also know what the great books on engraving and orchestration teach, so that when you ask, it can advise in its own words, point you to the book and the page, and change nothing unless you take the suggestion.

I’m not writing the code alone. Claude Code has been a great help, enabling me to develop many complex features in a relatively short time, under my constant supervision. The musical and design decisions remain mine.

One system of Ravel’s La Valse for two pianos, engraved by Rastral
Ravel, La Valse, in his version for two pianos: one system as Rastral sets it in Bravura, with only minimal tweaking by hand (one fingering moved, one stem lengthened). PDF
The same system of La Valse with a different house style for tremolos, engraved by Rastral
The same system with another house style for tremolos, whose strokes now join the stems, and the fingering tweaked differently, so that the slur runs between the fingerings. PDF

Rastral is still in early development, and although it can already do a great deal, much remains to be done. Music engraving is a vast field. Among what it already does, a few things I’m particularly pleased with:

I’ll soon want a handful of committed testers to take it through its paces. If you would like to be one of them, and you have an Apple silicon Mac running macOS 26 or later, write to info at sintraworks dot com and tell me a little about the music you work on and how you envision contributing as a tester. When Rastral will be available for purchase is as yet undecided, but hopefully sometime in 2027. In the meantime, this blog will follow the work as it goes.