Problems Export to Midi/Проблема Експорт в Миди
Hello. Please tell me why, after exporting parts to a midi file, when I insert this file into a music program, for example: Cubase or Cakewalk, then when playing this midi file, the first note of the first measure is not played, there is no sound or just crackling, and sometimes the notes themselves shorten in duration. In general, there is no correct playback of midi files obtained after export, both in the 3rd and 4th versions. How can this be resolved? Tell me, please, who knows. For example, when I export through Guitar Pro, the midi file plays fine with music programs. Thanks to.
Привет. Подскажите пожалуйста, почему после экспорта партий в миди-файл, когда я вставляю этот файл в музыкальную программу, например: Cubase или Cakewalk, то при воспроизведении этого миди-файла не воспроизводится первая нота первого такта, есть нет звука или только треск, а иногда и сами ноты укорачиваются по продолжительности. В общем, нет корректного воспроизведения миди-файлов, полученных после экспорта, как в 3-й, так и в 4-й версии. Как это можно решить? Подскажите, пожалуйста, кто знает. Например, когда я экспортирую через Guitar Pro, миди-файл отлично воспроизводится музыкальными программами. Благодаря.
Comments
As mentioned on Discord, any crackling sounds you hear in another program would have to be due to a bug in those programs, since a MIDi file contains no audio at all. There is no way MuseScore can cause bad sound in another program.
But if you have a specific score in which some specific note is not heard at all, that could be a bug in the other program or a bug in MuseScore. It's impossible to say unless you attach the score in question - the actual MSCZ file) so we can export it to MIDi ourselves. Then tell us which specific note we should be listening for that you aren't hearing.
In reply to As mentioned on Discord, any… by Marc Sabatella
I'm not crackling, I understand what you want to say. But the note just doesn't sound. The note of the first bar is not heard. No matter how many notes the entire score contains. And besides the fact that the note still does not sound, and some notes themselves can be shortened in duration than it was written in the score. I can write a number of notes in a part and drop you a score and midi file so you can check it yourself in these Cubase and Cakewalk programs, load the midi file into some VST instrument.
In reply to I'm not crackling, I… by gorzowuk
I tried downloading third-party midi files from the Internet and they play perfectly, all the notes sound as they are recorded. And midi received from MS 3 or 4 do not play correctly. I believe it has to do with the midi export process itself in MS 3 and 4.
In reply to I tried downloading third… by gorzowuk
I posted this reply in your first post on the Announcement page:
When I use exported MIDI from MuseScore (any version) or any notation program, I always insert a blank measure with a tempo assigned to it at the beginning of the piece and then another blank measure at the end of the piece. This provides a buffer for track start discrepancies and it also allows me to shorten the track start in the DAW to eradicate any unwanted midi data (channel or patch selection) that might be hiding at the start of the track. Don't know if this solves your problem, but I have been successfully using MIDI from MuseScore 2 and 3 for years in my sequencers. The MIDI data is even accurate enough to maintain tempo maps that are needed for scoring to film. I am on Linux, so I use Qtractor, Ardour and rarely LMMS (mostly Qtractor). All of the MIDI data is there from the export (notes on/off, length, velocity, tempo, etc.)
The reason why the MIDI files from the Internet play correctly is likely because they were sequenced in a sequencer and not from notation. Exporting from notation (all notation programs) has potential for misalignment of opening events at the time of encoding. Leaving a buffer blank measure is a good practice in all DAW work. Even in a pure MIDI sequence (composing directly to the sequencer) you should leave a bar or 2 of empty space and allow the start of your opening tracks to hang out ahead of the downbeat and past the last note off event in every track.
Hope that helps!
-Carl
In reply to I posted this reply in your… by cfirwin3
Thank you for your advice. But I noticed that even if I manually delete this first note of the first measure in the DAW itself and write it again, it still does not play. Or even if I shift the midi track a bar forward, it still doesn't solve the problem. Therefore, you are right that the encoding problem is most of all in the export process. I haven't tried leaving an empty bar in the notation itself yet. I'll try and let you know. But I repeat that if you know the program Guiter Pro where there is a note editor, then the process of exporting to midi is excellent in it and the resulting midi file will be played perfectly, regardless of which measure the notes begin with.
In reply to I'm not crackling, I… by gorzowuk
Again, if you'd like someone to help we need you to attach your score and precise steps to reproduce the problem. Since no one else has ever reported a problem like this before, the problem must be either with your specific score(s), the precise steps you are following, or a bug in the software you are using to play your MIDI file. There is no way for anyone to help until you attach a score and give steps to reproduce the problem. We'd love to be able to help, but we need that information from you first.
In reply to Again, if you d like someone… by Marc Sabatella
Good. Tell me how to do it? What does it mean to make an assessment and give precise steps? Drop my MS or midi file? Can you please describe in more detail?
In reply to Good. Tell me how to do it?… by gorzowuk
Attach the score itself - the MSCZ file. Clic, the "Choose a file" button right below where you type your comment, and click your MSCZ file.
Then tell us which note specific does not play after exporting to MIDI. Then we can try the export ourselves and examine the file to see if the note is truly missing (which would indicate a MuseScore bug) or if it is present but for some reason not playing in your other software (in which case you would need to file a bug report in the software you are using to play the MIDI file).
In reply to Attach the score itself -… by Marc Sabatella
Here are the files. The first note is "do", the first measure does not sound. First part "Piano". I want to add one more thing: I checked that if the first measure is left empty, then the notes of subsequent measures are played without problems. Also, if midi is produced with a regular Windows Media Player, then all notes sound starting from the first, first measure.
In reply to Here are the files. I want… by gorzowuk
A dump of the MIDI data shows that note is present exactly as it should be:
You can clearly see the note on message for pitch 60 at tick 0 with velocity 80, the note off (note on with velocity 0) at 479, then the next note on for 60 at tick 480, etc. All is as it should be as far as I can tell. The note also shows normally if you import the file back into MuseScore.
So, if your other program is not playing this file properly, you'll need to report fact to them sk they can investigate further.
In reply to A dump of the MIDI data… by Marc Sabatella
Thank you for checking. But I doubt that this is due to the programs that I use Cubase and Cakewalk, since these are different software developers and, moreover, there are no problems with other midi files obtained by exporting when they are played in Cubase and Cakewalk.
In reply to Thank you for checking. But… by gorzowuk
There's also no problem when importing into MuseScore or when looking at the data. The data speaks for itself really. You can also try this online sequencer: https://onlinesequencer.net. I also tried Bandlab, from the same folks as Cakewalk. The data really and truly is there, not sure what other proof you need. You can see it for yourself in the dump, you can see the note when it imports into MuseScore, you can hear it in those two online sequencers.
In reply to There's also no problem when… by Marc Sabatella
Yes, I use Cakewalk bandlab. I checked the link you gave online sequencer, it works as it should.
In reply to Here are the files. I want… by gorzowuk
I'll drop it into a couple of sequencers later this evening to see if there is any interference with the first note or data on the start of the track. The note "on" data might be present, but there are other things around it that might be interfering with the playback.
In reply to I'll drop it into a couple… by cfirwin3
Okay. Thanks. It would be good if you check if you have at least one of the programs: Cubase or Cakewalk.
In reply to Okay. Thanks. It would be… by gorzowuk
I don't use either as I am exclusively on Linux, but if the midi imports properly on other sequencers, then it is an issue with your sequencer that you will need to workaround when exporting. I HIGHLY recommend placing a buffer measure (or 2) in all exported notation regardless of the notation software or sequencer... it's just good practice to keep the essential data away from the start/end of the track timeline when working in midi sequencers.
In reply to I don't use either as I am… by cfirwin3
I understood you.
In reply to I understood you. by gorzowuk
I tried downloading and installing Sibelius and did an export with it. Same problem as in MuseScore. Whereas Guitar Pro exports without problems and all the notes are audible. So Guitar Pro has some other way of converting to midi in contrast to Sibelius and MuseScore.
I also noticed that in Sibelius you can adjust the midi export settings. For example: choose "sound device" (photo attached)...
In reply to I tried downloading and… by gorzowuk
I also tried to install Finale and made an export to midi from it. Everything works just like in Guitar Pro.
In reply to Okay. Thanks. It would be… by gorzowuk
I imported the MIDI into Qtractor and everything played, including the very first note, with proper lengths. But as I said earlier, the first note starts immediately at 0 and this can cause problems (particularly with latency in playback plugins and other MIDI events occurring at 0 like channel/patch data, tempo, meter and any other hidden control date) in some systems and sequencers. This can be true even in expensive proprietary sequencers like Cubase, Logic, Sonar, Reason, etc.
Ultimately, there doesn't seem to be anything wrong with the MIDI export data itself. I just recommend leaving those margins when you transfer MIDI out of all notation programs and leaving a bar of space in your sequencer projects as a "best practice".
In reply to I imported the MIDI into… by cfirwin3
Thank you for your support. But still, why don't midi files obtained by exporting from such notation editors as: Guitar Pro and Finale create problems? How can this be explained or understood?
In reply to Thank you for your support… by gorzowuk
Hard to say, but maybe they add extra silence before the first note to work around bugs in other programs? Attach a MIDI of the same music generated by one of them and we can say better.
In reply to Hard to say, but maybe they… by Marc Sabatella
Here is a midi file of the same song exported from Guitar Pro. Plays in Cakewalk bandlab from the first note without any problems.
In reply to Here is a midi file of the… by gorzowuk
Oddly, one of those quarter notes starts before the program change, track name, and other metadata. That seems to be a bug in GuitarPro's export, but perhaps that bug cancels out the Cakewalk bug somehow? Another odd feature of the GP export is that it has the note off on tick 480, same as the next note on. This is known to give some software problems, but here again, maybe Cakewalk likes it better than the MuseScore technique of ending the first at 479.
In reply to Thank you for your support… by gorzowuk
It could also be the order in which data gets programmed at point 0. You could export identical music from Guitar Pro and MuseScore and then compare the complete MIDI event lists from both. Is the order of recorded events at point 0 different between the 2? This could have implications for the way your sequencer (or more likely the instrument plugin) deals with triggering simultaneous events. It's also worth mentioning that the buffer of time that you add before note 1 is the ideal place to program your initial automation CC0, CC7, pan, volume envelopes, etc. Record a 'wiggle' of all controllers in this space to ensure that control surfaces and automation is syncing before playback. Many folks that create templates will do this. You don't want a bunch of things happening at the same time right when a note is triggering.
In reply to It could also be the order… by cfirwin3
compare full lists of MIDI events from both. Does the order of recorded events at point 0 differ between the two? - how to make this comparison? how?
Record a 'wiggle' of all controllers in this space to ensure that control surfaces and automation is syncing before playback - and how to do it?
In reply to compare full lists of MIDI… by gorzowuk
Your DAW may have a midi event list that you can open.
Hit record and wiggle your control surfaces in the first blank measure or 2. Do this for every controller that you are using and on each track.
Now when your project plays back, the sequence will have guaranteed calibration before the first note in all relevant areas.
This technique is more important for large templates and instrumentation.
In reply to Your DAW may have a midi… by cfirwin3
I'm really having a hard time understanding what you're talking about. Since I still use a translator. I don't know English.
In reply to I'm really having a hard… by gorzowuk
Unfortunately, I don't speak any other languages well enough to explain in any other way. I can only suggest you use your DAW to examine the MIDI events for yourself so you can see for yourself what the bug is in and report it.
In reply to I imported the MIDI into… by cfirwin3
Is there a difference between the export/convert processes of different programs? In cases like Muse Score and Guitar Pro.
In reply to Is there a difference… by gorzowuk
Sure, plus of course MsueScore and Guitar Pro won't be reading the same music to begin with. That is, the same file can't be used in both program (although MuseScore can "import" - convert - GP files). So you'
re starting from different music, and then they'll differ in detail like which channels they use for each instrument, what velocities they use for different dynamics, what CC messages they send, how long they actually consider a quarter note to be, and a thousands other details.
In reply to Sure, plus of course… by Marc Sabatella
Well I am not trying to open gp files in MS. I record notes separately in each program in a new way.
In reply to Sure, plus of course… by Marc Sabatella
If possible, I've made four midi files for the test from four programs:
MuseScore
Sibelius
GuitarPro
finale.
Where 1st and 2nd are not reproduced correctly. 3rd and 4th are great. Each file contains two measures of the same note content.
If you can, please check again.
In reply to If possible, I've made four… by gorzowuk
Below are the "0" MIDI events for all 4 files. Notice that only Guitar Pro begins with "note on" priority. Also notice that all of these logs are different (they account for events in a different order of priority even though each log represents these actions occurring at the same time). None of these logs is more correct than another, but they each have different data sets generated by their editors. This is why it is good to leave a margin of a measure and then slide the start of the track over to just before the first note in your sequencer. Doing so will remove any unnecessary data (Bank Select, etc.) from the track.
In short, leave a margin of space in your notation files when you export to ensure that the first "note on" event is played back without interruption from other underlying events or a clipped starting track point.
Best of luck!
FINALE:
# | Bar | When | Length|Chnl| Vel|Note| Operation | Data
1 | 1 | 0 | | 0 | | |METAEVENT -> |Track name = ??
2 | 1 | 0 | 0 | 0 |121 | 0 |controller-> | Bank Select (coarse) = 121|
3 | 1 | 0 | 0 | 0 | 0 | 32 |controller-> | Bank Select (fine) = 0|
4 | 1 | 0 | 0 | 0 |121 | 0 |program |
5 | 1 | 0 | 0 | 0 |101 | 7 |controller-> | Volume (coarse) = 101|
6 | 1 | 0 | 0 | 0 | 64 | 10 |controller-> | Pan position (coarse) = 64|
7 | 1 | 0 | 0 | 0 |110 | 7 |controller-> | Volume (coarse) = 110|
8 | 1 | 10 | 1043 | 0 | 69 | 60 |note on |
GUITAR PRO:
# | Bar | When | Length|Chnl| Vel|Note| Operation | Data
1 | 1 | 0 | 480 | 0 | 76 | 60 |note on |
2 | 1 | 0 | | 0 | | |METAEVENT -> |Track name = ??
3 | 1 | 0 | 0 | 0 | 0 | 0 |program |
4 | 1 | 0 | | 0 | | |METAEVENT -> |Key signature = 0, Major
5 | 1 | 0 | 0 | 0 | 0 |101 |controller-> | RP (coarse) = 0|
6 | 1 | 0 | 0 | 0 | 0 |100 |controller-> | RP (fine) = 0|
7 | 1 | 0 | 0 | 0 | 6 | 6 |controller-> | Data Entry (coarse) = 6|
MUSESCORE:
# | Bar | When | Length|Chnl| Vel|Note| Operation | Data
1 | 1 | 0 | | 0 | | |METAEVENT -> |Track name = ??
2 | 1 | 0 | | 0 | | |METAEVENT -> |Time signature: 4/4, clocks/tick=24, 8 clocks/quarternote,
3 | 1 | 0 | | 0 | | |METAEVENT -> |Key signature = 0, Major
4 | 1 | 0 | | 0 | | |METAEVENT -> |Tempo = 120.00 BPM
5 | 1 | 0 | 0 | 0 | 0 |121 |controller-> | Controllers Off = 0|
6 | 1 | 0 | 0 | 0 | 0 | 0 |program |
7 | 1 | 0 | 0 | 0 |100 | 7 |controller-> | Volume (coarse) = 100|
8 | 1 | 0 | 0 | 0 | 64 | 10 |controller-> | Pan position (coarse) = 64|
9 | 1 | 0 | 0 | 0 | 0 | 91 |controller-> | NOT USED: Effects Level = 0|
10 | 1 | 0 | 0 | 0 | 0 | 93 |controller-> | NOT USED: Chorus Level = 0|
11 | 1 | 0 | | 0 | | |METAEVENT -> |MIDI Port = 0
12 | 1 | 0 | 479 | 0 | 80 | 60 |note on |
SIBELIUS:
# | Bar | When | Length|Chnl| Vel|Note| Operation | Data
1 | 1 | 0 | 0 | 0 | 0 | 0 |program |
2 | 1 | 0 | 0 | 0 | 0 |121 |controller-> | Controllers Off = 0|
3 | 1 | 0 | 0 | 0 | 0 | 64 |controller-> | Hold Pedal = 0|
4 | 1 | 0 | 0 | 0 | 24 | 91 |controller-> | NOT USED: Effects Level = 24|
5 | 1 | 0 | 0 | 0 | 51 | 10 |controller-> | Pan position (coarse) = 51|
6 | 1 | 0 | 0 | 0 |100 | 7 |controller-> | Volume (coarse) = 100|
7 | 1 | 0 | | 0 | | |METAEVENT -> |Track name = ??
8 | 1 | 0 | 96 | 0 | 81 | 60 |note on |
In reply to Below are the "0" MIDI… by cfirwin3
In general, you can make corrections in MS so that you don’t have to leave empty bars and the notes start playing from the first one? Is it difficult to correct?
In reply to In general, you can make… by gorzowuk
I also noticed that the names of the tracks in Guitar Pro are saved when exporting to midi and are displayed in my sequencer on the tracks and on the clips themselves, while the names of the MuseScore parts are not saved, but some strange symbols are displayed. Why is that? It can be fixed? (I'll add screenshots later)
In reply to I also noticed that the… by gorzowuk
The names of the staves are right there in the MIDI data from MuseScore as well:
You can also see this easily by importing the MIDI file back into MuseScore:
Again, if you're having trouble with Cakewalk, you really need to contact their support staff. We've given you all the necessary information, it's up to you now to report the problem to them so they can fix it.
In reply to The names of the staves are… by Marc Sabatella
I understood you. Thanks for the information provided. I'll try to contact them.
In reply to In general, you can make… by gorzowuk
I'll say it one last time. Leaving a bar of margin before all exported midi data from notation is a best practice. Even if the data transferred absolutely perfectly, you would want to have that margin. This is why working film prints in movie production have a 5 second lead (the countdown clock animation). There is nothing wrong with MuseScore's midi output. All of the data is there. Sequencers and instrument plug-ins just have a hard time with too much data delivered at point 0 sometimes.