unit-tests-screen

Development diary, part three

Daniel Spreadbury

In my last post, I started to bring you up to date on our progress over the past few months, and today I’m going to continue the story. You have probably by now come to expect a fair amount of nerdy detail, and hopefully I won’t disappoint.

The image above is a screenshot of Steinberg’s internal build system, which sits in Hamburg churning out build after build of all of Steinberg’s products under development. We employ continuous integration, which means that the software is constantly being built and rebuilt after every change to the source code is committed to the central repository. Every time the software is compiled, the compiler runs all of the unit tests that our team have built into the software to check that every part of the program is still working as it was designed to: unit tests are an important way to guard against bugs in complex software, because they check every part of the program independently of each other — provided the developer has written the unit tests in the first place, of course! One of the advantages of starting a new application from scratch is that it’s practical to ensure good unit test coverage across the whole program from the outset, which should result in a better-tested, more robust and less buggy final product than current-generation scoring programs. A good deal of the time the team spends writing code is spent writing unit tests, and you should feel the benefit of this time investment in the stability of the final product.

June

While the development team are beavering away at the lower levels of our application’s musical brain, my colleague Anthony (@AntHughes) and I are free to think about the way the user will interact with the software. As part of this work, Anthony is using an application called Axure RP (the RP stands for “Rapid Prototyping”) to design interactive wireframe mock-ups of key parts of the application’s interface.

Prototyping in Axure

Prototyping in Axure

From the image above, you can get some kind of idea of the sophistication of the tool. Each element in the wireframe can have conditional behaviours, so you can create multi-step workflows directly inside the prototyping environment. Our aim is to produce something that we can put in front of real humans to validate our design concepts as a more sophisticated version of a paper prototype or the fabulously-named Wizard of Oz prototype.

We have a pretty clear idea of large parts of the application’s user interface. Our goals are to put the most important tools at your fingertips without overwhelming you with screen after screen of buttons and toolbars. At the same time, we want the application to use as few pop-up dialog boxes as possible, so that you are interacting directly with the score itself as much as possible, with few interruptions.

We will be trying out some of Anthony’s mock-ups with real human beings soon, which will provide some important validation of our core user interface concepts before they have been implemented in the main application.

Portland Place in London, home of the ABRSM (Courtesy scotticus_ on Flickr)

Portland Place in London, home of the ABRSM (Courtesy scotticus_ on Flickr)

Continuing our visits of major publishers, James and I went to visit the publications team at the Associated Board of the Royal Schools of Music here in London. We had a wide-ranging discussion with Simon Mathews, Stuart Briner and Stuart Rose about how the ABRSM is looking to the future and a time when its publications, so familiar to hundreds of thousands of instrumental students around the world, will be available in a variety of digital formats in addition to the well-loved print editions. We got a glimpse of the sorts of content management challenges that the ABRSM faces with producing its syllabuses and course materials in a variety of languages, and how to pull together text in different languages with score pages. This meeting reinforced our view that, as music publishers grapple with the seismic changes in how they distribute their content, the tools that will flourish will be the ones that best solve these content management and output format problems.

July

As London began to swelter under an oppressive heatwave, things were hotting up in our office, too, as several significant steps were taken by the development team.

Apple's profiling tool Instruments showing our test harness running tasks on multiple CPU cores.

Apple’s profiling tool Instruments showing our test harness running tasks on multiple CPU cores.

One of the technical goals for our new application is to take advantage of the parallel processing capabilities of today’s CPUs. The beginnings of a framework to tackle editing operations in parallel rather than in series was taken in July, with some parts of the MusicXML import process being successfully handled by all eight cores of the Mac’s CPU simultaneously. Although this is just a small step, it’s indicative of the care that’s being taken by the team to ensure the program’s operations are sufficiently independent and modular that they can be run in parallel.

Another important step forwards was the design and implementation of key signatures and tuning systems in the low levels of the music model, steadily building up its knowledge of core musical concepts. Just as with the team’s previous work on time signatures, the aim is for our application to handle key signatures as flexibly as possible, with support for custom key signatures (such as those found, famously, in Bartók’s folk song transcriptions and studies) — but we also have a number of other clever tricks up our sleeves, about which more will be revealed in the fullness of time.

We’re also working closely with the rest of the engineering team in Hamburg, who are lending their time and expertise to take the first steps towards coupling our proto-application to the audio engine that powers Cubase, so that we can start to hear the fruits of our labours. There is still a great deal to be done, but it’s now possible to import pitches, rhythms, dynamics, time signatures and key signatures from a MusicXML file into our test harness, perform some edits on the musical content, and then export a MIDI file and hear it played back. Again, small steps, but a journey of a thousand miles starts with a single step — and hopefully we have taken more than a single step by now.

As July came to an end, we released a third major revision to SMuFL (taking it to version 0.6) and to our open-licensed music font Bravura (taking it to version 0.3). The font now contains more than 2000 glyphs, and it’s starting to take advantage of some of the advanced features provided by OpenType, such as stylistic alternates.

