I have an FL Studio song file (.flp) that I'm trying to recreate programatically.

I've got my program to the point where it can play the instruments I want, when I want, now the only problem is that I don't know when I want them.

enter image description here

I'm looking at the piano line instrument by instrument, and while it's easy to say which notes are which in FL Studio terms (Bar X, Step Y, Tick Z), I don't know the real-world duration of Bars, Steps, and Ticks (and I'd even bet that you can vary them in the first place...).

How might I calculate get the absolute real time between each note?

3 Answers 3


I am not familiar with this software but have had sufficient experience with both sequencer and piano roll formats to understand your question. Examining the tutorials for "FL Studio Tutorial - Pattern Window and Step Sequencer Basics" I found the following:

"Notice all those rows of buttons for each sound? Those are each called 'step' and you looking at a sequence of them each representing 1/16 of a measure or bar of music."

source = http://www.fruity-loops-tutorials.com/post/FL-Studio-Pattern-Window-and-Step-Sequencer-Basics.aspx

Do you understand the concept of a "bar" also know as a "measure" in western music? Assuming you may not understand this I will explain it. Feel free to Google "Bars in music", "Measures in Music", "tempo" or any term I am using that you may not have heard of before.

Simply put a bar is a division of time. How much time depends on the 'time signature' and the 'tempo'. Many musical works use this to keep track of what notes are played when. For example in American Blues music, the 12 bar blues is used very often. This construct is 12 measures or bars at 4 beats each. The tempo can very from slow to fast (60 beats per minute to 140 beats per minute). Typically a 12 bar blues has the following chord structure: the tonic (I) is played for the first 4 bars, (16 beats), the sub-dominant (VI) plays the next 2 bars, the tonic again for the next 2 bars, then dominant (V) one bar, then sub-dominant one bar, and tonic (I) one bar and the last bar is usually the dominant or can be a tonic. So that's 12 bars, a whole blues song using this might have 12 of these, or 144 bars.

So according to the tutorial a step = 1/16 of a measure. From this one might conclude that this is the smallest amount of time the measure or bar can be broken down to. In music, this would be a 16th note, 16 x 16th notes will equal 4 quarter notes, and apparently a whole measure in this software. How long is this in real time depends on how you set the tempo.

There are a couple of video tutorials about FL Studio so google away to see if these will assist too.

  • Yes, I understand all that, but how much in real time is one step? I.e., one step = 115 milliseconds?
    – Raven Dreamer
    Commented Apr 11, 2012 at 0:33
  • 2
    @RavenDreamer As filzilla has said, that depends on the tempo (BPM or beats per minute), the time signature (number of beats per measure) and the number of steps per beat. Here is a quick formula: 60/(BPM * <steps per beat>) This will give you the time in seconds per step. For 60BPM, 4/4 time signature and 16th note resolution: first divide the resolution by the bottom number of the time signature to get steps per beat (16/4=4). This gives us 60/(60 * 4) or 1/4 second or 250ms per step. Commented Apr 11, 2012 at 13:13

There's a button to convert the ticks step bar display into minutes/seconds. It's in the top-left corner of the time panel.

From the docs: Main Menu -> Panels -> Time Panel. "Step/Beat switch (S/B) - This switch selects whether the time is displayed in steps (S) or beats (B). This option applies to bar display mode only, see the next option."

  • 1
    perhaps you could post an image? to illustrate which button you're referring to?
    – JoshP
    Commented Aug 4, 2013 at 12:58

From the title, you seem to be asking from a music theory / composition point of view, but looking closer, you're really asking a programming question? If you are just trying to parse the data (which really should be a StackOverflow question), you should just look into how to parse MIDI data. Looking at steps and beats will not help you much as that is just an abstraction meant for composers. But for those coming for the title, here is a full explaination:

A 'step' is basically just a position in a sequence. If you look at a classic TR-808 drum machine, it has a 16-step sequencer. That's 4 steps per beat, 16 steps per bar (or measure), and that's the standard way to divide steps into a measure with a 4/4 time signature. Of course, modern sequencers let you change this granularity. You can go all the way to 16 or 24 steps per beat, at extreme granularity.

FL Studio's granularity is controlled by PPQ - Pulses per quarter note, which is set to 96 by default, but can go up to 960. That means 960 'pulses' (or ticks) per beat. So that's the connection.

One beat is one quarter note. One bar is a whole note. However, a quarter note is not always a beat, which is depending on the time signature. So essentially step-sequencers are built around the premise of 4/4.

This PPQ system was introduced by the MIDI standard in the mid 80s because they needed enough granularity to capture human performances in all their errors. As an interesting side note, Quantization is the act of aligning notes to the nearest step in a given granularity, eliminating human error, but this ruins the human element of a skilled performer. Only robots have perfect accuracy to the millisecond.

So to answer your question, the length of a step is equivalent to these note values (but not always), where a measure must add up to a whole note. Also remember this is also dependent on BPM (Beats-per-minute) of course.

I'm no expert in music theory (and this is not the music theory SE) but sheet music is not a science; it's meant for humans (musicians) to read and perform the music to a certain degree of confidence, not perfectly recreate a piece exactly how it was intended. It's what allows for improvisation. When performing or transcribing sheet music, the main idea is there, but it can be interpreted in different ways.

DAWs and MIDI sequencers are precise, almost robotic. With enough granularity, you can capture any performance digitally and recreate it exactly. Or of course, sequence it manually. Something like the Roli Seaboard probably has so much expressive capacity, that some things just can't be transcribed unto sheet music. It's all in the improv and performance detail.

I can only suggest diving deep into music theory / music reading / classical composing to truly combine the disciplines and understand how they complement each other. I'm afraid there is only so far you can go without understanding and being able to perform sheet music yourself.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.