A notation program for composers - what ideas do you have?

• Jun 20, 2016 - 00:36

Users of MuseScore are engravers, composers, arrangers and performers (or combinations of these). In this topic, I'd like to focus on ideas that mainly benefit composers. If you use MuseScore for composing, are there any tools that would make the composing process easier? All ideas welcome, even ones that would be difficult to implement. This is a brainstorming session.

In case there is any confusion, this is not a thread from the MuseScore team looking for input. I'm just a composer who feels that many notation programs focus on engraving tasks (certainly a necessary foundation). I have a sense that a program written to aid composers might be different from today's notation tools. If this topic actually inspires someone to add a feature to MuseScore, that would be great!

To get the ball rolling, I will provide three separate ideas in follow-ups.

If any of the proposed ideas are actually implemented somewhere already, please let us know! I've only used MuseScore and a trial version of Notion 5, so my experience with notation programs is limited.


Comments

Idea: Extended Note Manipulations

MuseScore can manipulate single notes (add, delete, change pitch) and chords (change duration, transpose), but it’s limited in what it can do to multiple notes—you can delete, explode, implode and transpose a selection.

Most useful to a composer would be a tool to take a selection and either halve or double the durations of all the notes. MuseScore 1 has extensions for this; MuseScore 2 has them as well, but they aren’t usable (MuseScore crashes when I try to use them).

I was watching a video about Bach’s music and a couple of other note manipulation tools popped to mind: a retrograde tool (paste the clip buffer, but with the notes in reverse order) and an invert tool (paste the clip buffer mirrored around a specific pitch).

Are there other note manipulation tools that would be especially useful for composers?

Snippets

Sometimes I’d like to have the ability to compose separate “snippets” of music that could be threaded together into a complete piece. For example, I could compose snippets A and B and then create a score by threading A -> B -> A. I could also compose snippet B’ and thread A -> B’ -> A without losing B.

I usually find my scores littered with ideas for themes and variations of those themes, which I then assemble (and revise) using copy/paste. This method gets me by, especially since I can bring up two views into the same score, but it’s not ideal.

The score would not be a copy of the snippets, but linked to the snippets, so that if I edited snippet A, and the score was assembled from A -> B -> A, both A’s would change. This would be true regardless of whether I edited A in the snippet or in the score.

I’m sure there would be a ton of implementation questions raised by this feature, but the fun of brainstorming is that you don’t have to worry about all the little details.

Performance Analysis

As a composer, I try to consult with experienced musicians to find any performance problems that might exist in the music I write. MuseScore doesn’t provide much in the way of performance analysis. It does do note coloring to show notes that might be difficult for less skilled performers and notes that cannot be played on an instrument.

What I’d like to see are much more elaborate tools, ones that analyze a passage and provide a commentary on performance problems. The analysis tool might have to model various characteristics of the instrument and the performer and then simulate a performance.

For example, let’s take the cello. The analysis tool might report that the phrasing for a particular passage is difficult or impossible to achieve. Or perhaps it could be done, but not smoothly. This would be based on knowing the duration and dynamics of a legato passage and the properties of the bow. To produce sound, the bow must slide past the string. There is a minimum rate at which the bow can move and the rate may depend on the dynamics (you might get away with slower bowing on a quieter passage). In a super-long legato passage, the performer will run out of bow. Highly skilled performers might be able to last longer. The analysis tool would catch the problem and perhaps grade it as hard, extremely difficult or impossible.

Double stops on the cello may require fingerings that might be difficult to achieve, either at all or in a particular passage. The analysis tool might have to model the fingering of a cellist with large hands as well as one with small hands.

No analysis program would be 100% perfect. Performers vary in skill, lung capacity, hand size, dexterity and more. There is music that is unplayable and there is music that may be very difficult to perform, so the analysis should always be qualified with an explanation of the problem (e.g. “in measure 120, the 12 notes cannot be played simultaneously by any pianist.” or “the 12 notes can only be played as a broken chord”).

