Category Archives: News

SMuFL 0.85 and Bravura 0.85 released

We are pleased to announce the release of SMuFL 0.85, another important milestone on the road towards a stable 1.0 release, which is targeted for the first half of this year.

SMuFL 0.85 is the first version to include the classes.json metadata file, which specifies useful groups of glyphs for consuming applications. Classes are entirely optional, so it is not required that a glyph should be in any class. Likewise, glyphs can be in multiple classes. Consuming applications can choose to use the classes metadata to help work out how to handle different glyphs within a SMuFL-compliant font.

There have also been a number of improvements to the classification of glyphs within ranges in this revision. For example, the Quartertone accidentals (24-EDO) and Other microtonal accidentals ranges have now been combined into a single Other accidentals range, such that each of the preceding ranges of accidentals represents a coherent system, and all of the remaining accidentals used on a more ad hoc basis are now grouped together. Similarly, the number of glyphs in the final Miscellaneous symbols range has been reduced by redistributing the percussion swish stem decoration and staff divide arrows to other groups.

New and expanded ranges of glyphs in this revision include the addition of a range for Kievian square notation (in response to a comparison between the repertoire of symbols in Emmentaler and those specified by SMuFL), further revisions to the plainchant ranges, and significant expansion of the Electronic music pictograms range.

As always, complete details of changes and additions are found in the version history.

We are also pleased to release an update to Bravura, bringing it to version 0.85 in correspondence with SMuFL 0.85. With this update, Bravura is now distributed as an SVG font and in WOFF (Web Open Font Format) in addition to OpenType format.

SMuFL 0.85 can be downloaded here, and Bravura 0.85 can be downloaded here.

With the release of classes.json, we have taken another important step towards achieving the outstanding areas of active implementation that are blocking a stable 1.0 release. The remaining two areas are as follows:

  • Development of metrics and glyph registration guidelines for SMuFL-compliant fonts intended for use in text-based applications; and
  • Development of a version of Bravura that implements these new guidelines.

The stable 1.0 release remains contingent on the completion of the above areas of work.

Don’t forget: if you are harbouring suggestions for new glyphs, please submit them before the end of March 2014 for consideration in the 1.0 release.

Finally, Daniel Spreadbury will be in attendance at the MusicXML Community Meeting taking place this Friday 14 March at Musikmesse Frankfurt to discuss the possible integration of SMuFL with MusicXML as part of the proposed MusicXML 4.0 development. If you are planning to attend, Daniel is looking forward to meeting you there.

SMuFL 0.8 and Bravura 0.8 released

We are pleased to announce the release of SMuFL 0.8, another step towards our goal of reaching a stable 1.0 release in the first half of this year.

Thanks to valuable feedback from the community following the release of SMuFL 0.7 last November, this revision enforces that neither canonical glyph names nor code points for recommended glyphs will change once SMuFL reaches its stable 1.0 release. As such, it would be very helpful if members of the community could review glyph names for existing glyphs so that any changes that are recommended can be considered and, if necessary, implemented in good time.

SMuFL 0.8 also expands the repertoire of glyphs in significant ways. New ranges include:

  • Renaissance lute tablature, covering French, Italian and German styles
  • Fingering diagrams for educational materials and method books for recorder, flute, oboe, clarinet, bassoon and saxophone
  • Ivan Wyschnegradsky’s system of 72-EDO accidentals

Existing ranges have also been extended, including additional coupler diagrams and techniques for accordion, further microtonal accidentals (from Penderecki, Busotti, Bosanquet and Tavener), separate noteheads for white mensural notation, and so on.

A number of other smaller changes and additions have been made in this revision of SMuFL in response to community feedback. Complete details can be found in the version history. As always, further feedback is welcomed.

We are also pleased to release an update to Bravura, the SMuFL reference font, bringing it in line with the changes in SMuFL version 0.8. In addition to implementing all of the new and changed glyphs in SMuFL 0.8, there have been minor changes to a number of glyphs throughout the whole font to address potential rendering problems reported by the Adobe FDK checkOutlines tool. This should improve the reliability of the appearance of the font in a variety of applications.

SMuFL 0.8 can be downloaded here, and Bravura 0.8 can be downloaded here.

As we continue on our path towards a stable 1.0 release, the following areas are still under active implementation:

  • Development of metrics and glyph registration guidelines for SMuFL-compliant fonts intended for use in text-based applications;
  • Development of a version of Bravura that implements these new guidelines;
  • Development of the classes.json metadata file defining useful groups of glyphs for use in consuming applications.

At the moment, the stable 1.0 release is contingent on the completion of the above areas of work. Of course it is still possible at this stage to add further glyphs to existing or new ranges: a reminder that if you are harbouring suggestions for new glyphs, please consider submitting them before the end of March 2014 for consideration in the 1.0 release.

