#GslWave # GslWave file sample header. all gslwave files should contain # "#GslWave" as their initial bytes, to allow magic(5) identification. # single line comments are enclosed in '#' and newlines. # newlines (also consecutive), tabs and spaces are all treated as # a single 'space', i.e. word boundary. # Wave definition, a wave consists of one or more samples (chunks), # which usually compose a single instrument. the individual samples # are provided for different notes or sampling frequences, the wave # can be played at. wave { name = "quoted string" # each wave must have a descriptive name mix_freq = 44100 # the default sampling frequency for the # wave chunks to follow. defaults to 44100. # a chunk definition, a sample chunk points to encoded sample # data which records how the wave sounds at given note. chunk { osc_freq = 440.0 # note frequency the chunk is to be # played at. (or, the note that was # played when the chunk was recorded). midi_note = 57 # alternative way to specify osc_freq. # e.g. the midi note number '57' means # 440 Hz (A-1). mix_freq = 44100 # the sampling frequency with which # this chunk has been recorded. file = "filename" # file containing this chunk's # sampled data. index = "wavename" # wavename of sample to read from # filename, indexing this chunk's # sampled data. boffset = 256 # for raw samples, the number of bytes # to skip at beginning of filename n_values = 512 # number of values recorded in # filename. (maybe 0 for default) # defaults to filelength without the # offset, divided by the format size # loop definition # for samples that contain parts which are to be looped, # the loop definition specifies the start and end points of # the loop, and how often it is supposed to be repeated. # the loop start and end positions are supposed to be # n_channels aligned. loop_type = jump # the loop type can be one of: # none, jump or pingpong. # defaults to jump. loop_start = 16 loop_end = 32 # should be >=loop_start loop_count = 42 # defaults to maximum } # more chunk definitions may follow format = signed_8 # for raw samples, possible formats are: # signed_8, unsigned_8, signed_12, # unsigned_12, signed_16, unsigned_16 or # float. defaults to signed_16. byte_order = little # for raw samples, possible values are: # little_endian, little, big_endian or big. # defaults to little_endian. n_channels = 2 # for raw samples, must be greater than 0. # defaults to 1 (mono). } # a literal "\000" byte in the header denotes the parsing end. # this can be used to construct gslwave files that contain: # 1) the gslwave header # 2) a literal "\000" byte # 3) encoded sample data which the chunks refer to File content which is ignore by the gslwave header parser.