One would need one analysis module for each instrument. Creating each module would require a partnership between an expert on the instrument and a programmer. Even then, I suspect, a lot of the analysis would be based on guesses—for example, the range of time that a flute player could hold a given note at a given dynamics.

Of course, a composer working directly with a musician or even a group of musicians has the same problem: any performance problems you find only apply to the musicians you interview. A passage rated difficult by one musician may turn out to be not that hard for many others—or it may be almost impossible.

Despite many caveats, this is a tool that I’d like to have. I don’t really expect to see it, either in MuseScore or in any of the other notation programs as it would be extremely difficult to program. It would probably merit being a completely independent tool, perhaps using MusicXML as inputs for the analysis.

I tried searching for any work that might be going on in this area and I couldn’t find any. If you know of any existing tools, I’d like to hear about them.

Everything depends on:
1. how skilled you are as a composer/arranger...
2. how you compose

For the most of the things in any notation tool is just - notation. Personally, I don't need the playback. I can virtually hear any phrase including orchestral color and chords in my mind. I can open any score, being it very complex as Boulez or Ligeti, and hear it. Just to inform you, I don't have the perfect pitch. Everything is done by training.

Secondly, "Performance Analysis" - I think you are missing the point. It is great that notation software informs you about the correct instrument registers, but hey!, if you don't know this by heart than don't ask some extern software to tell it to you.
Think that you never studied architecture. And you want to construct a bridge. So you need a software that will tell you if the bridge will collapse because of some inappropriate settings. How nice, anyone can be architect now!
Music (as it is with architecture, medicine, law) - MUST be studied. Music is even harder, since you need many many more years to master it. You usually start playing violin when you are 6. You can perhaps get satisfying job when you are 26. Perhaps later when you are 36.
So don't ask from a software to do what you should do by education.

And thirdly, maybe you should explore some very interesting software for any kind of composition-manipulation. Such are OpenMusic and PGWL (it has even a score editor!), or some more special as ACToolbox and CommonMusic, or even more exotic such as Max (check Bach for Max) or SuperCollider. You can compose with all of these tools.

Or you can compose by hand as I do. I do all kind of phrase manipulation by hand in real time.

Well, to know music is HARD. To compose a great music is even HARDER.

In reply to by edizioneo

