swami / libinstpatch

Instrument file software library.
Other
20 stars 6 forks source link

About Gigasampler soundfont format. #60

Open jjceresa opened 4 years ago

jjceresa commented 4 years ago

I tried to load some .gig files (found on the web) using swami. All tries failed producing this message:

(swami1.exe:4760): GLib-GObject-WARNING **: invalid cast from `IpatchGigRegion' to `IpatchDLS2Region'
** (swami1.exe:4760): CRITICAL **: file ..\..\..\libinstpatch-1.0.0\libinstpatch\IpatchIter.c: line 749: should not be reached
(swami1.exe:4760): GLib-GObject-CRITICAL **: g_object_unref: assertion `G_IS_OBJECT (object)' failed
** (swami1.exe:4760): CRITICAL **: Failed to load file 'D:\Musiques\SoundFont\Essai_GiG\Starbirth_Kudu_Shofar.gig': Invalid RIFF chunk id

The error is detected by ipatch_dls_reader_load_level_0() that returns FALSE because a chunk id is found incorrect, like this:

chunck ID=DLS , i=3 
chunck ID=INFO, i=4
chunck ID=dlid, i=4
......
......
chunck ID=3lnk, i=4
chunck ID=z.., i=1 <--- char following `z` (at index 1) is parsed invalid because it is not an alpha-numeric char.

Because the same kind of error occurs on many other .gig file, I think the issue is a bug inside ipatch_dls_reader_load_level_0() (rather thinking that the bug is due to a corrupted .gig file).

Before doing any investigation inside ipatch_dls_reader_load_level_0() it is necessary to have information about gigasampler chunk format. Trying to find this information seems difficult.

Please, did you successfully loaded any .gig file using libinstpatch (or swami) ? Have you some advise where we could find any specifications about gigasampler soundfont format ?

derselbst commented 4 years ago

Sorry, I haven't used gig files so far. I had trouble finding them in the past. Neither do I know where to find a spec for it.

jjceresa commented 4 years ago

Neither do I know where to find a spec for it.

just find this on the web.

"..The Gigasampler format is proprietary, so there is no specification. It'spartly based on the DLS [1] format however... " https://linuxsampler-devel.narkive.com/jGmZxNa6/gigasampler-format-specification

This link is 15 years old, but I think that to day gig format is still proprietary. Bad luck !

jjceresa commented 4 years ago

@elementgreen, Hello, I am currently reviewing for libinstpatch gigasampler format implementation. I am faced to the following RIFF chunk ID pertinent to GIG format (3lnk, 3prg, 3ewl, 3ewa, 3dnl, 3ddp). As I do not want to boring you, I just wanted to know where did you got information about specification of these chunk ?. Please, if you don't remember about that feel free to ignore my question.