|
From: Josh G. <jg...@us...> - 2003-03-19 23:46:26
|
The DLS parser in libInstPatch is now functioning to the point of
loading a DLS file (I'm sure there are some bugs still). I threw a
couple of .gig files at it and they seem to load fine too. To help debug
things I wrote a test program to output the RIFF chunks and I found many
custom chunks that aren't part of the DLS standard. I think it will take
a little bit of reverse engineering to figure out what they contain. It
would probably help if I'd used GigaStudio before. Can anyone comment on
what the synthesis model is? Is it fixed like DLS2/SF2 is (2 LFOs, 2
Envelopes, low pass filter, etc) or is it modular?
Since I haven't seen any DLS articulation (effect parameter) data in
.gig files I'm assuming most of these chunks (especially in regions) is
custom .gig effect parameters. The content of many of the chunks seem to
be the same across different files, so perhaps some of them can be
ignored.
The weirdest thing I saw was a "nam0" chunk in one .gig file that had a
size of 3. This apparently breaks the RIFF spec I believe, because chunk
sizes are supposed to be even. Also it appears to be actually 4 bytes in
length, since the next chunk starts 4 bytes later (maybe its just a
broken .gig file?).
I think its also quite lame that there doesn't seem to be a way to
identify a .gig file from a DLS file besides its file extension (and
running across those custom chunks). I think this is kind of stupid and
makes things difficult when determining the file type from its data
rather than file extension. Although the DLS standard is designed to
allow custom chunks. I'm curious if these chunks are registered with the
MIDI Manufacturers Association (ones who designed DLS)?
Cheers.
Josh
P.S. here are some details on the custom chunks that I found.
Indentation indicates embedded chunks, the toplevel chunk listed for
each of these blocks is the last standard DLS chunk in the ancestry.
'DLS '<LIST> (Standard DLS RIFF chunk)
'3gri'<LIST> (size = 88)
'3gnl'<LIST> (size = 76)
'3gnm' (size = 64) (values seen: "Default Sample Group")
'einf' (size = 98)
'rgn '<LIST> (Standard DLS region, effect parameters, key splits, etc)
'3lnk' (size = 172)
'3prg'<LIST> (varies)
'3ewl'<LIST> (size = 196)
'wsmp' (size = 36) (seems identical to Standard DLS wsmp chunk)
'3ewa' (size = 140)
'3dnl'<LIST> (varies)
'nam0' (size = 3!!!)
'3ddp' (size = 10)
'lart'<LIST> (DLS articulation data [effect parameters] list)
'3ewg' (size = 12)
'wave'<LIST> (DLS sample chunk)
'3gix' (size = 4)
|
|
From: Mark K. <mar...@at...> - 2003-03-20 00:31:47
|
Josh, Exciting news here, or at least for me. PLEASE - use me and my Gig library as a resource. If I can be of help somehow, please let me know and I'll try. On Wed, 2003-03-19 at 15:45, Josh Green wrote: > The DLS parser in libInstPatch is now functioning to the point of > loading a DLS file (I'm sure there are some bugs still). I threw a > couple of .gig files at it and they seem to load fine too. To help debug > things I wrote a test program to output the RIFF chunks and I found many > custom chunks that aren't part of the DLS standard. I think it will take > a little bit of reverse engineering to figure out what they contain. It > would probably help if I'd used GigaStudio before. Can anyone comment on > what the synthesis model is? Is it fixed like DLS2/SF2 is (2 LFOs, 2 > Envelopes, low pass filter, etc) or is it modular? I'm not sure I understand this question exactly, but I think it's a fixed model, or at least relatively fixed. I could post some screen shots or something like that if it would be helpful. I think there are two things in GSt to keep in mind. They sort of interact, but we'll have to decide what to focus on: 1) The gig files themselves - what's in them, etc. This is the basic sound. In GSt these have some ADSRs, LFO (I think) and most important, layering of samples across a number of parameters like MIDI velocity.. 2) Performance files. These set up how a user wants to use the gig files in GSt. This sets up the mixer, the effects, and other things. I don't actually do to much with performance files other than make sure I get the right instruments loaded on the right MIDI channel, but they do much more. > > Since I haven't seen any DLS articulation (effect parameter) data in > .gig files I'm assuming most of these chunks (especially in regions) is > custom .gig effect parameters. The content of many of the chunks seem to > be the same across different files, so perhaps some of them can be > ignored. I don't understand 'DLS'. Sorry. However, I 'think' much of what you are thinking about might be in the Performance file and not in the Gig file. > > The weirdest thing I saw was a "nam0" chunk in one .gig file that had a > size of 3. This apparently breaks the RIFF spec I believe, because chunk > sizes are supposed to be even. Also it appears to be actually 4 bytes in > length, since the next chunk starts 4 bytes later (maybe its just a > broken .gig file?). > > I think its also quite lame that there doesn't seem to be a way to > identify a .gig file from a DLS file besides its file extension (and > running across those custom chunks). I think this is kind of stupid and > makes things difficult when determining the file type from its data > rather than file extension. Although the DLS standard is designed to > allow custom chunks. I'm curious if these chunks are registered with the > MIDI Manufacturers Association (ones who designed DLS)? Please understand that I know absolutely nothing about the internals, but I hope to be helpful, without being a hinderance I hope. > > Cheers. > Josh > > P.S. here are some details on the custom chunks that I found. > Indentation indicates embedded chunks, the toplevel chunk listed for > each of these blocks is the last standard DLS chunk in the ancestry. > > 'DLS '<LIST> (Standard DLS RIFF chunk) > '3gri'<LIST> (size = 88) > '3gnl'<LIST> (size = 76) > '3gnm' (size = 64) (values seen: "Default Sample Group") > 'einf' (size = 98) > > 'rgn '<LIST> (Standard DLS region, effect parameters, key splits, etc) > '3lnk' (size = 172) > '3prg'<LIST> (varies) > '3ewl'<LIST> (size = 196) > 'wsmp' (size = 36) (seems identical to Standard DLS wsmp chunk) > '3ewa' (size = 140) > '3dnl'<LIST> (varies) > 'nam0' (size = 3!!!) > '3ddp' (size = 10) > > 'lart'<LIST> (DLS articulation data [effect parameters] list) > '3ewg' (size = 12) > > 'wave'<LIST> (DLS sample chunk) > '3gix' (size = 4) > > > > > ------------------------------------------------------- > This SF.net email is sponsored by: Does your code think in ink? > You could win a Tablet PC. Get a free Tablet PC hat just for playing. > What are you waiting for? > http://ads.sourceforge.net/cgi-bin/redirect.pl?micr5043en > _______________________________________________ > Linuxsampler-devel mailing list > Lin...@li... > https://lists.sourceforge.net/lists/listinfo/linuxsampler-devel |
|
From: Josh G. <jg...@us...> - 2003-03-20 01:37:36
|
On Wed, 2003-03-19 at 16:31, Mark Knecht wrote: > Josh, > Exciting news here, or at least for me. > > PLEASE - use me and my Gig library as a resource. If I can be of help > somehow, please let me know and I'll try. > I may write a test program to mine the .gig specific stuff so it can be analyzed to try and figure out whats inside those custom chunks. I'll be sure to give you a copy to run on a directory of .gig files if it comes to that. > On Wed, 2003-03-19 at 15:45, Josh Green wrote: <cut> > > would probably help if I'd used GigaStudio before. Can anyone comment on > > what the synthesis model is? Is it fixed like DLS2/SF2 is (2 LFOs, 2 > > Envelopes, low pass filter, etc) or is it modular? > > I'm not sure I understand this question exactly, but I think it's a > fixed model, or at least relatively fixed. I could post some screen > shots or something like that if it would be helpful. > Some screen shots might be helpful :) If you could put them somewhere were I could passively download them, probably not appropriate to post to the list (I'm on dialup anyways, so I don't like getting big emails). The most important stuff is where effects and parameters are set. > I think there are two things in GSt to keep in mind. They sort of > interact, but we'll have to decide what to focus on: > > 1) The gig files themselves - what's in them, etc. This is the basic > sound. In GSt these have some ADSRs, LFO (I think) and most important, > layering of samples across a number of parameters like MIDI velocity.. > Okay. Those are the parameters I am talking about. What I am looking for are specifics on them. How many ADSRs, LFOs. What effects can be modulated by these ADSRs/LFOs (pitch, filter, volume, etc). I need to get an idea of what the constraints are to be able to determine whats in the files. It may end up that I have to have access to the program to try changing parameters and seeing what effect they have on the resulting file. > 2) Performance files. These set up how a user wants to use the gig files > in GSt. This sets up the mixer, the effects, and other things. I don't > actually do to much with performance files other than make sure I get > the right instruments loaded on the right MIDI channel, but they do much > more. > Performance files, huh.. That sounds like more to do with how the instruments are routed and effects applied on top. Is a peformance file something you would setup and use on your own system for multiple gig files and not tend to distribute to others? > > > > > Since I haven't seen any DLS articulation (effect parameter) data in > > .gig files I'm assuming most of these chunks (especially in regions) is > > custom .gig effect parameters. The content of many of the chunks seem to > > be the same across different files, so perhaps some of them can be > > ignored. > > I don't understand 'DLS'. Sorry. However, I 'think' much of what you are > thinking about might be in the Performance file and not in the Gig file. I don't think so, but it would be good to make sure. What kind of effects are defined in the performance file? Is it mainly for adding effects on top of audio channels? > > Please understand that I know absolutely nothing about the internals, > but I hope to be helpful, without being a hinderance I hope. You've already been a help :) Any info I can get on how GigaSampler works from the user interface will help me determine the format internals. Regards. Josh |
|
From: Mark K. <mk...@co...> - 2003-03-20 15:44:46
|
> > > Some screen shots might be helpful :) If you could put them somewhere > were I could passively download them, probably not appropriate to post > to the list (I'm on dialup anyways, so I don't like getting big emails). > The most important stuff is where effects and parameters are set. > > > I think there are two things in GSt to keep in mind. They sort of > > interact, but we'll have to decide what to focus on: > > > > 1) The gig files themselves - what's in them, etc. This is the basic > > sound. In GSt these have some ADSRs, LFO (I think) and most important, > > layering of samples across a number of parameters like MIDI velocity.. > > > > Okay. Those are the parameters I am talking about. What I am looking for > are specifics on them. How many ADSRs, LFOs. What effects can be > modulated by these ADSRs/LFOs (pitch, filter, volume, etc). I need to > get an idea of what the constraints are to be able to determine whats in > the files. It may end up that I have to have access to the program to > try changing parameters and seeing what effect they have on the > resulting file. > > > 2) Performance files. These set up how a user wants to use the gig files > > in GSt. This sets up the mixer, the effects, and other things. I don't > > actually do to much with performance files other than make sure I get > > the right instruments loaded on the right MIDI channel, but they do much > > more. > > > > Performance files, huh.. That sounds like more to do with how the > instruments are routed and effects applied on top. Is a peformance file > something you would setup and use on your own system for multiple gig > files and not tend to distribute to others? > Josh, I found a Windows Compiled Help file online at Tascam support for GigaStudio. Understanding that you may or may not be able to view that (based on whether you have Windows available) I've printed it's main sections as PDF files. However, I really recommend using the help file itself as it's all cross-linked and you'll learn much faster. You can find all of this online at http://www.controlnet.com/~makeMusic/Linux/GigaStudio Good luck, Mark |