I think not all of these ideas deserve such contemptuous treatment. The "snippets" for example would be an electronic equivalent of Beethoven's sketch books: You document ideas, either to develop them further later or else just to avoid forgetting them. (If I understand this correctly). Ergo unless you want to assert that Beethoven didn't learn his music hard enough it is hard to see what is wrong with the idea.
I agree though when you say a composer ought to know the characteristics of the instruments he/she is including in their scores. But there is knowing and knowing. For complex instruments (I mean tons of different ways to bow, every pitch has a whole list of possible fingerings etc.) like the cello a composer would have to develop the skill level of a good amateur to actually write well for it. You are a violinist and certainly know passages in very famous works that are difficult because they have no comfortable fingerings or (rarer) bowings. For example the second theme in the first movement of Brahms's c-minor quartet (first violin). I don't think there is a good fingering around for that passage (which I think is the reason most performers apply tons of rubato there; it does not seem to me that that was really the composer's intent).
If software could be developed that can analyze to that level of perfection it would indeed be a help. No composer can play all instruments in the orchestra. But it would require someone who would make the analysis first and there is the problem.

In reply to by edizioneo

I think not all of these ideas deserve such contemptuous treatment. The "snippets" for example would be an electronic equivalent of Beethoven's sketch books: You document ideas, either to develop them further later or else just to avoid forgetting them. (If I understand this correctly). Ergo unless you want to assert that Beethoven didn't learn his music hard enough it is hard to see what is wrong with the idea.
I agree though when you say a composer ought to know the characteristics of the instruments he/she is including in their scores. But there is knowing and knowing. For complex instruments (I mean tons of different ways to bow, every pitch has a whole list of possible fingerings etc.) like the cello a composer would have to develop the skill level of a good amateur to actually write well for it. You are a violinist and certainly know passages in very famous works that are difficult because they have no comfortable fingerings or (rarer) bowings. For example the second theme in the first movement of Brahms's c-minor quartet (first violin). I don't think there is a good fingering around for that passage (which I think is the reason most performers apply tons of rubato there; it does not seem to me that that was really the composer's intent).
If software could be developed that can analyze to that level of perfection it would indeed be a help. No composer can play all instruments in the orchestra. But it would require someone who would make the analysis first and there is the problem.

In reply to by edizioneo

Hey, it's great you don't need playback. I don't see what this has to do with this topic, which is about features that would aid composers.

As for your comments on Performance Analysis, I think you miss the point. Using your language, it takes years to master one instrument. It is unreasonable to assume that any one composer could become an expert on every instrument. The harp is a classic example—many composers need a harpist to review what they write (Check out http://www.theharplegacyproject.com/).

Some professional composers benefit from professional editing. Some work with arrangers.

And the musicians I work with DO complain about some of the scoring by the masters. They might have benefited from a Performance Analyzer.

Thanks for the pointers to other software, though. I took a quick look and they seem to be about algorithmic composing. I'm not into that, but for those who are, those would be useful tools to check out.

I know it's nice to think that the more years you study music, the grander your music will be. Some people put in their time and compose drivel. I started composing about a year ago. This fall, I will have two pieces performed: one a duet for horn and cello and the other a symphonic suite. People seem to like my pieces and as long as that is the case, I'll continue composing. At age 62, I'm not about to spend a lot of time on training—I learn as a I go, I have a lot of wonderful musicians who help and I'll rely on whatever software crutches I can find.

In reply to by freixas

@azumbrunn
I feel sorry that my comments sound so. It is not my intention.

@freixas
However - I want to help.
Having really NOTHING against amateur musicians and composers (I do strongly support local amateur ensembles here, including teaching of composers) - but (!), it is very common for an amateur composer to have very strong opinions and ideas about many things he/she actually has no knowledge, than when someone very experienced says "it doesn't work like that", one feels offended.

Continuing there, there is no need to know to play all instruments. This is very common question I get from non-musicians, if I need to know to play each instrument to be able to compose. No. But you should be able to play ONE instrument extremely well.
I might ask you both - how than Ravel did his wonderful pieces? He couldn't play more than piano. How did Stravinsky compose his music? No software. No playback. No red notes out of pitch on the display. Nothing.
Than you find something awkward in their music that motivates you to think that they would needed a help. That is nonsense. So they would have benefit from a software that would do - what? Prior to construct that software you should put all available music for computing, including Stravinsky's.
Another example is Chopin. He could play just piano. And in his music for orchestra there is nothing difficult or strange.

About algorithmic composing: yes, not all of these programs are for algorithmic composition (but all can do it), but you asked questions such as " a retrograde tool (paste the clip buffer, but with the notes in reverse order) and an invert tool (paste the clip buffer mirrored around a specific pitch)." - and yes, all this is the algorithmic composition. You have "X" and you apply a certain algorithm.

About snippets: sounds good. I said nothing about that. However, pencil and papper are the most convenient and free (as mind-free) tool. Why not to try that?

And I would like you to trust me, since I want to help you.

In reply to by edizioneo

@edizioneo

Thanks for wanting to help.

This topic is about new ideas for computer-aided tools/features that support the task of composing. It's great that you can compose on paper, but it's not relevant to this topic.

You said that playback is unnecessary; that's not a feature, more of an anti-feature. Again, that could be a fine discussion for another thread.

Comments about orchestral arrangement problems come from the musicians I work with (not from me). I have also seen the odd examples of problematic arrangements shown in textbooks on composing and arranging.

If you want to help, please focus your comments for tools useful for composition. The software tools you mentioned are exactly on topic, and I would love to hear more about what unique features they provide to a composer.

If you feel the need to help me out in some way not related to the subject of this thread, send me a private email. Personally, I'd love to get an in-depth critique of my music from an experienced composer... :-)

In reply to by freixas

@freixas

My comment reflects exact the topics you have postulated.
If you read carefully you would see that I try to clarify some things by very long experience.

Idea: Extended Note Manipulations — I have provided exact software including one with notation capabilities that can do that. Even Finale or Sibelius have some of the features you need.

Snippets — Sibelius has something called "Ideas". You might explore it. But as my experience tells me, it is faster and more precise by hand.
You might explore something called "ScoreCloud" as well, they use a word "snippet" (!!) for just recording snippets. You even don't need to notate, you get it instantly & perfectly displayed.

Performance Analysis — my answer is: this tool is not available (as far as I know), but I deeply believe it will be of handicap to use it. Therefore my post calls for true knowledge. Learn to orchestrate by hand, and than you will find an enormous joy doing that. That is the best possible advice I can give you; so, there is no such tool and no need for it.

In my opinion, one should choose the tool according to the task he has to achieve. That said, I think that MuseScore is not the best tool for a composer. Such tool, however, do exist already -- have a look around and find the DAW that provides the best MIDI management and that can host VST plugins and you are done.

In reply to by Aldo

Hmmm...I have a DAW (REAPER) and I don't see how that helps. Snippets for one instrument would be easy. A snippet for an entire set of instruments is still clumsy to manage. My DAW provides no tools for reversing or inverting a musical passage. It offers no performance analysis.

My end goal is not a MIDI performance, but sheet music that I can give to live musicians. My DAW doesn't help with this.

Perhaps you could expand on this?

In reply to by freixas

Well, looks like you are ready to hire a professional orchestra of, let's say, some 80-90 skilled musicians. If you are not, you can look for compromise, and think of a PC like a sort of humble (and quite a bit dumb) slave who does exactly what you ask for -- provided that you give it detailed instructions.

A DAW can provide a cheap way to get a preview of your compositions.
Apple's Logic can manage both an accurate, automated audio/midi performance AND music notation.
Reversing and inverting a chunk of midi data is a simple task (from a programmer perspective), and I'm sure that there must exist some DAW that can do it. I can't get what you mean by "performace analysis".

In reply to by Aldo

Actually, I've been writing wind quintets for a set of musicians who come to my house to play my music. So far, I haven't had to pay anyone. :-)

I do use a DAW for production. My MIDI performance are up on SoundCloud.

I don't use a DAW for composition. I use MuseScore. If you'd like to talk about the features of a DAW that aid in composing (as opposed to performing) your music, I'd love to hear about them. I know some people love piano-roll editing. Coming from a classically-trained background, I don't find the piano roll a very easy way to compose, but perhaps you can cite the advantages.

As for "performance analysis", this is what happens when you hand a score to a skilled musician and he/she hands it back and tells you it's not playable. :-) MIDI performances do not have performance problems: flute players never need to breathe, the cello bow has infinite length, etc.

In reply to by freixas

MIDI performances do not have performance problems: flute players never need to breathe, the cello bow has infinite length, etc.

Not only that. MIDI composing requires a huge knowledge in real orchestration to be able to understand all dangers of doing it there. It is like a "forbidden land".

Here is one example that I present to my composition students.
Here, we have a beautiful Cmaj chord, that will be orchestrated (in orchestra a3) for three clarinets.
shot.png
You have available Piccolo Clarinet Eb, Clarinet A and Bas Clarinet.
Everything seems to be OK. Chord is good and so on. So you I put it smartly in three clarinets, so that the bottom tone is of course the lowest clarinet and the top note is the piccolo.
But in the reality they will play in totally different registers. And what happens? You get a) wrong dynamics/balance b) out of tune. You get actually quite a bad sound.
shot 1.png
You will go to a rehearsal and something will happen. The conductor will stop to inspect the intonation, the second stop to tell more about how they need to balance better...

