FL Studio can export a project as 'Project Bones'. Among other things, this includes 'score' files with the '.fsc' extension (fruity score?). Here is what I have found out about the file format.

Using the graph editor, I left the first note alone, set all values on the second note to their minimums, and all values on the third note to their maximums. (Except for shift)
Binary contents of 'Pattern 1 - Kick.fsc':
00 00 00 00 00 40 00 00 00 00 00 00 3c 00 00
00 78 00 40 00 40 64 80 80 60 00 00 00 00 40 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 c0 00 00 00 00 40 00 00 00 00 00 00 83 00 00
00 f0 00 80 00 80 80 ff ff
Key: , , first note, second note, third note
Hex | Text | Meaning |
---|
| FLhd | Start of file header |
Hex | Decimal | Meaning |
---|
| 6 | Number of words to follow in header |
| 16 | ??? |
| 4 | Number of channels in channel rack, even though this file contains just one |
| 96 | Timebase as set in Project General Settings |
Hex | Text | Meaning |
---|
| FLdt | Start of data header |
Hex | Decimal | Meaning |
---|
| 99 | Number of words to follow in data chunk |
| ? | ? |
Hex | Text | Meaning |
---|
| 20.1.1.795 | FL version as null terminated string |
Hex | Decimal | Meaning |
---|
| ? | ? |
| 72 | Variable width number of words to follow as "note events". Each note event has 24 words. 3x24 = 72. I don't know why this is variable width while the preceding number of words in the data header seems to be fixed width. Details on variable width numbers can be found here. |
Time:
Hex | Decimal |
---|
00 00 00 00 | 0 |
60 00 00 00 | 96 |
c0 00 00 00 | 192 |
This project has 4 quarter notes, each divided into 4 sixteenth notes, that can each be shifted forward 23 times (24 possible values including 0). 4x4x24 = 96 ticks per quarter note. I think this is what timebase refers to. I'm not sure how many words this value can use. 4 is my initial guess.
???:
Hex | Decimal |
---|
00 40 00 00 | ? |
00 40 00 00 | ? |
00 40 00 00 | ? |
Note Duration (If using Piano Roll):
Hex | Decimal |
---|
00 00 00 00 | 0 |
00 00 00 00 | 0 |
00 00 00 00 | 0 |
* For example, see below
Pitch:
Hex | Decimal | FL Meaning |
---|
3c
| 60 | C-5 |
00 | 0 | C-0 |
83 | 131 | B-10 |
As placed on an 11 octave piano keyboard.
???:
Hex | Decimal |
---|
00 00 00 | 0 |
00 00 00 | 0 |
00 00 00 | 0 |
Fine Pitch Adjustment:
Hex | Decimal | FL Meaning |
---|
78 | 120 | 0 |
00 | 0 | -1200 cents |
f0 | 240 | 1200 cents |
Increments of 10.
???:
Release Velocity:
Hex | Decimal | FL Meaning |
---|
40 | 64 | 50 |
00 | 0 | 0 |
80 | 128 | 100 |
???:
Pan:
Hex | Decimal | FL Meaning |
---|
40 | 64 | -100 (full left) |
00 | 0 | 0 (centered) |
80 | 128 | 100 (full right) |
Velocity:
Hex | Decimal | FL Meaning |
---|
64 | 100 | 78 |
00 | 0 | 0 |
80 | 128 | 100 |
X:
Hex | Decimal | FL Meaning |
---|
80 | 128 | 0 |
0 | 0 | -100 |
ff | 255 | 100 |
Y:
Hex | Decimal | FL Meaning |
---|
80 | 128 | 0 |
0 | 0 | -100 |
ff | 255 | 100 |
----------------------------------------
In the Piano Roll, notes can have a duration value.

These two score files are almost identical:
Pattern 1 - Kick 1.fsc
46 4c 68 64 06 00 00 00 10 00 02 00 60 00 46 4c
64 74 34 00 00 00 c7 0c 32 30 2e 39 2e 30 2e 32
37 34 38 00 9f bc 0a 00 00 1c 01 25 01 41 00 00
e0 18 60 00 00 00 00 40 00 00 00 00 00 00 3c 00
00 00 78 00 40 00 40 64 80 80
Pattern 1 - Kick 2.fsc
46 4c 68 64 06 00 00 00 10 00 02 00 60 00 46 4c
64 74 34 00 00 00 c7 0c 32 30 2e 39 2e 30 2e 32
37 34 38 00 9f bc 0a 00 00 1c 01 25 01 41 00 00
e0 18 60 00 00 00 00 40 00 00 a8 00 00 00 3c 00
00 00 78 00 40 00 40 64 80 80
0xa8 == 168 == 1 3/4 beats * 96 ticks per beat