In most scoring applications, the same glyph in a music font is used to draw the same musical symbol at all sizes, though this can give unsatisfactory results: when a font character is scaled down, all of its strokes appear thinner, which can make the shapes harder to discern at small sizes, and thus make the music subtly harder to read. For example, take a look at this improbable musical excerpt, part of a nonsense score I have cooked up to test various features of Bravura at different sizes:

Scaled accidentals on the left, alternate glyphs on the right.

Scaled accidentals on the left, alternate glyphs on the right.

The differences between the two sharp and flat signs is pretty obvious when blown up to this size: the symbols on the left are the standard glyphs, designed for use at normal staff sizes, while the symbols on the right are stylistic alternates, designed to be substituted by the scoring application when they end up smaller than a certain size, for example when used on a small staff.

These are subtle details, to be sure, but music engraving is a world of subtle details, and we are determined to produce great-looking results, taking advantage of the latest technology to produce results that uphold the finest traditions of this centuries-old art.

That’s it for this instalment of our development diary. As always, we love to read your comments, so we encourage you to share your thoughts and ideas with us in the comments below.

116 thoughts on “Development diary, part three

    1. Sarah A (@marrie1)

      I’m just getting around to reading this but I hope to test as well, especially from a visually imapired persepctive. It owuld be a dream come true if I could arrange and write down successfully what i hear in my head and get it realized both on paper and through the human voice and piano.

      Reply
      1. Brian

        Attention to screenreader access for the visually impaired would be a great feature to consider as early as possible while working on the ui.

        Reply
        1. Daniel Spreadbury Post author

          @Brian: I’ve provided information on this before elsewhere in replies to comments: we certainly intend to provide support for assistive devices such as screen readers, but the extent to which we will be able to achieve that in our first release will depend on support for assistive devices being added to the application framework that underlies all of Steinberg’s products (apart from Wavelab), which is something we are discussing with our colleagues in Hamburg, but is not something we can categorically promise at this stage.

          Reply
      1. Andi S.

        I just might do that! Thanks for the reply.
        Reading your entries so far, you guys seem to have created a musical software engineer’s dream environment. Certainly something to be proud of :)

        Reply
  1. Chris Krycho

    I nerd out every time you post one of these. The combination of music, software, and typography is pretty well calibrated to push every one of my happy buttons.

    Out of curiosity, in what language are you writing the back end, and what are you planning to use for a GUI framework?

    Reply
    1. Daniel Spreadbury Post author

      @Chris: Our team is made up of highly-experienced C++ wizards with ninja-like coding skills, so the application is being written in C++, with bindings to Lua for the scripting layer. The GUI framework is Steinberg’s own framework, which is used by all of our applications and plug-ins (except for Wavelab, which these days uses Qt). I’m glad you’re enjoying the blog posts!

      Reply
      1. Ben B.

        Will there be a way to extend the Application with native PlugIns (via SDK, like MS Office)? I would like to do more changes (Mods) then it is possible with Scripts.

        Reply
      2. Sarah A (@marrie1)

        Does anyone know of the C++ format will work with voice over, the screen reader that ships with osx 10.4 and higher? I’d love to test the software for accessibility as I know many of my friends who are arrangers and composers like myself rely on sighted help and sometimes it is not around or you have to compose that piece at 2 am for your class and there’s no sighted help any ware to be had. Good luck and look forward to part 4 of the blog. Nice job.

        Reply
  2. Stephen H. Owades

    As a typesetter, I have to point out that the drawing of beams in your “alternate glyphs” example is problematic. The beam appears to begin at the mid-point of the stem, so there is an unsightly join that should be fixed. Even some of the flags meet the stems in a less-than-smooth manner. I realize that you were demonstrating something else, but wanted to remind you to think about these issues when trying for a “polished” look.

    Reply
    1. Daniel Spreadbury Post author

      @Stephen: That example isn’t drawn by our application, but is based on an EPS export from Sibelius, edited in Illustrator (to gain access to the necessary OpenType features, which aren’t supported by Sibelius).

      Reply
  3. Elijah

    Is there any hope that this software will be able to import actual .sib files instead of just .xml files? Or some way so that current Sibelius users don’t have redo work that is already done? You would definitely get a lot of users running to this platform instead of evening considering finale.

    Reply
    1. Daniel Spreadbury Post author

      @Elijah: No, our new application won’t be able to open Sibelius scores directly. Even if it were practical for us to reverse-engineer the proprietary, complex Sibelius file format, there could be legal implications for doing so (though I am neither a lawyer nor an expert on international intellectual property laws). Fortunately, MusicXML should provide an acceptable route to get music in and out of our new application relatively painlessly.

      Reply
  4. Wallace De Pue

    Hi Daniel!

    We miss you on the Sib. List. There is a terrific new playback program, noteperformer ($129.00) that I’m considering until I know whether or not Sibelius will become unavailable. Will your new notation system work with noteperformer?

    Have a GREAT week!

    Walli

    Reply
    1. Daniel Spreadbury Post author

      @Walli: It’s good to see you again! I am familiar with NotePerformer and was peripherally involved in testing the product before it was released. I’m a great admirer of what Arne has achieved with it. As far as I know, NotePerformer is basically a VST instrument, so it would most likely work with our new application, but some special integration work would be required to achieve the same level of automation with regard to switching playing techniques and articulations, etc. NotePerformer has been carefully designed to work optimally with Sibelius, so it may be that Arne would want to produce a specially optimised version of NotePerformer for our new application too, but until we’re a bit further down the line, it’s a little hard to say.

      Reply
    1. Daniel Spreadbury Post author

      @Helge: Our colleagues in Hamburg are more experienced with optimising real-time processing than we are, and undoubtedly have tried out techniques like OpenCL. I certainly wouldn’t rule it out.

      Reply
  5. Claude Lapalme

    There are no words to describe the feeling of appreciation I experience when faced with this type of detailed communication. The product is not even close to being out, but there is already a feeling of trust firmly established between the developers and the future users. Thank you!

    Reply
    1. Nigel Fletcher

      Thanks Daniel for the update. It must be a dream come true to start an application from the ground upwards but it must be overwhelming at times having so many choices!!

      Keep up the good work I look forward to trying the product.

      Reply
  6. Peter McAleer

    @ Walli, @ Daniel. That was a trun up Daniel, you testing NotePerformer! For me this kind of integration betwdeen notation and playback, so that composers can get on with *their* job without becoming DAW wizzards, is the way forward. I love NotePerformer (OK, needs some work) and spent quite some time playing around with it already. Your ‘nerdy’ blog was too short! I love every word of it. More! More!

    Reply
  7. australiancomposer

    Sorry, should have clarified!

    NOT NotePerformer but the one You Daniel & Steinberg are working on?

    IF I like it will it make my Cubase 6 redundant?

    Cubase 6 is dreadful at Note Input & editing notation, will your new program be far superior?

    Reply
    1. Daniel Spreadbury Post author

      @australiancomposer: We hope our application will import Cubase projects, yes. In an ideal world we should be able to import the project such that we can accurately assign instruments to tracks, maintain the same VST and mixer setup (as far as possible) and so on, such that your project should sound the same when you play it back in our application as it does when you play it back in Cubase.

      As for note input and editing in Cubase, I think it’s fair to say that Cubase is not intended as a notation-first environment, and although the score editor in Cubase is very capable and sophisticated, it’s really better suited for editing notation that has been played in real time on a MIDI keyboard than for, say, step-time input as you would perform in a notation-first program like Sibelius or Finale. We certainly intend to make the input and editing in our new application as smooth and as flexible as possible (though that doesn’t mean that we will be copying the methods used by Sibelius, Finale or indeed Cubase!).

      Reply
  8. Peter Leigh

    Brilliant – I’m really excited about this, and can’t wait for the next update! Have you come up with a name for the program yet?

    Reply
    1. Daniel Spreadbury Post author

      @Peter: No, we don’t have a final name yet. We have a long list of possible names, and I have a couple of favourites, but we haven’t settled on anything yet. We’re still open to suggestions!

      Reply
      1. Ron Cleave

        A suggestion: To make the product the most sale-able the name should be no more than two syllables. If it rolls of the tung easy, people will talk about it.
        Ron

        Reply
        1. Carsten

          I like musical made-up words with deeper meaning like Ableton, Cubase, Celemony, Melodyne… :) on the other hand from the point of view of a German it seems very creative, from the point of view of native speakers it’s maybe trite… !?

          Reply
      2. Andrey

        It’s convenient if the name is unique in terms of Internet search and associated only (ideally) with your future app. For example, in some search engines word “Finale” is mixed with “final” in sports and so on.

        Reply
  9. Urs Liska

    Very interesting reading, indeed. Please keep up that level of detail.
    I think the concept of stylistic alternatives (‘optical sizes’) for the notation font is a good one. Is this integrated in the SMuFL concept too?

    Reply
    1. Daniel Spreadbury Post author

      @Urs: SMuFL allows for these kinds of stylistic alternates, but does not make them mandatory: for a font to be SMuFL-compliant, it has to contain a certain set of glyphs encoded at certain code points, but it does not have to include any advanced features specific to particular font technologies, such as stylistic alternates. That’s so that any consuming application can make use of a SMuFL-compliant font without needing to be able to access those features. In the case of optically-sized alternates for certain symbols, an application that doesn’t support stylistic alternates can simply use the regular glyph, and although it won’t look quite as good, the music will still look correct, i.e. still use the appropriate symbol.

      Reply
      1. Urs Liska

        I think that’s good design. Of course you should communicate this clearly enough to potential font developers because it might not be obvious to them.
        Well, the comment in your post was good in this respect, but I’m thinking of something more official like a sufficiently prominent place in the standard’s description.
        Of course you know I’m already used to benefitting from optically sized font variants ;-)

        Reply
  10. Alex Major

    Any plans for using an expert system / rule engine for music analysis? It’s so much easier than writing your program smarts in conventional code. Would be nice if users could add their own rules to the engine. Perhaps even make that component an extendable open source project similar to Darwin for MacOS X. And then tie the system to your plugin script language.

    During slow music theory studies, I had started writing a notation program in Java with an expert system ( JESS ). I figured I could put what I learned in the engine instead of committing it to memory. But I got as far as the Model-View-Controller framework and life got in the way.

    I implemented user interaction for basic note placement on a staff. It could playback and highlight 32nd notes at a fast tempo in real time on my 867 Mhz Mac G4 “legacy” testbed. It ran in Windows with no mods. Even with its garbage collector, pure Java was fast when you avoid crazy-stupid programming mistakes. And I used Java 4.2 ! ( or 1.4.2 back then) I drew everything programmatically with Java 2D; notes, rests, clefs, etc… Can hover over or select various parts of each object for planned complex interactions based on ideas from video games. It seems so inefficient selecting note types by dragging a mouse to, and from, a far away button menu.

    I never started the rule engine.

    I give my idea out there because life threw me a temporary eight-year setback, and I don’t have time for this project and for music production / composition, unless someone paid me, even part-time… ;)

    Reply
    1. Daniel Spreadbury Post author

      @Alex: This is an intriguing idea. Our focus at the moment is on providing as good an analogue to a piece of blank manuscript paper and a pencil as we can: we want to provide the best possible tool for capturing and working with musical inspiration without interfering in the creative process. But I see no reason why, over time, we should not at least consider adding tools to assist the user with jobs like melody extension, harmonisation, orchestration, variation, and so on. We have a long road to travel, though, to build the foundations of our application such that it can start its journey towards becoming – we hope – the preferred creative tool for thousands of musicians around the world, so this will be something we think about once those foundations are in place and are good and strong.

      Reply
      1. Alex Major

        I hear you. Big job ahead. I hope you design the GUI with an eye to the future so that it will be easier to accommodate features without rewriting too much front-end code. I like stating the obvious ;) Even the best notation software out there is showing its age and GUI limitations.

        Reply
  11. Ukfraser

    Hi Daniel, are you considering tablet use for consumption? While I prepare my scores in Sib 7 on a MacBook Pro, I consume them on my iPad, currently via PDF into forScore with a Bluetooth page turner (but a mature Scorch could remove the need to PDF). Finale also have an equivalent app for their proprietary file format. I appreciate you then have different platforms to consider.

    Reply
    1. Daniel Spreadbury Post author

      @Ukfraser: Yes, we are definitely considering apps for iOS and Android devices, though we may or may not have something ready on the day the first version of our main application for Windows and Mac is released. Whatever happens, though, our application will be able to export MusicXML and, hopefully, PDF files, so you should be able to take music created in our application and consume it in a variety of other desktop and mobile applications from day one anyway.

      Reply
      1. Ukfraser

        PDF is better as there are a lot of mature products available. MusicXML is not ideal, currently Scorch is the only app I am aware of that will read it and that is currently only suitable for rehearsals. I do not believe the Finale app reads MusicXML.

        Reply
  12. Mike Dunn

    Hey Daniel, looking good. I think people have mentioned this before but just to add my two cents worth… will you be incorporating full graphical display of multi channel cc info within the score and /or parts ? Sibelius is way behind with this and it would be a clincher imo. Best of luck, Mike

    Reply
      1. Mike Dunn

        Thanks Daniel. It’s not so much graphical control than graphical display. So many instruments these days need some sort of modulation of resonance.filters etc and if, like with my work, orchestral instruments are used side by side with VSTi’s it becomes an imperative for performance to be able to display this sort of thing on the score and in parts. The only way to do this atm is to go to another program and make an image, very tedious. To be able to display this cc information for performers in long scores (even automatically from Nuendo if your new program does that) would be FANDABIDOSO !
        Never has a new program been so watched during its inception ! Good for youze.
        Best, Mike

        Reply
        1. Sean

          Mike,

          I’m in full agreement. I’ve suggested it to Daniel and I’ve seen others suggesting it too. Hopefully if enough people voice it, it will be implemented early on.

          Making a convincing mock-up is just as important as printing a score in the market today… it’s almost mind-boggling how much the “performance” is neglected. It takes too long to import my midi file into another notation program as I’m already doing. I want to write my mock-ups in a notation program and not have to go from one piece of software to the next. Where controllers are too sloppy for a convincing mock-up, a graphical option would be best for me.

          -Sean

          Reply
  13. Bruno

    Being a composer with a classical background I always write my music on paper before starting to work on the mock up in Cubase 6.
    After sequencing I export the XML file to Sibelius 7 to prepare the score. It would be nice that I could do everything in one program. Sibelius is a great notation program but as a sequencer has many flaws.
    Will this new software allow me to load, without any hassle, sound libraries/VST’s (like EW, VSL, NI, etc) as I do in Cubase?

    If so, I will certainly be very interested in buying it!

    Regards

    Reply
  14. Philip Jackson

    It’s all looking very interesting and thanks for the detail you include in the progress notes.

    What with XP on its way out, and Microsoft probably going to concentrate on proprietary hardware (like Apple) rather than Windows, I suppose that hoping for Steinberg to produce a linux version is a step too far ?

    Reply
  15. claude

    This is so exciting Daniel! One suggestion: as you get closer to release it would be cool if you started to train us, in this blog, about basic functionality. Things like the philosophy of inputting, menus, shortcuts, etc. So that when we do actually get our hands on it we could already do some basic stuff.

    Reply
  16. Riley

    This is all very exciting! My heart was broken when I heard Sibelius wouldn’t be continued, and I’ve been eyeballing this project since. Keep up the good work! As a *new music* guy I would very much appreciate a draw-feature for symbols/gestures that may not be standardized or conventional (like showing the speed of vibrato/trilling with wavy, but custom lines, or being able to draw overpressure graphics like Saariajho’s sept pappillion solo cello piece). There were several times I had to draw something in another program and import a TIFF into Sibelius when trying to visually describe the action to be performed which seemed less than ideal as it wasn’t very flexible. I’m doing mostly film scoring now but would still VERY much appreciate this feature! Keep us posted, great thing to wake up and read!!

    Reply
    1. Alvaro Bertrand (Bashkii)

      Excuse me,Riley, when did you hear Sibelius would NOT be continued? That’s not what I heard. Please explain Thanks so much.

      Reply
  17. Ben Amato

    Wow thanks Daniel, looks great.
    What about synch with Cubase or other DAWs, will that be via Rewire? And will the synch be solid, unlike it is now between notation software and DAWs?

    Reply
  18. Larry G. Goldman

    Hey Daniel, great stuff as I’ve come to admire from you and your team!
    Q. (You’ve probably been asked this already, but didn’t see it.)
    If, in the quest to emulate paper and pen entry, you could come up with a easy note entry via some kind of scribe instrument and touch pad/touch screen/tablet like surface, that would be just great!
    And if one could come up with a way to enter text instructions, crescendos, and other easily hand written ‘instructions’ per part, per system, per page….that would really speed up the creation of a chart entry.
    As a member of ASMAC (Amer. Soc. of Music Arrangers and Composers) I can’t tell you how many professional arrangers always say, ‘it’s so much faster to do it by hand’ and use notation software because they have to and not as much because they want to. I figure you know what I mean. That’s not a reflection on your and your team but on the legacy engines of the past that didn’t allow for the use of our well trained hands, but instead forced us into being typists which is an entirely different skill than calligraphy.
    I’m not referring to those with awful skills in calligraphy that still would need to send their work to a copyist to ‘decipher’. (ha!)… But I guess they need to have a good and quick program to improve their lot too.
    So yes, simulated pen input (and if needed some optional physical inexpensive hardware to purchase or bundle with the program) would be an amazing leap forward in notation software. I’ve seen demos of tablet software at the NAMM show going back 2 years that did that using an inexpensive Belkin pen-like device.
    If a good enough energy and detail were put into that area, I believe it would really be a game changer.
    Thanks for you, your team and your lovely blog!
    on with the motley,
    Larry G.

    Reply
    1. Daniel Spreadbury Post author

      @Larry: We are not currently directly working on handwritten input via a stylus or finger on a touch screen or graphics tablet, but we are aware of a number of companies working on the problem (for example, Neuratron, the makers of PhotoScore, have an Android app called NotateMe that uses technology developed for PhotoScore’s own handwritten music recognition) and we hope to work with them, even if only at the level of making it easy to import music written in these kinds of applications into our own.

      Reply
  19. Wolfram Domay

    I have to tune into the chorus of praising! Thank you so much for your great blog!

    I always was frustrated with the constrictions of all notation software regarding the spacing possibilities. Probably the algorithms are so complex that all fiddling about them would have been desastrous. Yet – is there any way you may implement the possibility to build ones one spacing rules? Perhaps there could be a button which offers “spacing like Henle”, “spacing like Boosey & Hawkes”, “Bärenreiter” and so on (just kidding, I am fully aware they will never give away there unique graphical styles). I am sure you get the idea of what I mean…

    Thanks for your enthusiasm!

    Reply
  20. Andrew Noah Cap

    Hi Daniel,
    Do you also pay attention on the two different ways of individual time-signatures and a logical way to enter note in those? This might be a great step forward and composers are waiting for this since score has left thru the door. ;)

    Reply
      1. mikesperone

        I am interested in having an easy way to make simultaneous multiple time signatures. I am happy to hear that you have plans for that!

        I also would love to see a way to copy and paste changing meters.
        So that if I copy a section of changing meters, I could paste to the next section of music (which might still all be in 4/4) and the time signatures would come along with everything else that is copied/pasted.

        While I’m at it, a simple drawing feature would be helpful (lines, boxes, circles, freehand drawing, etc.)

        Thanks!! I’m excited to see this!!
        Mike

        Reply
  21. Paul Gay

    I have been reading this blog with great interest, and everything so far looks wonderful. I am very excited to follow your progress, and eventually use this software once it is released.

    As a composer of contemporary music, I have a couple of potential concerns, however.

    1- In producing my scores, the process of creating, revising, and collaborating has more and more led to the need for some kind of source control solution. In an ideal world, we would have something like a human editable text based format that can be also be manipulated with a WYSIWYM interface, managed by something like a git repository. Will something like this be possible here?

    2-Current notation software makes it hard to deal with some commonplace features of contemporary scores. Will there be facilities for dealing with poly(rhythms|meters|tempos), proportional notation, microtones, multiply nested tuplets, precisely proportioned figures, etc, etc? Or is the emphasis more on the conventional/commercial side of things?

    Reply
    1. Daniel Spreadbury Post author

      @Paul: We’ve not yet decided exactly what format our documents will be saved in. The file format at the moment is a little like a Java .jar file, which is essentially a particular folder structure zipped up into a zip archive. The data our test harness saves about its scores is currently in a JSON-like format, which is text-based but not human-readable or parseable, but this kind of data is at least quite amenable to source control and running through patch/diff tools, etc. Whether or not our final application uses this kind of format remains to be seen.

      In terms of the target audience for our application, we are definitely aiming at the professional end of the market at first, since we feel that is where we can most strongly differentiate against the last generation of scoring programs. We definitely intend to support as wide a range of contemporary notations as we can, and to continue to build in this area after the release of the first version.

      Reply
  22. Peter Chapman

    Hi Daniel,

    Loving the blog, it’s both exciting and refreshing to be told about the development of a project from the outset, instead of just marketing and promotion near to the time of release.

    I just wanted to ask you not to forget about dear General MIDI 1, now that we have easy access to vast sample libraries. While I import my songs into Cubase and there run them through various VSL and NI libraries, I’m finding that the old Microsoft GS Wavetable Synth is still best while writing the song (on Sibelius). That way I know that if something sounds good, it’s the music, not just the samples. So with that in mind, will the new software still implement GM-1 as a default (or fallback) option? Might it even be possible to have two instances, for 32-instrument polyphony without voice confusion?

    Wishing you the best of fortune with the continuing project.

    Reply
  23. David Overton

    Daniel,

    I do enjoy reading your exciting updates on your progress, even if I am one of the Sibelius and other software users who is able to appreciate little of the technical side. Unlike many others who are doing so, I am quite unable to raise a sensible query on, or make any sort of contribution to developments. But also like others, I await the results of your efforts with great interest and encouragement. All good wishes. David

    Reply
  24. Iain

    This is looking really promising, and your responses to earlier posts about automatic part splitting/combining and multi-meter sections are really exciting! Can I request that you licence or buy a technology to enable the new application to really sing the words, not just play the notes, please? When working with lots of parts, this would make a real difference to me demoing music or producing learning aids for singers.

    Thanks!

    Reply
  25. Dan

    “@australiancomposer: We hope our application will import Cubase projects, yes.”
    Fantastic! The more the lines can be blurred between the DAW and the notation software, the better.

    I have found a new world has opened up to me with tablet type apps. I love working with my fingers as opposed to a mouse. It might sound a little strange, but my whole creative process is different when I work that way. I’ve enjoyed Cubasis and many other iOS apps. I find myself creating many more sketches than I ever did before, getting my ideas down due to what is possible and the portability of the tablet.

    I hope as you develop those apps to go along with your desktop based software that users might have the opportunity to closely tie the two together so that work on the tablet is highly use able when transferred to the desktop. I’ve been following your progress with great anticipation! I want it now, ha, ha!

    Reply
  26. Will Buchanan

    Hi Daniel,

    I’m very excited by the drip feed of news about the new scoring program. I was just doing a bit of arranging on Sibelius and a frequent bugbear of mine is what seems to me idiotic spelling of accidentals sometimes. What sort of understanding of harmony will the new program have to spell accidentals from step-time input? E.g will it take into account chord symbols (so if you have Am7b5, it won’t start throwing D#’s around)? If there are no chord symbols, will it put down one accidental and leave it at that, or could it intelligently change accidentals post-hoc, as you input more chords and a more logical choice becomes clear?

    Cheers,

    Will

    Reply
    1. Daniel Spreadbury Post author

      @Will: The idea to make accidental spelling take chord symbols into account is an interesting one. We certainly intend to provide flexible control over accidental spelling, with both the ability for the user to determine how they want each note to be spelled by default in each key, and an algorithmic approach that can retrospectively improve the enharmonic spelling of a range of music by looking at the overall context.

      Reply
  27. Alvaro Bertrand (Bashkii)

    Love this blog!!
    Brilliant software comes from brilliant people! I have no doubt that this will be no exception!
    Thank you, Daniel!

    Reply
    1. Bob Hunter

      Just a suggestion for your development process. Geniesoft’s Overture program (now pretty much defunct) had a wonderful sequencer window that you could have open at the same time as the notation window. In the sequencer window you could add midi, velocity and other codes so that you didn’t have to clog up the notation window with midi codes. This made the use of continuous control codes (such as fade outs) much smoother than the somewhat awkward plug-in in Sibelius.

      Reply
      1. Coder

        Geniesoft’s Overture is definitely not defunct. Version 5 is in beta. Perhaps the impression stems from the fact that the developer changed name to Sonic Scores (www.sonicscores.com).

        Reply
    2. Emilio Le Roux

      Wow, now I’m worried. I have been a Notion user for years. It’s sold. Kind of saw it coming, i only don’t know if it’s for good and evil.

      Taking the opportunity to give the Steinberg project some feedback… Notion has been for me an example of what a notation software should be. The interface is intuitive and clean, you just think about music – you can turn your notes to other values and reshape your music so easily, you can draw a barline to split a measure into two, you don’t have to struggle to create a tuplet and so on – and it’s also definitively the best playback right out from the score so far. The only reason I haven’t been able to ‘evangelize’ anyone, and am forced to use Finale myself at the university’s school of music, is that Notion doesn’t support any contemporary notation concepts such as graphics or lines, custom noteheads, hiding bars, feathered beams, big time signatures. Also, the output is pretty and automatic but with very little customization of hairpins, slurs and many other things.

      I say this because, while it might seem a good idea to cover just the commercial basics (so people can compose hymns and arrangements, apparently the main public), this alone will not take the software into a serious music school. And, I think, the best evangelization about software happens there – it’s hard to change if you get used to a particular software.
      The reason for Finale being the standard even while so outdated, annoying and ugly is that it allows for everything in the score edition. We students can’t just tell our teachers “My software is better than Finale but can’t do [feathered beams | special noteheads | adjusting that slur | measureless notation | etc] “. I tried!

      Reply
      1. Daniel Spreadbury Post author

        @Emilio: I’m pretty sure that the folks at Presonus plan to take good care of Notion. Knowing how small a company NotionMusic actually was/is, I suspect the future for Notion is rather brighter with it being under the aegis of Presonus than being out in the world on its own. There are lots of great ideas in Notion as a composition program that happens to work with music notation, but as you say, it lacks the engraving flexibility of the traditional scorewriters. We’re hopeful that we will be able to provide both a very flexible environment for composers and arrangers, and also in time really great tools for playback, but with an emphasis on fine graphical quality right from the outset.

        Reply
  28. Jonny Butter

    Hi Daniel and all,

    I was so glad to read this:

    the aim is for our application to handle key signatures as flexibly as possible

    Something I always hated in both Sibelius and Finale is that there was no true atonal option when choosing key signatures. There was an option *called* ‘atonal’ but it was actually diatonic (as you know well!).

    Looking forward to the new app. Was also wondering if anyone here has played with Score Cleaner? It’s a music transcription app which is kind of astounding (no, I don’t have any interest in it – just saw it at NAMM and tried it).

    good luck!

    Reply
  29. Stephen Kenyon

    I’ve just examined the Fibich set in Bravura and it looks a lovely font. I worry about a font when you can tell at a distance which software a piece was engraved in. This one looks like proper classic engraving (this issue is one reason I still use Graphire Music Press, more than a decade after its end of support).
    Looking at that piece reminded me of another small request; automatic mid-character placement for ties and slurs, to keep them away from staff lines. Works with lots of slurs and ties can take ages to finish properly if they all have to be adjusted by hand.
    All this encouraging and positive feeling we are getting about this new project makes it all the more clear how short-sighted Avid were to bin you chaps. “Hoist with their own petard” will hopefully become the operative phrase…
    Btw I work with David Beeby in Poole, who you may remember from your young days!

    Reply
    1. Daniel Spreadbury Post author

      @Stephen: Thanks for your positive comments about Bravura. Thanks also for your suggestions concerning proper placement of slurs and ties. We will definitely do our best to minimise the kinds of manual adjustments that are commonly required in other scoring programs.

      I do, of course, remember David, and we are still intermittently in touch. Do say “hi” to him for me!

      Reply
      1. Stephen Kenyon

        Will do – next Monday!

        I’m a bit concerned that in our enthusiasm we may be encouraging you to promise the earth in terms of functionality, and that there’s a danger of anti-climax at the eventual release of your work. All the same, perhaps this shows there’s a big desire out there for a new programme that beats the existing options flat and I think there is a lot of good will you can rely on, not least because of the approachable way you go about things.

        Looking forward to your next postings.

        Reply
        1. Daniel Spreadbury Post author

          @Stephen: I’m trying not to promise anything specific about the functionality of our new program if I can help it! But we are certainly aiming high: there doesn’t seem to us to be much point in simply trying to replicate the feature sets of Finale and Sibelius, or in attacking the lower end of the market that is already so well served by programs like MuseScore and Noteflight. Our intention is to redefine people’s expectations of what professional scoring software can do. Not much, then! :)

          Reply
          1. Stephen Kenyon

            All power to your coding elbows, a race to beat the top is a much better idea than a race to the bottom, in which there doesn’t seem to be any money anyway!
            I just hope the new software will not be so demanding it requires a brand new computer to run it…

  30. Sean

    Daniel,

    Request/Question (I think…?)

    Using Cubase, if switching from FF to P suddenly, you may use velocity, master volume, and/or expression. So…

    When the last FF note sounds and then your volume decreases, it’s very unnatural. While the next note is the correct volume… the last FF note gets cut off. Unless I load 2 cello tracks to cheat which poses more problems, this is a major problem in making a realistic mock-up. I constantly have this problem with Spitfire (recorded wet) and even VSL (recorded dry, but still with enough of the instrument’s natural resonance in each recording).

    So… my question: is it possible via midi, or VST Note Expression, or some magical Stein-berg/Making Notes genius- to work out a way to perform this more naturally? I find this to be one of the biggest set-backs to realistic mock-ups that hasn’t been addressed all these years.

    Thanks for any input if you have any…

    -Sean

    P.S. while I described this via my Cubase experience, I realize the “problem” comes from using instruments outside of the sequencer/notation software… but other programs rarely address orchestral acoustic instrument needs in my experience… so if you have any input, work around’s, or planned features to address this… I’d appreciate it.

    Reply
  31. Emilio Le Roux

    Thank you very much for this Update. I think almost everything has been asked in the comments.

    Speaking of getting close to the concept of manuscript, I got a windows tablet with a stylus and I’m getting progressively away from my computer. I see you didn’t think about handwriting, but I hope you take pen and touch and this kind of devices into consideration. I feel almost like working on paper here!

    Reply
    1. Daniel Spreadbury Post author

      @Emilio: If you haven’t seen it already, I suggest you check out NotateMe from Neuratron; it doesn’t currently work on Windows tablets, but perhaps Neuratron will add this capability in future. We are not currently directly working to address the workflow of using a stylus to hand-write input, but we are definitely interested in allowing our application to interoperate with applications that do offer that functionality.

      Reply
  32. Alexa Weber Morales

    Hi Daniel! Loving your geek-outs on the progress music notation software. Is team doing agile/Scrum (continuous integration and unit tests and more…)? Thought of you for article I’m writing for Software Development Times.

    Reply
    1. Daniel Spreadbury Post author

      @Alexa: Good to see you here. Yes, we’re definitely following on agile methodology in our development here. Steinberg is a big proponent of agile, having made a big switch to it a few years ago, and in our previous lives we had been working in an agile way for many years. We don’t necessarily follow every precept you might find in Kent Beck’s books, but the core principles of working collaboratively, iterating quickly, keeping the customer in the loop, having a tight feedback cycle between product management, engineering, and testing etc. are all things that we have been doing for so long now that trying to work any other way would feel unnatural!

      Reply
  33. Don H

    Daniel – Wonderful blog (actually my first…). Any thoughts on sound libraries/sound sets that may be integrated with your product?

    Really looking forward to your release!

    Reply
    1. Daniel Spreadbury Post author

      @Don: We hope to support any VST instrument and sound library that you would like to use. Cubase’s VST Expression technology provides a way to map MIDI controllers, keyswitches etc. together to provide automation for things like switching playing techniques, and we hope to build that technology into our application as well. If a specific library doesn’t have a VST Expression Map, it’s relatively straightforward to create one in Cubase.

      Reply
  34. Jake

    Daniel will your new app include the ability to simply click & drag single notes or chords horizontally to another beat??? (something so simple that Sibelius 7 can NOT do. Sibelius only allows click & dragging notes vertically on the staff. A real big bummer!

    Reply
    1. Daniel Spreadbury Post author

      @Jake: It is definitely an important goal for our application to allow flexible note editing and shuffling notes around, but we haven’t yet decided whether dragging them left and right with the mouse will be one of the ways in which this can be done. Watch this space!

      Reply
      1. Jake

        This simple note editing function (dragging/moving notes left or right to another beat with mouse and/or moving notes left/right via arrow keys is something a REALLY REALLY hope that is included in version 1.0 of your new app. Being restricted to only moving notes up & down to different pitches is simply not adequately sufficient and very limiting.

        Reply
        1. Daniel Spreadbury Post author

          @Jake: It will certainly be possible to nudge notes rhythmically left and right in our application: what is not yet decided is whether the means to do so would be to drag the note (since that could also conceivably adjust note spacing).

          Reply
  35. Jake

    Furthermore for the sake of simplicity, in addition to click & drag notes horizontally using the mouse, it would be great if you could also include the option to move notes horizontally and vertically using the keyboard arrow keys.

    When dragging horizontally, the default move should snap to say the nearest quarter note beat and by using a modifier key (option or control) one could chose to move horizontally by 16ths note or 8th notes, etc.

    Reply
  36. Richard Cave

    please have a stretch and squeeze function: you drag a box round the notes and right click to stretch and squeeze and type how many bars you want to stretch the music to. You can type a negative number to squeeze the music downwards. This would be so useful for melody lines. Just found out about you guys leaving your last place as you were so helpful to me when I started out, if you ever need a beta tester just ping me. As i am the most terrible music notator ever! So it will get thrashed,

    Be nice to also have a midi learn function, like a sound cloud of your favourite sounds, be easier to pick.

    Reply
  37. Jonathan

    As an avid fan of Cubase and a user of Sibelius since it first landed on the Mac, I want Steinberg to know that if cross-grade pricing is available on this new software, I will be a customer. It’s clear that Daniel and the team really care about this project, and I’d rather give my money to Steinberg/Yamaha than Avid. So please, make it affordable for Sibelius refugees, and we’ll jump on board.

    Reply
  38. Warren Cohen

    I apologize if I have missed anything you have said on this subject, but I am very curious to know if you are working on (or intend to work on) touch screen applications. The dream for me and for many others would be a situation where we could “write” in music on the screen as we would on paper and then the software would read it and turn it into printed looking music. All the present computer music writing software encourages the use of two things: repetitive rhythmic patterns and excessively complex vertical rhythmic relationships. As someone who sees new scores all the time, I would be very happy to start seeing music that was less influenced by the software used to write it! Anyway, let me know if you are working on moving in that direction at all.

    Reply
  39. Ryan Jones

    I’ve been running with cubase for ages and had an idea for a simple plugin that would make so many engineers lives easier, especially when tracking with the less talented. Can I email it to you and maybe you’ll make it for cubase 8?

    Reply

Leave a Reply