In reply to by edizioneo

Excellent example—I love it!

Some VST packages may be more helpful than others. I got a laugh when my tuba sample from EastWest/QuantumLeap refused to play for more than 2 measures. Of course, the tuba player won't have the air to maintain the note longer than that.

It would like to know if the tuba samples actually allow for longer notes at lesser dynamics. A good VST this could provide a certain "reality check"—essentially some basic performance analysis. For example, some VSTs record an actual sample every few steps, so, in theory, the register problems in the example above might be actually be apparent in the generated audio. After all, samples come from real musicians playing real instruments.

Poorly engineered VSTs and SoundFonts can hide a lot of problems. And, of course, they won't catch that the french horn player needs some time to reset his/her embouchure or that a middling horn player might accidentally play an intermediate note when making a large leap.

On the other hand, I have no problems with composers who write for a MIDI orchestra as the end product. Maybe you really want that flute player with the infinite lung capacity and you're willing to give up any chance of having it performed live. That's completely the composer's prerogative. Personally, I like to write for live musicians.

I like to test all my pieces with real musicians. They've been complaining less and less, so I must be learning something. :-)

In reply to by freixas

Freixas: "As for "performance analysis", this is what happens when you hand a score to a skilled musician and he/she hands it back and tells you it's not playable. :-) MIDI performances do not have performance problems: flute players never need to breathe, the cello bow has infinite length, etc"

