Feature Request: Linked Notation / Alias Passages for Computer-Assisted Composition

Hello,

I would like to request a feature that I would tentatively call “alias notation” or “linked notation.”

The idea is to allow a passage of music to be reused as a linked reference rather than as an independent copy.

For example:

  1. Select one or more notes, or one or more measures.
  2. Create an alias (linked version) of that selection.
  3. Insert that alias elsewhere in the score.
  4. Edit the original passage.
  5. All alias instances update automatically to reflect the changes made to the original.

In other words, I am looking for something like a linked musical passage: multiple visible instances in the score, but with shared underlying content.

Importantly, this link should not be limited to small property changes. The alias should remain linked even if the source passage is substantially rewritten. If the original is changed in duration, pitch, rhythm, note count, or voicing, all alias instances should update accordingly. This should include cases such as:

  • changing note lengths
  • changing pitches
  • turning a single note into a chord
  • turning a chord into a single note
  • changing the number of notes in a chord
  • adding new notes to the original passage

In addition, each alias instance should be able to apply its own transformation while still remaining linked to the source. For example, an alias instance should be able to use:

  • retrograde
  • inversion
  • retrograde inversion
  • transposition
  • rhythmic augmentation
  • rhythmic diminution

Ideally, these transformations should remain dynamically dependent on the source passage, so that edits to the original are still propagated through each instance’s transformation.

This would make it possible to derive related material from a single source passage while preserving editability and synchronization.

This would be very useful for repeated patterns, recurring rhythmic cells, ostinatos, educational examples, and any situation where the same material appears in multiple places and should remain synchronized during editing.

A useful extension might be:

  • the ability to break the link for a specific instance
  • the ability to identify all linked instances
  • optional propagation rules across layouts, players, or flows

I think this could significantly improve workflow when working with repeated musical material.

Thank you.

5 Likes

While I can see the use in this from a compositional standpoint, the amount of programming work you’re asking for is nothing short of a (probable) complete rewrite of Dorico. Given the size of the team, I doubt this would ever make it to their list.

Now, I could be wrong, and this is one of those cases that would only take “a few lines of code”, but I seriously doubt it.

Finale had an implementation of this called Mirrors that was much less powerful than what you’re imagining – and still caused lots of problems. It was eventually removed from the program, with MakeMusic claiming that it was infrequently used and not worth maintaining.

2 Likes

This GIFs | Tenor

I thought I remembered something like that in Finale, but I never used it. Some loved it, but I don’t remember anyone complaining when it was removed.

1 Like

I didn’t use it much either, because I remember it as always being fragile. I suspect that the issues with the feature may have been what caused to to be underused, which eventually caused it to be dropped. In theory, even a literal mirror region, without all of the superpowers that @prko is proposing, could be pretty useful, if it actually worked.

3 Likes

Amadeus has all of the above using the dynamic “copy” command. It was quite useful when I used Amadeus. It also has if-then-else clauses that would let any “recycled music” be conditioned too, in several layers. However, as @asherber writes, I think it is hard to do in Dorico, it requires “compilation programs” like Amadeus and TeX (perhaps Lilypond can do this too). Also, depending on how the linked bars fall on the page, slurs, etc., need to be adjusted individually relative to the original source, which can be complex at times.

2 Likes

I had suggested something like this several months ago although it had to do with score reductions. For example, if creating a “For rehearsal only” accompaniment with SA voices reduced to the treble of the grand staff and TB voices reduced to the bass of the grand staff, it would be helpful if the reductions changed according to any changes to the source. It was mostly laughed at then but I think composers may find this idea and its use quite helpful.

I tried using Finale’s mirror function, but I remember it being quite limited, and in any case it is not what I am asking for here.

Yes, exactly.

Based on my experience with programming environments such as Max/MSP and SuperCollider, I believe this should be possible.

Pitches, rhythmic values, dynamics, articulations, and other musical markings can all be associated with notes. Those notes can then be organised into arrays or lists. Such sequenceable collections can be manipulated through operations such as retrograde, transposition, and inversion. Rhythmic values can likewise be multiplied or divided.

1 Like

It’s possible by using cues (but it’s not flexible!)

2 Likes

Yes, @charles_piano, I do recall that being an alternative shared with me before. I tried that but it really didn’t work as I would have liked. I still believe that @prko is on to something that would be helpful to a significant group of Dorico users. I also tend to agree that it may require a significant amount of coding.

3 Likes