Towards SMuFL 1.0

I started work on SMuFL almost exactly a year ago, though at the time I didn’t realise it. Steinberg’s in-development scoring application needs music fonts, so I started to build one. Having worked on music fonts for another scoring application for many years and been hamstrung by retaining compatibility with third-party fonts that originated in the 1980s, and hence not being able to properly use Unicode and OpenType features, I quickly decided to make a clean break with the past, and not design our new fonts to be Sonata-like.

As work progressed on designing the look of the font that would eventually come to be called Bravura, it became obvious that a new approach to organising the glyphs in the font would be needed. I shared my early thoughts on the standard with a handful of expert music engravers and editors in the following weeks, and it quickly became clear that more heads were better than one: this should really be a community effort, and it could conceivably provide a real, designed solution to the problem of using different fonts in different music software (rather than the imperfect de facto solution that had been in place since other font designers started copying Cleo Huggins’ mnemonic glyph layout for Sonata).

Progress to date

After announcing SMuFL at the Music Encoding Conference in Mainz in May of last year, it has been exciting to see the community start to take off. A few statistics:

  • There were around 800 recommended glyphs in the first public release (0.4) of SMuFL. The current version (0.7) defines more than 1850 recommended glyphs, and hundreds more recommended ligatures and stylistic alternates.
  • More than a dozen subject area experts around the world have contributed to the selection of glyphs to be included in SMuFL to date.
  • There have been more than 330 messages on the SMuFL mailing list to date, and the list has more than 70 subscribers.

SMuFL has also received support from software developers large and small. For example, the developers of MuseScore have already started work on integrating it, and it is expected to be a part of the forthcoming MuseScore 2.0 release. I have also been contacted by several other developers, who have expressed their intention to support SMuFL in their applications.

Our reference font, Bravura, has also been downloaded from our web site hundreds of times, and is already being used in the current versions of Rising Software’s ear training and music theory applications, Auralia and Musition, on both Windows/Mac and iOS.

If you are working on an implementation of SMuFL or are using Bravura in your software, please let me know, as I am very interested to track the progress of these projects.

SMuFL 0.8

As things stand, version 0.8 of SMuFL (and Bravura) currently includes the following changes since version 0.7:

  • Based on community feedback, added clarification that code points for glyphs may change until SMuFL reaches version 1.0, after which point existing code points will become immutable.
  • Glyphs in SMuFL encoded in the primary range of U+E000–U+F3FF are no longer considered “mandatory”, but rather they are “recommended”: in order to be considered SMuFL-compliant, a font need not implement every recommended glyph, just as a text font need not implement every Unicode code point in order to be considered Unicode-compliant. Fonts need only implement those glyphs that are appropriate for their intended use at the correct SMuFL code points in order to be considered SMuFL-compliant.
  • Changed guidelines for metrics of text-like glyphs (e.g. dynamics, D.C./D.S. markings in repeats) in fonts intended for use in scoring applications, such that it is recommended that the x-height of such glyphs is around 1 staff space (0.25 em).
  • Added Ivan Wyschnegradsky’s system of 72-EDO accidentals.
  • Added Britten’s curlew sign for a pause of an indeterminate length.
  • Added push/pull signs for accordion.
  • Added slashed sharp/flat accidentals used by John Tavener in his Byzantine-inspired choral works.
  • Added separate noteheads for white mensural notation.
  • Added quasi-random wiggly lines (wiggleRandom1wiggleRandom2wiggleRandom3wiggleRandom4) to multi-segment lines range.
  • Added flipped and large versions of constant circular motion (wiggleCircularConstantFlippedwiggleCircularConstantLargewiggleCircularConstantFlippedLarge) to multi-segment lines range.
  • Added combining top/middle/bottom segments for black and white rectangular note clusters.
  • Added 2, 3, 4 and 6-dot divisi indicators for measured tremolos (tremoloDivisiDots2tremoloDivisiDots3, etc.) to tremolos range.
  • Added clavichord bebung glyphs for 2, 3, and 4 finger movements (keyboardBebung2DotsAbovekeyboardBebung3DotsBelow, etc.) to the keyboard techniques range.
  • Added double-height parentheses and brackets (csymParensLeftTallcsymParensRightTallcsymBracketLeftTallcsymBracketRightTall) to the chord symbols range.
  • Added recommendation for stylistic alternates for time signature digits 0–9 suitable for use as large time signatures shown above/between staves (timeSig0Large through timeSig9Large).

Due to the nature of the additions, there are a substantial number of code point changes between SMuFL 0.7 and 0.8.

Next steps

