Best way to sync a midi to an audio file
There have been numerous solutions posted on the internet for this issue, however many of these answers appear to be for older software, with possibly outdated methods. I was wondering what the best current way to sync a midi to an audio file so that every measure would be in sync.
There was apparently a modification made to MuseScore to sync an audio file in 2013 - https://www.youtube.com/watch?v=jkzgBSY_CNo
However this feature does not appear to be in the current version, I created a similar topic on the stackexchange but was wondering what people's thoughts were on these forums.
Comments
It's not really clear what you mean here. If you have a MIDI file and an audio file and you want to "sync" them. that implies you have a program that is capable of playing both type of fies at once. If so, then consult the documentation for that program to learn how to do the syncing. MuseScore would not normally be involved in the process.
In reply to It's not really clear what… by Marc Sabatella
Sorry, I meant if there was a way to sync a midi to an audio recording (such as mp3) by the measure. I wasn't sure if there was a way to sync automatically in MuseScore like in the video, no other program seems to be able to do it automatically. Although there are ways of manually specifying the measure locations, it looks like that would take hours for a small audio file which is why I am hoping there's a better way.
In reply to Sorry, I meant if there was… by Ky6000
Sorry, it's still not clear what you mean "by the measure", or what program you intend to use for the playback.
In reply to Sorry, it's still not clear… by Marc Sabatella
There's another video that shows what I am trying to do - https://www.youtube.com/watch?v=DaLV2HDBQoc
He adds "beat bar markers" to specify where each bar starts and ends for the entire recording, then the imported midi will be adjusted accordingly. But this will take forever on a large scale.
In reply to There's another video that… by Ky6000
He doesn't add "beat bar markers" at all.
He has a MIDI file which has "bars", all he did was play an audio file and tap in the tempo, then set that as the tempo for the MIDI file. And his scenario is for Pro Tools specifically.
You can for example open an audio file with Audacity and use the beat finder tool in there to figure out the tempo of it.
All of this still has nothing to do with MuseScore and everything with whatever software you're using (going to use) to playback those two files.
In reply to Sorry, it's still not clear… by Marc Sabatella
I know this an old thread but it really is the only thing stopping me from moving from Guitar Pro8 to MuseScore.
https://youtu.be/XOXXj9QXNfE
Staffpad (which is basically unusable to me as it won't recognise my handwriting and doesn't provide guitar notation or tab) also has a similar feature
https://youtu.be/3J3T2ZIqYpE?si=D8xnydZvIRpz-i7r
I have noticed a number of requests from film composers to be able to sync to video which seems like an extension of the same concept. Is there any chance of this being added to MuseScore in the foreseeable future?
In reply to I know this an old thread… by wheresthedug
First, I should note - this feature is available in Finale since 2011. It is called import audio file. After importing MP3 you manually mark beats by tapping space bar. Playback will play MP3 audio at normal speed, and show score in sync with audio.
To address your problem, you can import your score into Finale, sync to audio MP3. MIDI playback will be in sync with audio playback. Very straightforward.
You correctly noticed a slew of similar requests to be able to playback score in sync with audio or video file.
Suggested workarounds by jeetee are ridiculous (sorry for speaking out loud what I think).
Big problem is that this functionality is conflicting with Musescore web site feature. Adding this functionality to MuseScore Studio will decrease Muse profit. Do not forget Muse has to make profit, and company should not be blamed for that.
I considered to contribute this feature to Musescore and had talked to Mark Sabatella. MuseScore Studio is an open source, but decision to merge your contribution is done solely by Muse. There is no guarantee your contribution will be accepted, especially if it does not fit in concept of profit making (no offence! they need to make living). Not to mention, iOS Musescore app is a closed source, and this feature would be most useful there.
In reply to First, I should note - this… by scherepanov
Hi scherepanov, I appreciate your input and insight.
My situation is perhaps somewhat unusual so importing into Finale isn't a solution. Rather that using software to create a playback file, I am using it for transcribing existing music. I actually have no interest whatsoever in generating a score which can be played back either from MuseScore or a 3rd party application like Finale, Logic, Guitar Pro etc.
Say I want to learn a guitar solo from a recording. I currently load the mp3 file into GuitarPro and set bar and beat markers for the number of bars in the track (or at least the section I want to work on transcribing).
I then use the score writing application as a playback control for the audio. Listen to the audio (perhaps slowing it down and/or looping sections as required) then enter the notes in the software to create a readable chart for myself or others to practice and play. With the audio synced to the score I can start and stop playback from any note without scrolling through audio. I can also set loop sections by the musical division rather than time location in the file.
I understand the need for Muse to make a profit and definitely support this. In fact I am completely baffled by how they actually do make money from a free open source application but I'm very glad they do. I'm not sure how adding this would conflict with the Muscscore website feature as this is something I have never looked into. I don't understand the business model well enough to understand whether adding this functionality would have an impact on profitability but I am keeping my fingers crossed in the hope that it might one day (soon) be added.
My current options are
1) stick with Guitar Pro.
I hate it as a program. The creators have no understanding of many basic musical concepts. Even things like chord naming can be a real joke.
The input mechanism is clunky and relies on TAB which is a frustrating. Even drum parts are created with Tab.
It doesn't have the most simple feature which I want to use all the time (MuseScore does though). I often want to just create a simple Chord Chart with 4 in the bar slashes and chord symbols above. In Musescore this mode doesn't provide any playback sounds but that doesn't bother me as I'm not interested in creating playback mockups of the arrangement. In GuitarPro you need to actually enter chord voicings and there is no simple slash symbol. Only slashes with stems.
2) use Staffpad
I bought Staffpad with high hopes. It is by far the most expensive iPad app I have ever bought. Unfortunately it is totally useless. The handwriting recognition is "temperamental" at best. Hopeless at worst. I am full prepared to accept that this might by my fault due to my writing but I have spent hours and hours trying to practice my writing in Staffpad to find out how I can make it compatible but I just can't manage it. Maybe its because I'm left-handed ?
Also staff pad is extremely limited for stringed instrument notation. I can see how it would be a great tool for orchestral composers with neat handwriting though.
3) Use Musescore to create the scores but a separate program like Transcribe! from the seventhstring.com to handle playback. This is actually very similar to the way I worked before GuitarPro added audio playback. It works but is really clunky compared to having the audio embedded and synchronised with the score in the score writing application.
In reply to Hi scherepanov, I appreciate… by wheresthedug
wheresthedug life is hard
No easy solutions.
Though, IMHO Finale functionality would be very close to what you will find useful in your use case. Unfortunately, Finale has no new investment and will eventually die.
I am skeptical we will see a good solution from MuseScore.
Life is unnecessary hard.
In reply to wheresthedug life is hard No… by scherepanov
While Finale has gone through some changes in terms of its business structure recently, the same is true of MuseScore, and of Sibelius. I rather doubt any of these are actually going to die any time soon.
But FWIW, to me these sort of real-time features are best handled in third party programs that can focus on a top-notch MIDI-to-MusicXML translation that can be used by any notation program.
In reply to While Finale has gone… by Marc Sabatella
I’m really sorry to hear that Mark. That basically leaves Musescore pretty much useless for me and I’m stuck with the massively inferior (in every other way) Guitar Pro 😢
In reply to I’m really sorry to hear… by wheresthedug
I’m not sure which part of that you saw as bad news. It’s great news, really - MuseScore is not going anywhere, and you don’t have to rely on them to implement specialty features like this because it’s better suited for - and more likely to be implemented well by - third party tools that integrate with it. Everyone wins!
In reply to I’m not sure which part of… by Marc Sabatella
I’m very glad Musescore isn’t going anywhere.
The bad news is that there is no program that is adequately suited to what I want to achieve. GuitarPro is currently the best of a bad bunch. StaffPad could be great but isn’t. Musescore could easily allow importing and syncing audio but doesn’t and it sounds like it won’t. Which leaves no options.
I don’t know what you mean by better suited for 3rd part tools “that integrate with it”. Could you give me an example of something that would let me sync an audio track for transcription that is able to integrate with Musescore?
In reply to I’m very glad Musescore isn… by wheresthedug
How do you know that "MuseScore could easily ..."? If this was so easy then wouldn't it be standard functionality with all scoring software?
In reply to How do you know that … by yonah_ag
That’s a good point. I have no knowledge of coding so am merely speculating on the difficulty based on the fact that GuitarPro, Staffpad, Logic etc can do it. However, none of these have the notation ability of Musecore.
In reply to I’m very glad Musescore isn… by wheresthedug
Where did you get the idea that this would be easy? I f you believe that because you have the skills to implement it yourself, then more good news - MuseScore is open source, so you can go right ahead and do so! but otherwise, ithe kind of synchronization is, as explained previously easier to do in a a program actually designed for real-time processing, unlikely MuseScore, and then an integration could be created. So it’s way way way more likely to see that happen since it is so much simpler, as oppoposed to hoping for a very technically difficult thing to be implemented in a program that wasn’t designed for that sort of thing in the first place.
So in summary, it’s better to wait for such an integration than to wait for a native feature like that, because it’s just ba better way to do these sorts of things.
In reply to Where did you get the idea… by Marc Sabatella
Sorry Marc, easy is a relative concept. For me with no coding skills it would literally be impossible. However, I assumed (perhaps wrongly) that it wouldn’t be that hard for someone with the coding skills able to create something like Musescore in the first place. The other thing that made me presume it would be at least possible (if not easy) is the fact that Muse also owns Staffpad and Audacity. It is implemented perfectly in Staffpad. I haven’t used Audacity but I believe beat maps are possible there also. Therefore, I simply assumed that some of the code/design/concept could be translated from one of your existing applications.
As I mentioned to elsewhere in this thread, the requirement isn’t about trying to create playback functionality for finished scores but rather to greatly simplify the workflow during the writing/transcribing process when working from an existing audio track (or existing video in the case of film and TV composers).
While native functionality would be the optimal solution I would use a well integrated 3rd party application if that could be achieved. Are you aware of anything that does integrate with Musescore for audio playback? Given the audacity connection how about making these work together?
In reply to Sorry Marc, easy is a… by wheresthedug
OK, I've been doing some more digging into possible 3rd party integration options and found this video
https://www.youtube.com/watch?v=qEqCetrgy5o
Which is doing what I want but only works using Jack which it then says isn't supported past Musescore 3.
I also found another thread on this forum where Marc mentioned that Jack is no longer necessary as the Musescore 4 sound fonts are better than anything external. This may be the case for midi playback but is there a way to control the transport of an external program such as Logic/Transcribe!/GuitarPro in Musescore4? I found the preferences tab I/O which allows Logic Virtual Midi and this does trigger midi sounds in Logic but doesn't control playback transport functions.
How can I work within Musescore 4 for transcribing while controlling the playback of the audio I am trying to transcribe from inside of Musescore?
In reply to I’m really sorry to hear… by wheresthedug
If you can produce a beat map, (via Audacity or manually using a timer and a human), then you could probably make use of the code in this tempo plugin to automate the application of the beat map to a score.
See https://musescore.org/en/project/tempochanges
In reply to If you can produce a beat… by yonah_ag
That might be a viable workaround. Certainly not as simple or elegant as an integrated solution but possibly useable. I’ll look into this. I can currently produce beat maps in either Logic or GuitarPro. Not sure what the output would be and how it would import but I’ll look at the link you posted.
Given that both Staffpad and Audacity are part of the Muse hub it would still seem like a logical solution to integrate beat maps into Musescore itself.
In reply to That might be a viable… by wheresthedug
A simple text file would be sufficient, giving the timestamp at the start of each measure. Plugins can read and process text files.
In reply to If you can produce a beat… by yonah_ag
Just looked at the plugin you mentioned.
I think I understand how it would map the tamp changes in the Musesore project. However, I can’t see how this would sync the playback controls of the audio to the playback of the score or vice verse. Am I missing something?
In reply to Just looked at the plugin… by wheresthedug
What software is going to playback the MIDI and audio files together? Something like VLC Media Player may be able to combine them or you could export the re-tempoed score to an audio format, (MuseScore can produce .mp3 or .wav), and then combine this with the original audio track in any audio processing software, or just keep them as separate tracks in an audio project.
In reply to What software is going to… by yonah_ag
I’m not sure we are seeing this the same way. I’m really not looking for combined midi and audio playback as a feature for playing finished scores. This is simply about the ability to listen to an audio track in time with the score natively for the purposes of writing out a transcription of a piece of music. Using an export/import of retempoed score/audio workflow would mean constantly transferring files which would be slower than having both programs open and switching between them in the old fashioned way. I used to do this but once you’ve experienced an integrated workflow there’s no going back.
In reply to I’m not sure we are seeing… by wheresthedug
OK, I see what you mean now, (I watched the video that you linked).
I can send MS3 MIDI output directly to a VST3 plugin (or to a DAW), in real time by using LoopMIDI.
No beat mapping, no programming, just real time sync'd audio driven by Musescore playback.
This is great for high quality playback of scores and for recording/mixing score output.
VST3: https://musescore.org/en/node/358470
DAW: https://musescore.org/en/node/339943
Maybe MS4 supports this option.
In reply to OK, I see what you mean now,… by yonah_ag
Thanks very much. I’ll take a look into that 👍
In reply to OK, I see what you mean now,… by yonah_ag
Thanks again for continuing to try and help me 👍
I had a look at the two threads you linked to. These look like they would achieve what I want but
1) I use a Mac and unfortunately Loop Midi appears to be Windows only.
2) Musescore appears to have removed support for Jack in MS4 😢
I’ll keep looking to see if something else could be used to achieve the same outcome in MS4 on Mac.
In reply to Thanks again for continuing… by wheresthedug
MS4 has removed so much that it is not yet suitable for me to use. Hopefully it will eventually regain the MS3 functionality which has been lost. Until then I'll stick with MS3 Evoution, (a.k.a. MS3.7), as it has bug fixes and some features ported from MS4. I have read that it can open MS4 scores but I haven't verified this myself.
In reply to MS4 has removed so much that… by yonah_ag
Thanks.
Hopefully they will add back some of the features that have been removed as any notation software is useless for me personally if I can't link it to the playback of the audio I am transcribing.
In reply to Thanks. Hopefully they will… by wheresthedug
Looks like JACK in MS4 is on the way.
https://musescore.org/en/node/337937#comment-1233007
In reply to Looks like JACK in MS4 is on… by yonah_ag
Wow.
I’ve just read through that whole thread. I had know idea any of this was such a hot topic.
That looks very promising. Your earlier comments on this thread were the first time I had even heard of Jack so it is all a steep learning curve. On reading the Jack thread you referenced I can see that there is a very strong Linux demand for Jack and it appears that there are also Windows and Mac OS versions so I could benefit from this. However, I also noticed @marcsabatella mentioning the distinction between Linux and the others in a way which to the uninitiated like me might suggest that Mac or Windows users already have other options without Jack. Have I mis interpreted that completely; or partially with only audio integration being available on Win and Mac without Jack. In short, are you aware of any way to currently sync transportation controls between MS4 and Logic on Mac?
In reply to Wow. I’ve just read through… by wheresthedug
I have no experience of MacOS or JACK but it sounds promising. Is MacOS a Linux variant?
The section of the MS4 handbook covering preferences is very sketchy when it comes to I/O settings so it's not clear what support there already is for Windows and MIDI Out.
See https://musescore.org/en/handbook/4/preferences#in-out
You could message scorster, (see the VST3 link above), since he uses MacOS and Logic and has experience of both MS3 and MS4. Maybe he has got thing working with now.
In reply to I have no experience of… by yonah_ag
Thanks again