Allow easier creation (and handling) of tempo maps
Unless I'm missing something, MuseScore is currently (as of 3.5) fairly limited in its support for music with a constantly varying tempo, and it would be great to see this improved.
One common use case is the following workflow:
- An audio recording is made of humans playing/singing without a click track, so the recording contains a continuous stream of tiny variations in tempo.
- A MuseScore user needs to compose or arrange music which will then be layered over this existing audio as further recordings.
- The MuseScore user then needs to send a demo track of the combined result (i.e. original audio mixed with playback from MuseScore) to other people, e.g. their client who is paying them to add the extra parts, and/or the musicians who need learn these extra parts in preparation for recording them.
In this use case, obviously the MuseScore playback needs to align as closely as possible to the tempi from the original track. Clearly for anything other than very short fragments of music, it would be impractical to manually deduce and insert a new fractional tempo change for every bar or even beat (e.g. 76bpm, 76.3bpm, 75.8bpm, 75.6bpm, 75.7bpm, ...) in order to achieve this alignment. I think implementing a visual tempo map similar to those in DAWs such as Logic Pro would be a step in the right direction; however even with that, it would be very tedious to use this to construct a tempo map manually by trial and error.
Here's one possible solution which might be reasonably easy to support: allow importing a tempo map from track 0 of a type 1 MIDI file. (Not to be confused with https://musescore.org/en/node/207346 which concerns the opposite discussion of how MuseScore should export events!)
Maybe there is even already a workaround for accomplishing this, by importing a whole MIDI file, and then just somehow copying and pasting the tempo changes from the imported score into the target score? I haven't tried this yet. But even if that works, I think it would be great to offer an "import tempo map from MIDI file" feature which would make that a one step process. This would allow people to harness tempo functionality in other software, such as the ability to automatically generate a tempo map from an audio file, such as Logic Pro's Smart Tempo feature:
They could apply the Smart Tempo feature (or similar) to generate a tempo map, export a MIDI file containing those tempo changes, and then import that into MuseScore to apply it to the score. Then playback within MuseScore would perfectly align with playback of the original audio.
Of course it would also be awesome if MuseScore could mix backing audio tracks in with its own playback audio, so that any point the composer / arranger could immediately check how the combined result sounds simply by pressing play in MuseScore. But that is a separate feature and so should be discussed in a separate forum topic :-)