~grauw/gaia-tool#7: 
Support loading phrase recorder (SVQ) data

Phrases are kinda cool, however once recorded there is no way to retrieve their MIDI events, and those 8 phrase slots run out fast too.

When saving phrases to USB memory, they are saved as SH01_001.SVQ, SH01_002.SVQ, etc. files. It would be great if these could be loaded, visualised and converted to MIDI files. Possibly even generated or edited (e.q. quantise).

Ideally we wouldn’t need to save them to USB first and could have the tool directly retrieve them from the Gaia, but unless there is some secret undocumented feature I don’t think that’s possible, unfortunately.

Status
REPORTED
Submitter
bitbucket:Laurens Holst
Assigned to
No-one
Submitted
11 years ago
Updated
4 years ago
Labels
No labels applied.

bitbucket:Laurens Holst 11 years ago · edit

The file format itself shouldn’t be too hard to figure out, looking at the hex dump of a phrase it seems to be quite regular and straightforward.

It starts with a phrs header, followed by 18 additional header bytes: 00 00 00 4F 00 00 8A 00 00 00 00 00 00 00 00 00 00 00.

and from then on a series of 12-byte segments that look like aa 40 00 00 7F 40 00 00 00 bb cc dd. It looks like aa is note data and bb cc dd is timing data. Though that could be misaligned.

For example, here is the first bar from a phrase recorded arpeggio on a 1/8th grid with 70% note duration: D4 G4 A4 B4 D5 B4 A4 G4. Also a G2 is played at the start (manually, so not as precisely timed). These are all played at a velocity of 127 (hex: 7F).

3E 40 00 00 7F 40 00 00 00 20 00 30
2B 40 00 00 7F 40 00 00 00 5B 00 30
43 40 00 00 7F 40 00 00 00 20 00 30
45 40 00 00 7F 40 00 00 00 20 00 30
47 40 00 00 7F 40 00 00 00 20 00 30
3A 40 00 00 7F 40 00 00 00 20 00 30
47 40 00 00 7F 40 00 00 00 20 00 30
45 40 00 00 7F 40 00 00 00 20 00 2C
43 40 00 00 7F 40 00 00 00 20 00 04

The second bar starts like this (same notes):

2B 40 00 00 7F 40 00 00 00 55 00 30
3E 40 00 00 7F 40 00 00 00 20 00 30
43 40 00 00 7F 40 00 00 00 20 00 30
...

The file ends with the sequence 00 8C 00 00 00 00 00 00 00 00 00.

Next, should try to play some longer notes, as well as record some controller data.

bitbucket:Laurens Holst 11 years ago · edit

...and from the arpeggio patterns we learned that the Gaia stores a D4 as the value 3E (see Note class).

Register here or Log in to comment, or comment via email.