Automatically place dynamic notation based on MIDI file volume
Do we have any way of automatically adding dynamic notation (nothing fancy like crescendo or decrescendo, just basic pp, p, mf, f, ff) to a score based on the volume of a midi file upon import?
Background:
I'm currently 'writing' a score in Cubase, since I find the piano roll much easier to work with than the Musescore editor (believe me, I tried and already had a horrible time with the sole single page score on my account).
I can fit my notes within the bars in Cubase, quantizise and then export to Musescore via MIDI file, which provides me with a very usable score.
What's still missing in there I'll do by hand, but the dynamic notation I'd like to automate if possible since it's quite important for my arrangement.
Do we have any way of automatically placing pp, p, mf, f and ff above / next to the notes, depending on the midi volume (or velocity if stored inside the midi) those are played back with?
I only use velocities of 50, 70 and 90 in my Cubase project, so it's not like a live recording with constantly changing volume levels.
I just need those 50, 70 and 90 values in the midi file (whether they're stored as volume or velocity I don't know) to map to the relevant dynamic notation in Musescore.
Obviously not for each note though, and only for the notes the velocity / volume actually changes at.
Is something like this possible?
And as I very much expect the answer to be 'no', my next question is:
Do we have a workaround of some kind?
Perhaps some external tool or plug in?
Would this behaviour perhaps be possible with other notation software such as Cappella?
Thanks
Comments
Almost certainly it should be possible to do it through a plugin that writes the dynamics at each change (for example 50=p 70=mf 90=f or whatever relationship you want to establish). In musescore every dynamic indication linked to a certain velocity that can however be customized for different parameters. It can probably also be done by inserting text elements not related to velocity, we need to see what can be more convenient. It's a matter of seeing if someone will want to make a plugin of this type...
For those interested, i have published in the 'Download->Plugins' section a plugin that automatically adds an indication of dynamics in relation to velocity, under the name 'Automatic addition of Dynamics'
In reply to For those interested, i have… by ILPEPITO
wtf...
I was just asking for whether or not the possibility exists, and you jus cmt made a tool for it?
I'm gonna check it out later the day; how does it work exactly? I'd assume it to be fairly bare bones, so you probably have to define the velocity mappings by hand?
Is the source code available somewhere / what language did you script it in? (I have no idea how Musescore plug-ins work, but unless they require a massive setup I might actually end up modifying it to my needs :) )
Thanks
In reply to wtf... I was just asking for… by Senri in the M…
The plugin itself is the source, it is qml, a plain text scrtipting language
In reply to wtf... I was just asking for… by Senri in the M…
The plugin is available on the same forum site but in the section i indicated. A mapping is already indicated but can be edited. For the installation (very simple) you can see by searching with google for instructions. Instructions for the plugin are on the download page.
In reply to The plugin is available on… by ILPEPITO
Alright, thanks!
Gotta say it never happened to me some random dude would implement a plugin specifically for my needs only because I asked in forum lol
But yeah, I'm glad you did – I'll definitely check it out.
Does it only add dynamic symbols at the points the volume changes? Or will it add dynamic symbols for all notes?
As far as I read your plugin description it should only be the actual volume changes?
Also, you mention only one clef can be selected at a time – so can I still select the entire treble clef from beginning to end, or do I need to select each clef line-wise?
If you're up for it and it's not too difficult, could you also implement automatic tempo symbols in Musescore depending on the midi tempo? (Only at the points the tempo actually changes at)
That'd be perfect for me, as I could jump straight to polishing up the note placement in Musescore without caring about replicating tempo in Musescore too :)
Thanks
In reply to Alright, thanks! Gotta say… by Senri in the M…
I wrote the plugin only because i was curious about the issue, and what i have created goes beyond your requests. You can select the entire treble clef. Symbols are added only when dynamics change (in the fixed range, not a fixed value). You just have to try it to see if you can use it... for tempo changes I don't know what you mean: tempo changes are imported together with the notes in MIDI files, unless you mean writings like 'Andante' 'Allegretto' etc., but (as far as possible) it wouldn't make much sense to implement this in a plugin.
In reply to Alright, thanks! Gotta say… by Senri in the M…
A clarification: midi volume (CC 7) and note velocity are not the same thing, and when you export to midi format they are exported as separate events. Musescore is able to import velocity but NOT midi volume, so you won't be able to have any plugins that interpret midi volume. Cubase offers many tools (including the 'Logical Editor') to manipulate these events, and the only way (at least for now) to communicate with Musescore is to entrust volume changes to velocity and not midi volume.