Tempo in Min:Sec (in addition to bpm)

• Oct 31, 2017 - 17:12

I'm doing some synchronizing of video to sheet music. Most of the videos have an introduction prior to the music starting. That intro is in frames, at whatever frame rate, and it does not relate to the tempo of the music in any way. That said, I found a simple way to manage the sync. I inserted a blank measure at the beginning of the score, and set the tempo so that measure had the same duration as the video intro.

It required a small amount of offline math to convert frames to seconds (floating point), then convert it into a tempo at 4/4 (1 quarter note is 1/4 of the video intro duration). I had to add decimal places to the tempo input in the inspector sidebar (inspector_tempotext.ui), but that is no big deal.

I am looking forward to doing this kind of synchronization again, and I am thinking about ways to improve my process via enhancements to MuseScore. It occurs to me that being able to specify a tempo in seconds or minutes:seconds, would be a useful feature. You could even put fps in there (frames per second) at all the different rates, and let the user input frames instead of seconds. Ideally it would not really be a tempo, but a way to specify the length of a single measure, regardless of meter.

This could be applied to other video or external sync situations than just introductions. A measure with this kind of tempo could be anywhere in a score. Implementing this seems straightforward to me, and I would offer to write and debug the code. All the numeric conversions and measure versus beat math is straightforward. I'm posting this to see what others think about the idea, and if there is acceptance of it or not.

The link to text feature will need to be included or explicitly disabled by this new feature. It should probably be an additional entry in the tempo palette, as well as a checkbox in the inspector.


Comments

So you're actually rather looking for a duration-element than a tempo-element? Just wondering if a ceasura (which has a pause property) or a breath marking wouldn't be better suited as base element to start from?

In reply to by jeetee

Yes, that is another way of saying it, a duration element. I encapsulated it in a measure in this case, but it could be a subset of a measure if that's really useful. I have trouble imagining a sub-measure user case, but that doesn't mean they don't exist.

I just looked at ceasuras in MuseScore, and maybe they already do this. I would attach it to a full measure rest and voilá. I'm going to have to play around with that. Thanks for the idea! Much better if the feature already exists. I might want to make the duration more precise - it's 0.01 seconds now. Millisecond precision would be a minimum for what I'm doing. But that's an easy change and an easily accepted pull request.

Realistically there are probably a lot of things that would be needed to do good SMPTE synchronization in MuseScore. Definitely worth someone's time to do a larger investigation and more comprehensive design proposal.

In reply to by Marc Sabatella

MuseScore already has a lot of timing information, far more precise than video frame rates. For music performance or lip sync videos, the video is already synchronizing to the tempo in its own way. It's the non-musical parts that are the trick if you want the sheet music to be in sync. Something simple like a ceasura at millisecond precision is all you really need for that. The audio inside video is not frame-dependent anyway.

If you want to get into full integration with a DAW, which has full video integration, then there are all kinds of things to deal with. But if all you need to do is sync up to the non-musical parts of the video, there's not that much to do. I assume a musical performance that is synchronized to the tempo in the sheet music. If you have free form tempos, no click track or metronome holding things together, then you get into all kinds of messy stuff.

If you want to see that kind of messy sync to video, go look at soundslice.com. It's all time-based, not tempo-based, and I think it's cumbersome to use. The sheet music cursor glitches at the barlines because they tend to sync to the video 1 bar at a time.

In reply to by sideways

I didn't mean to be dismissive of the notion of timecode integration, but it all needs a practical context. If you're talking about a musical performance, the video people doing all the sync work to match the image to the sound. Backing into sheet music synchronization is a whole other thing.

I don't know what other kinds of tasks people might be doing with MuseScore and video. I'm currently focused on performance and post-performance (lip sync) videos, and synchronizing sheet music with them. I don't need any kind of full-on timecode integration, I just need to measure out these non-musical stretches of time, and milliseconds is much better than frames for that. My original post might have been misleading that way, speaking about frame rates. I was trying to provide context and I didn't realize that a ceasura and some system text might do what I need very easily.

In reply to by sideways

Understood, I think. but actually, I do think it worthwhile to look at the bigger picture here. There are people interested in using MuseScore for full-on movie scoring, and it would be good to think about what that might look like down the road. Then even if we do start with a very limited feature more suited to performance video, we can at least design it to fit in the larger framework that we might how to implement some day.

In reply to by Marc Sabatella

What you're talking about is integrating video into MuseScore. You'd definitely need to be able to play the video inside MuseScore itself. Next thing you know you're recording audio and it's a full-blown DAW, like Pro Tools or Logic :-) The main features that impact scoring are the timelines, in min:sec, frames, and/or bars/beats. I don't know how well Qt integrates video, but I imagine it has features for that.

You would still need the ceasura feature, and I think it really could be that simple. It's totally different to use MuseScore to score a video, playing back with the built-in sounds, versus animating sheet music to sync to the audio in a video, which is what I'm doing. I don't need the video playing back inside MuseScore. I don't need all the timelines to come together inside MuseScore in the same way.

In reply to by [DELETED] 5

That makes more sense to me that not having the video involved at all. If I'm scoring something for a video, I want to see and hear it play back together.
And if you want a pause, you can use a ceasura :-). Though I will definitely be adjusting that to millisecond precision.

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