sfxload
Section: User Commands (1)
Updated: January 22, 2003
Page Index
NAME
sfxload, asfxload - load a SoundFont file on the Emux WaveTable
SYNOPSIS
sfxload
[
-options]
fontfile
asfxload
[-options] fontfile
DESCRIPTION
sfxload
and
asfxload
are utility program sto transfer the sound wave
and instruments data in a SoundFont file to the AWE32 sound driver,
or to the Emux WaveTable of ALSA sbawe and emu10k1 drivers.
This program is necessary for playing MIDI samples via sequencer
programs supporting AWE driver. There is no big difference between
sfxload and
asfxload except for that
asfxload is for
ALSA and
sfxload is for OSS, respecitvely. The options to specify
devices are
different between them (see below).
Basically, sfxload behaves as two ways.
% sfxload fontfile
% sfxload -b1 fontfile
The first usage is to read SF2 (or SBK) file and transfer to the awe
driver. In this case, the samples which were loaded on the driver are
replaced with the new one.
In the second case, sfxload reads the file and appends it to the
pre-loaded samples on the driver with specified bank number. The old
samples remain in the driver. The additional samples can be cleared
via -x option (see below).
The sound files are searched through the path list. The path list is
defined as built-in. If the environment variable SFBANKDIR or the
command line option -P is given, it replaces the default search list.
The file extension .sf2, and .sbk can be abbreviated.
OPTIONS
- -F, --device=file (sfxload only)
-
Specify the device file to be used.
Default value is
/dev/sequencer.
- -D, --index=number (sfxload only)
-
Specify the device index of AWE driver.
Negative number (e.g. -1) means to probe the first AWE device automatically.
For selecting the other AWE cards, a positive index number must be given here.
Default value is -1.
- -D, --hwdep=name (asfxload only)
-
Specify the hwdep name to be used.
As default, asfxload seeks until any Emux compatible hwdep device is found.
- -i, --clear[=bool]
-
Remove all samples before loading the fonts.
This is an explicit directive (see -b option).
If this option is specified alone without soundfont file
arguments, sfxload does onlay remove samples.
Either of on, off, yes, no, true,
or false can be specified as an optional argument.
- -x, --remove[=bool]
-
Remove the optional samples previouly loaded via -b option.
Otherwise, all new samples are simply appended.
- -N, --increment[=bool]
-
Do not clear samples even with the absence of -b option. However, this option is not exclusive with
-x
option. If both options are specified, and the memory full error is
encountered during loading fonts, sfxload will try to remove
samples and load the fonts again.
- -b, --bank=number
-
Append the sound samples on the specified bank.
Without this option, all present samples in the driver are
removed before loading the new fonts unless -N option is specified. Usually, this option is necessary to load user
bank, typically in bank one.
For example,
% sfxload synthgm.sbk
% sfxload -b1 surprise.sf2
- -l, --lock[=bool]
-
Lock the font. The locked font is no longer removed via
remove option (-x) even if it's loaded together with -b option.
- -C, --compat[=bool]
-
Use the old (v0.4.2) parameter calculations.
- -A, --sense=sensitivity
-
(Only valid on compatible mode)
Set sample attenuation sensitivity.
This option controls the sensitivity of initial attenuation parameter
of each instrument defined in SoundFont file.
In the program, each parameter is calculated from the value divided
by this number for the original value.
The number 1.0 means that the original initial attenuation parameters
would be used.
Generally, smaller number makes drum sounds louder.
(I think "-A 2" would be similar to Windows sounds.)
The default value is 10.
Note that this option changes also the default attenuation automatically (see below).
- -a, --atten=attenuation
-
(Only valid on compatible mode)
Set the default attenuation level.
This option controls the minimum attenuation of the sample.
The parameter is given in raw digit number for AWE driver,
that is, in 8/3 dB unit.
Since --sense option changes the default attenuation automatically,
specify this option later from --sense option.
The default value is 32.
- -d, --decay=scale
-
(Only valid on compatible mode)
Set the scale of envelope decay time. Default value is 50.0.
Sounds decay fast when larger number is set.
The ver.0.3 sfxload uses 54.8. If you want to keep the same
sound, use this number instead.
- -M, --memory[=bool]
-
Display the left memory size in DRAM on the AWE32 card.
- -c, --chorus=percent
-
Specify the effects of chorus.
The value is in percent, from 0 to 100. The default is unspecified.
This value may be overwritten by MIDI control messages.
- -r, --reverb=percent
-
Specify the effects of reverb.
The value is in percent, from 0 to 100. The default is unspecified.
This value may be overwritten by MIDI control messages.
- -B, --addblank[=bool]
-
Add 48 size of blank loop on each sample data. Usually, this
option is not necessary. Most of soundfont files are designed
well for enough blank loops for each sample.
- -L, --extract=source[:map]
-
Extract and load only the specified preset(s).
This option is usually employed by drvmidi.
The preset is given as same as in virtual bank file.
- -v, --verbose[=level]
-
Increase or set the verbosity level.
- -q, --quiet
-
Don't show error messages, equivalen with --verbose=0.
- -V, --volume=percent
-
Specify the total volume of sounds, provided in percent.
The default volume is 70%.
- -P, --path=path1:path2:pathN
-
Specify the search path list.
The sound files are searched from
path1, path2, and so on.
This overrides both the system path and environment variable
SFBANKDIR.
VIRTUAL BANK FILE
The virtual bank file is a list of presets treated as one soundfont
file. The syntax of virtual bank is as follows:
# comments
source:map[:soundfont [preset-name]
source:map[:soundfont [preset-name]
...
The first and second items are the source and mapped presets,
respectively. The former is the existing preset in the soundfont,
and the latter is the actual preset loaded on the sound driver.
The preset is described by the following three values,
preset/bank/keynote
If bank and keynote are omitted, bank 0 and keynote -1 (meaning to
search all keys) are applied.
The third item is the name of soundfont file. The file is searched
from the prescribed search-path. The remaining arguments are
ignored in sfxload.
If the soundfont name is omitted, sfxload loads it as preset
mapping. It just behaves like a symbolic link of file opposing to
copying of the file. Any sample data is not referred at this time,
but searched first when the note is played.
A couple of special commands can be used together with the virtual
presets above.
default
command is used to specify the default
soundfont file. Any other presets which are not defined in the
virtual preset lists are loaded from this default font. For
example, in the following virtual bank, 2mbgmgs.sf2 is used except
for standard drumsets which employs drum.sf2:
0/128:0/128:drum.sf2
default 2mbgmgs.sf2
Another special command is
include
command. This simply includes
another virtual bank file under the current position. For example,
default standard.sf2
0/128:0/128:drum.sf2
include xgsfx.bnk
SYSTEM RESROUCE FILE
The default option arguments can be stored in the system resource file.
There are two files loaded as default.
$HOME/.sfxloadrc
/etc/sfxloadrc
The syntax is as follows:
fontname -options..
The first argument is soundfont file name for each option.
The remaining arguments are identical with command line options.
The font name
default
is used for default options for all sound
fonts. The default options are overridden by specific options or
command line options.
For example, to set default chorus level 20 except for synthgm font,
you can write a resource file ~/.sfxloadrc like that:
default --chorus=20
synthgm --chorus=0
ENVIRONMENT
- SFBANKDIR
-
Search path for sound files. The current directory is always searched
at first.
SEE ALSO
drvmidi(1)
COPYRIGHT
Copyright (C) 1996-2003 Takashi Iwai.
The AWE32 driver and utilties are free software; you can redistribute them
and/or modify them under the terms of the GNU General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.