Start of a MIDI Message/Note in terms of number of ticks/pulses


Given an event, Is there a way to find the time of message ( not the delta time) of a message?

I have created a midi file that has PPQ of 1920 ( or 480 per 1/16 note). However, when I import it to create a new project, it detects the tempo and time signature correctly but the messages are not placed at the correct positions.

For instance, when I place in a midi file a message (meta or note On message) at time 15360 in ticks with ppq of 1920 and midi tempo of 410501 ms/quarter note, I assume it should place in the absolute time of 3.284008 or right at the start of bar 2. But it does not, it places it 11.083 or 7. 4. 1. 8!

Is Cubase using a different PPQ or method to import files?

Any help would be greatly appreciated.


What a way to put it! :laughing:

The default ppq in Cubase is 480, did you set it to 1920? Or do you actually mean ppq 480, 1920 ticks per 4/4 bar?

My midi file has ppq 1920 generated by another Yamaha tool.

I checked my file using MIDO. I mean 1920 ticks per quarter note or beat in 4/4. I set Cubase midi resolution in Preferences to 1920 ( or 480 per 1/16th note)!

My question is pretty simple? Is it possible to find the start time of a MIDI Message/Note in terms of the number of ticks/pulses? I am guessing not!

All the PPQ unites are used in LE based on the user manual.

It shouldn’t matter what the ppq is set to in Cubase. I would tend to trust the note positions that Cubase finds. I would guess the notes are not where you expect them to be, so the problem is in the way you created the midi file, or the problem is you have incorrect expectations about the note positions :slight_smile:. To answer your question, no, that’s not how midi files work.

You were correct! I just fixed it and It works like a charm!
Lesson: Programming MIDI is not easy even in Python!