1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78
|
#BseWave1
# BseWave file sample header. all bsewave files should contain
# "#BseWave1" 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 frequencies, the wave
# can be played at.
wave {
name = "quoted string" # each wave must have a descriptive name
n-channels = 2 # each wave must specify the number of
# channels, e.g. 1 for mono or 2 for stereo
mix-freq = 44100 # the default sampling frequency for raw-file
# and raw-link wave chunks. defaults to 44100.
byte-order = little # the default byte order for raw-file and
# raw-link wave chunks. possible values are:
# little-endian, little, big-endian or big.
# defaults to little-endian.
format = signed-16 # the default sample format for raw-file and
# raw-link wave chunks. possible values are:
# alaw, ulaw, signed-8, unsigned-8, signed-12,
# unsigned-12, signed-16, unsigned-16 or
# float. defaults to signed-16.
xinfo["key"] = "value" # extra information to store custom settings
# 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 = 69 # fallback way to specify osc-freq;
# the MIDI note number '69' results in
# 440 Hz (MIDI standard pitch for A+1)
xinfo["key"] = "value" # extra information per chunk
vorbis-link = (...) # reference to Ogg/Vorbis data block
# in binary appendix of the wave file
file = "filename" # wave file containing this chunk's
# sampled data, the format is auto
# detected
index = "wavename" # wavename of sample to read from
# filename, indexing this chunk's
# sampled data
raw-file = "filename" # raw sample data file containing this
# chunk's sampled data, the format
# must be specified below
boffset = 256 # number of bytes to skip at beginning
# of file for raw-file chunks
n-values = 512 # number of values to read from file
# for raw-file chunks, defaults to
# file length
raw-link = (...) # reference to raw sample block in
# binary appendix of the wave file
byte-order = little # the byte order for raw-file and
# raw-link wave chunks
format = signed-16 # the sample format for raw-file and
# raw-link wave chunks
mix-freq = 44100 # the sampling frequency for raw-file
# and raw-link wave chunks.
}
# more chunk definitions may follow
}
# a literal "\000" byte in the header denotes the parsing end.
# this can be used to construct bsewave files that contain:
# 1) the bsewave header
# 2) a literal "\000" byte
# 3) encoded sample data which the chunks refer to (e.g. rawlink)
^@ <--- supposedly \000
File content which is ignored by the bsewave header parser.
|