Is there a way to sequenciate premade patterns?

• Sep 6, 2022 - 20:10

Hello there, I use musescore mostly for composing backing drums and I'm wondering if there is a way either from notation or musescore feature to alternate through a fixed number of short patterns in any order, without the need to explicitly writing every pattern again, so that If I make some change over the parent pattern it would be the same all over the staff everytime the pattern is called.

This would accelerate my work 10x because most times I only need 2 or 3 patterns and If I need any change after serializing them I need to do it everytime on every iteration and sometimes it could be as simple as adding a cymbal.
For example let's say that I have patterns A, B and C, so intead of explicitly writting to the staff I could write something like:
AAAABAAACABABABACACAC... (just an arbitrary combination)


Comments

if I understand correctly, no, there is nothing automatic like that. In principle someone might be able to device a plugin that could automatically copy a given source to a number of pre-determined destinations - like by matching texts attached to the measures to see which desintations should go with which sources.

But in general, this seems like the sort of thing a DAW might be better suited for.

In reply to by Marc Sabatella

Neither daws do what I want, seems like you understanded only part of what I want, generally daws, the ones I know, enable you to sequenciate patterns, but once they are pasted/put, they are a different thing from the source, so again is the same as pasting in musescore but with the benefit of better readability/less granularity.

Even if you know any daw that can update patterns from source, they use piano rolls instead of notation, and I'm more comfortable using notation.

May be is a feature to add to musescore? I think it's an improvement similar to moving from bitmaps to vector graphics, but with music.

In reply to by colesessano

I am not familiar with the current crop of DAWS, true. I just figured this would be the sort of thing they'd do since it seems so basic to their reason for existing. But - a number of DAWs do feature notation views, FWIW.

Anyhow, as I said, should be doable plugin I would imagine. Whether or not it would be easy, I couldn't really say.

In reply to by colesessano

As Marc said, this is not a job for a notation program, it's a job for a DAW.

Reason, in particular, can exactly what you are talking about with very little effort. You can program several similar patterns into a rhythm device, then use MIDI to call those patterns in any order you wish, as many times as you like. You can re-order the patterns in seconds, you can also quickly edit any existing pattern so that each time it is called, the "new" pattern is heard.

I'm sure other daws have similar features, but Reason for sure can do this, I have used it for exactly this purpose many times. There are probably several free or low-cost daws that have similar functionality. Looking for this behaviour from a notation program is like going fishing in the treetops then getting mad because you're not catching anything.

While one could indeed try to code a plugin to set and keep track of such references and copy-paste for you; it's not an easy thing to write imho.

If the copy of the pattern isn't that important because you're only writing your part, then perhaps you could (ab)use jumps for this, as per attached example.

Attachment Size
334948-patternbased-score.mscz 7.99 KB

In reply to by jeetee

The way I would imagine it working is that you'd use staff text with a particular user text style to label the basic patterns, then attach the same staff text to each use of the pattern in the music that follows. The plugin would go through the score looking for staff texts with that style. The first time it sees a given text, it would be assumed to be the source. It would then take everything from that point until the next staff text to be the pattern. Establish a range selection, then issue a copy command. Then start going through the score looking for more occurrences of that same staff text, then select the corresponding length of a selection and issue a paste command. Then go back to the beginning and ignore that particular text but start looking for another text, and repeat the process. In my mind, it shouldn't be that hard, but I have little experience with QML or the plugin API.

Of course, a more clever and much more efficient version would be to do it all in one pass by somehow maintaining multiple clipboards or otherwise trying to pull it off in a single pass, but that does indeed seem hard.

In reply to by colesessano

Turn on "View → Show Invisible".

Basically:
* Add a "segno" at the start of a sample, change its label using the Inspector
* Add a "To Coda" at the end of a sample, change its label using the Inspector
* Use "D.S al Coda" Jumps to play back a sample and resume playback at the next measure; To that end add a Coda to each "next measure". Use the inspector to set the correct label references.

Additionally:
* Stylize the jumps/staff if so desired (center in measure, add rounded frame, make staff lines invisible)
* Make the jump measures short (1/64th) and add an insanely high tempo marking to minimize the impact of having them "played" during in-between each jump.

In reply to by colesessano

Well.. yes and no.
What I did is far from cosmetic, so no.
Playback just isn't controlled by the letters only, you also need to correct coda marking references. Most notably, you'll need to update where playback continues after making the jump.
So for each letter you move around, you'd need to go into the Properties panel and update the "continueAt" value for it to refer to the coda placed at the measure end (or rather, start of next measure).

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