Ah! Now I see -- that's something I can grasp. Sorry, but I'm not aware of any piece of software that can help to solve that kind of problems.

In Case Anyone Actually Reads Down This Far...

I asked for ideas of features that composers might want in MuseScore. I listed 3 ideas of my own: retrograde/inversion note manipulation, snippets and a performance analyzer.

The only idea anyone has added is a mention of algorithmic composing, although the poster did not state that this was a feature he either wanted or used, nor did he provide any details of how he might want such a feature to work within MuseScore.

If you use MuseScore to compose music, are there any features that you wished you had? I'd be interested even in features that might be difficult to implement.

One idea I haven't mentioned (because it seems so obvious) is realistic performance. In addition to generating sounds that truly represent the instruments, it would be great if there were an option to limit the performance to what a skilled musician could achieve. This is an alternate way of achieving performance analysis: the time a note could be sustained by a wind player would be limited based on the dynamics and pitch (maybe there would be a switch to enable "circular breathing"), the piano could only play a set of notes if they could be reached by a pair of hands (maybe options for small, medium, large?), the oboe and bassoon would not play pianissimo in the lowest register, etc.

One poster gave an exercise where MIDI arrangements tended to flunk—with the realistic reproduction I am requesting, the problems he mentioned would be audible in the computer performance.

As you can see, don't limit yourself to small ideas. But do limit yourself to features for composers that you would want.

In reply to by freixas

Having just one software to do all this kind of stuff would be wonderful. I can add more ideas and stuff which could be implemented, but...
The problem is that it will not happen. MuseScore is the notation tool, the first and foremost, and it can also play back.

IF you need some additional feature, there is truly chance to do it: you need a very very skilled coder who will make contribution to what you need exactly, it could be implemented in MuseScore as a plugin or in the native application. You pay to that coder to execute your ideas. Why not?

For the "performance analysis" - until we don't reach a level of true Artificial Intelligence, it is unlikely it will happen. Also, for the plain AI to run you need a kind of quantum computers, and the code that can execute it. But we are really really far from it.

So I understand why there are no more answers.

For snippets: have you checked ScoreCloud?

In reply to by edizioneo

I don't care if MuseScore implements any of the proposed ideas.

I happen to be a skilled, professional programmer and hope to be able to find the time to contribute to the MuseScore codebase this summer. This is completely irrelevant to this topic.

I got the idea for a performance analysis tool after working with a cellist on one of my pieces. I think it's entirely possible to implement such a tool. It would be difficult to code, but it would require neither AI or a quantum computer. As with your argument about building bridges, I'm speaking from over 40 years of programming experience.

There are probably multiple reasons why there have been no interesting ideas proposed by anyone besides me, One of those reasons is that your comments in this thread have derailed it. Who wants to propose an idea just to have it ripped apart?

"Brainstorming" (what I hoped would happen here) is a formal process in which anyone can propose any idea without criticism. In my years as a programmer, I've participated in various brainstorming sessions. There is usually a facilitator who squashes criticism. That's something I can't do in this thread, unfortunately. I will probably have to abandon this thread and start a new one. I can try to make the rules clearer, but I suspect that the desire to tear down ideas is hard to resist--if not you, it will be some other "helpful" soul.