The goal, then, is to release version 0.8, and then to reach version 1.0 as soon as possible, so that the code points can be stabilised and developers can implement support for SMuFL with confidence. Per recent discussion in the community, once SMuFL reaches version 1.0, neither code points nor canonical glyph names for recommended glyphs will change.

This means that if more glyphs remain to be added to a given range in future than unused code points remaining in that range, new non-contiguous ranges will have to be created elsewhere in the Private Use Area to accommodate these glyphs. (This is not really a problem, since ultimately the actual code point used for a given glyph is arbitrary, but for the sake of tidiness, if nothing else, it is appealing to group all generically similar glyphs together if possible.)

In my view, the two things that stand in the way of reaching version 1.0 are the following:

  • Implementing outstanding requests for glyphs to be included. To my knowledge, the only specific requests outstanding at present are from Mark Adler and Michael Good at MakeMusic, and SMuFL 0.8 will resolve those requests. There are a couple of non-specific outstanding issues (e.g. Maurizio Gavioli has expressed that perhaps there is more to be done in the area of Medieval and Renaissance notation, and Steven Horn has suggested that there may be more glyphs to add relating to lute notation and tablature), but otherwise at present there are no significant known omissions.
  • Creating glyph registration and metrics guidelines for fonts intended for use in text-based applications. To date I have focused on fonts intended for use in scoring applications, but I believe defining the guidelines for fonts intended for use in text-based applications should be completed (and a reference font produced) before SMuFL reaches version 1.0.

I am interested to hear from the community whether anything else should be added to this list.

Likewise, if anybody in the community is harbouring any requests for new glyphs or ranges of glyphs to be added, please do not delay in making those requests as soon as possible.

And, of course, if anybody in the community would like to volunteer to assist with the definition of the design guidelines for fonts intended for use in text-based applications, that help would be greatly appreciated by me.

My proposal is that I set a deadline (perhaps the end of March 2014, if that is not too soon) for the community to submit proposals for consideration for SMuFL 1.0, and then finalise the 1.0 release as soon as possible after that, though at the present time it’s difficult to estimate how long that might take without knowledge of what proposals I might receive.

Thanks once more to everybody in the community for their contributions to date. I am looking forward to reaching the milestone of a version 1.0 release.

SMuFL 0.7 and Bravura 0.7 released

We are pleased to announce the release of SMuFL 0.7, which marks a significant step forwards in the specification of the standard.

A major focus of work has been to specify definitions for three metadata files, in JSON format, to make it easier for software developers to implement support for SMuFL in their applications.

The first, glyphnames.json, defines canonical names for each of the mandatory glyphs defined in SMuFL, together with their current code point; it is inevitable that some code points will change as the repertoire of glyphs in SMuFL is extended, so immutable names for glyphs will make it easier for developers to manage change as SMuFL itself and SMuFL-compliant fonts are further developed. An initial version of glyphnames.json is included in the distribution for SMuFL 0.7.

The second, classes.json, defines classes, or groups, of glyphs that should be treated in a consistent manner by consuming applications. For example, SMuFL defines hundreds of glyphs for different notehead designs, across a number of different ranges; the intention is that classes.json should list all of these glyphs (by name) in a single group, so that a consuming application may know which glyphs should be, say, presented to the user in a choice of notehead designs in a scoring application. Development of a full classes.json file describing all of the glyphs in SMuFL is ongoing, and feedback is welcomed from software developers about what kinds of classes of glyphs it would be useful to define.

The third JSON data file is for font-specific metadata, to capture information that cannot easily be obtained by programmatic examination of the font or individual glyphs within the font. This includes optional suggested defaults for common engraving values, such as line thicknesses and distances, that will produce an appearance consistent with the font designer’s original intention, and information about how individual glyphs should be registered and combined with other glyphs or primitives by scoring applications (for example, precisely how noteheads and flags should attach to stems drawn as primitives). The distribution for Bravura now contains a metadata file in this format for use by consuming applications.

These data formats have been developed in conjunction with Joe Berkovitz of Noteflight, to whom we owe a debt of gratitude.

Other major changes in SMuFL 0.7 include a significant expansion of the repertoire of glyphs for Medieval and Renaissance music, including daseian, mensural and plainchant notation. Thanks go to Michael Scott Cuthbert for his expert assistance in specifying the expanded ranges.

A number of other smaller changes and additions have been made in this revision of SMuFL in response to community feedback. Complete details can be found in the version history. As always, further feedback is welcomed.

We are also pleased to announce the release of Bravura 0.7, an OpenType font licensed under the SIL Open Font License, which implements all of the changes in SMuFL 0.7. (The last release of Bravura was version 0.3, accompanying SMuFL 0.6; we have decided to bump the version number of Bravura for this release, and intend for the version number of Bravura to match the version number of the version of SMuFL it implements in future.)