In reply to by Nicolas

Wow! Excellent pointer, thanks! It's very close to what I was picturing. There's even a note on how they use kinematic analysis and take hand size into account! It looks like their goal was an overall difficulty rating, but it would seem that the tool could be adapted to provide commentary on specific passages.

I could really use a version for the French Horn! :-)

In reply to by Nicolas

Thanks. The web site is quite the tease; not much useful without the associated dissertation. Also, it looks more like an evaluation by performing a statistical analysis instead of simulating a performance. What I'd really like is something that could report a performance problems.

Here are some comments I received on one of my pieces from a horn player. It seems all of them are things a software program could catch:

There are 49 notes in the realistic horn register, and about 200 fingerings for those notes. Our intervals are naturally close together, and while playing fast isn't as much of an issue, it can be if the intervals are more than a half/whole step apart. [Software: check for "fast" passages where notes are more than a half/whole step apart.]

...the intervals in the two measures following letters E and R, and the 16th run leading to the trill in measure 65, are particularly awkward/challenging. They are likely possible with a large amount of practice, but consistency may be an issue, as it often is with horn. [Would need to understand the problem better before being able to code a software rule.]

Also, playing quietly in the upper register can be difficult, especially if we have to come in on a high note. A good example of this are letters G and H. It may not be possible to come in correctly there at such a low volume. [Software: check for passages in the upper register at a low dynamic, particularly passages that begin quietly. Obviously, "upper register" and "low dynamic" would need to be quantified further.]

Finally, a note on trills. Again, with our intervals being so close together, it is nearly impossible to perform a whole tone valve trill above middle G (in the key of F). Half tone trills, on the other hand, are much easier to perform. Ultimately, whole tone trills are possible, but it requires a technique called a lip trill. This is something typically only mastered by professionals, soloists in particular. [Software: Check for whole tone trills above middle G and report that it requires a lip trill by a highly skilled horn player.]

Of course, a few comments from one horn player do not an analysis program make. Creating analysis rules requires in-depth discussions with skilled horn players, a review by the players of any rules the programmer derived from the discussions and a comparison of any analysis of horn music against a similar analysis by the players—a ton of work for just a single instrument.

I'd love to have such a tool, but I'm pretty sure I wouldn't pay $600 for a copy! :-)

So, let's go with "unrealistic brainstorming"! :)

What about a tool that generates/solves harmonic situations given some fixed reference points provided by the user? Such a tool could "suggest" solutions based on some sets of rules taken from several different styles used as a mean for defining "limits" and "guidelines" based on historical real facts and acquisitions, composing from scratch via a semi-random generator or "filling the gaps" left in an uncomplete input from the user (who could, as an example, provide just a melodic line and a bass line).

I'm sure this is quite a hard goal to achieve in itself!

In reply to by Aldo

Interesting idea. Thank you!

So are you thinking, for example, that you would write a melody/chords (like a lead sheet) and ask for an accompaniment a la Mozart or Chopin or even just "hip-hop"?

Or are you thinking that maybe all you have is the melody and the software would suggest the chords?

I'm trying to figure out if the feature you would like creates an accompaniment (or orchestration) based on knowing the melody and chords or if the feature figures out the chords and then creates the accompaniment. Not required, but if you could create a couple of measures that might simulate the before and after, that would be nice.

I've seen some tools for generating chord progressions (https://autochords.com/, http://www.hooktheory.com/hookpad).

In reply to by freixas

To create accompaniment with given style, check MMA http://www.mellowood.ca/mma/

For your idea, check Google magenta, I believe their current goal is to create similar music given a corpus and a couple of notes https://magenta.tensorflow.org/welcome-to-magenta
Also using these datasets http://www.peachnote.com/datasets.html it should be possible to give the next more "probable" note considering the last X previous notes for a given time period.

Do you still have an unanswered question? Please log in first to post your question.