Bravura 0.7 includes hundreds of new glyphs, and also defines three OpenType stylistic sets: ss01 is for glyphs for use on small staves (i.e. different optical size); ss02 is for short up-stem flags designed to avoid augmentation dots; and ss03 includes straight flags. Developers who have already implemented support for earlier versions of Bravura should beware that version 0.7 also features significant changes in glyph registration, matching the updated guidelines provided in SMuFL 0.7.

SMuFL 0.7 can be downloaded here, and Bravura 0.7 can be downloaded here.

SMuFL 0.6 and Bravura 0.3 released

Following on the release of SMuFL 0.5 and Bravura 0.2 at the beginning of July, we are pleased to announce the release of the next revision to the SMuFL standard, version 0.6, and a version of Bravura that is compliant with the new revision, version 0.3.

One of the key developments over the past few weeks has been discussion about guidelines for font metrics and standardised glyph registration for fonts intended for use in scoring applications. SMuFL 0.6 includes the latest version of these guidelines, with particular thanks to Joe Berkovitz and Emil Wojtacki for their detailed input into their development. Bravura 0.3 has been updated to match the new guidelines for glyph registration, and can be examined as a reference implementation.

The other most significant change to SMuFL has been a reorganisation of the glyphs representing ornaments. The former single range called ‘Ornaments’ has now been divided into four ranges (for common ornaments, less common ornaments, combining strokes for trills and mordents, and a range of precomposed trills and mordents using the strokes defined in the preceding range).

In reflection of the fact that it is impractical to define a canonical interpretation for each of the symbols used as ornaments in music of the 17th and 18th centuries, the descriptions in SMuFL for those beyond the ornaments generally considered standard and well-understood tend towards their visual attributes rather than their musical meaning; for example, a glyph that was described as a “forefall” in SMuFL 0.5 is now described as “double oblique straight lines, SW–NE” in SMuFL 0.6.

A small number of glyphs that were included in SMuFL 0.5 by virtue of having been included in the Opus font family (the default font family that ships with Sibelius) have been removed from SMuFL 0.6, in order that SMuFL might more closely map the symbols and strokes catalogued by Frederick Neumann in his authoritative book on baroque ornamentation.

For a complete list of the changes and additions in SMuFL 0.6, please consult the version history.

SMuFL 0.6 can be downloaded here, and Bravura 0.3 can be downloaded here.

SMuFL 0.5 and Bravura 0.2 released

Since the initial public releases of both SMuFL and Bravura at the Music Encoding Conference in Mainz at the end of May, a community of application developers, font designers and music engravers has burgeoned around the proposed standard, and there has been a great deal of very valuable discussion about what glyphs the standard should contain, how they should be organised, and what technical requirements should exist for fonts to be SMuFL-compliant.

In order to foster further discussion and as a waypoint in the development of the standard, Steinberg is today releasing SMuFL 0.5, together with Bravura 0.2, an updated version of the Bravura font that is compliant with SMuFL 0.5.

Thanks to the contributions of many members of the community too numerous to name here, SMuFL 0.5 has almost doubled in size in comparison to SMuFL 0.4, with the addition of more than 600 new glyphs and a number of new ranges. SMuFL 0.5 also includes an interim set of guidelines for font metrics and glyph registration for fonts intended for use in scoring applications, which should at this stage be considered work in progress and a starting point for further discussion.

SMuFL 0.5 can be downloaded here, and Bravura 0.2 can be downloaded here.

SMuFL launched at the 2013 Music Encoding Conference

Daniel Spreadbury of Steinberg, who initiated the SMuFL initiative, today presented his work to date on the proposed standard to the delegates at the 2013 Music Encoding Conference at the Academy of Sciences and Literature in Mainz, Germany.

For an introduction to SMuFL, please read this page.

Daniel’s presentation from the conference will be available on this site soon.

Introducing Bravura, the first SMuFL-compliant font

In addition to launching SMuFL at the Music Encoding Conference in Mainz today, Steinberg has also today made available a pre-release version of the first SMuFL-compliant music font, called Bravura.

Bravura is a music font that draws on the heritage of the finest European music engraving of the 19th and early 20th centuries, with a bolder and more substantial look than most other music fonts: thin strokes are slightly thicker than in other fonts, improving the overall “blackness” of the font and its legibility when read at a distance.

Bravura is licensed under the SIL Open Font License (OFL), which means that it is free to download with very few restrictions on its use: it can be bundled with free and commercial software, embedded in documents, and even used as the basis for new fonts. The only restrictions of note are that the font cannot be sold on its own; any derivative font (i.e. any font that uses even a single glyph from Bravura) cannot use the name “Bravura”; and that any derivative font must also be released under the same Open Font License.

You can read more about the design process of Bravura on the Steinberg blog, and you can download the pre-release version of Bravura from this page.