SBANK Version 1.50                                      01-27-94


SBANK  is  a  command  line utility for  managing  Sound  Blaster
and   Adlib   instrument  files  and  sound   banks.    It   will
translate   between  .INS,  .SBI,  .BNK,  and  .IBK   files.   In
addition,  it  will  report  instrument  names  stored  in   bank
files,   and   display  musical  parameters  contained   in   the
instrument definitions.

Usage: SBANK BankFile [-AUMDXLVSTI?] [BankFile|Instrument...]

     BankFile       is the name or path of a BNK or IBK instrument
                    bankfile -- It will be created if appropriate.
     Instrument     is the name of an instrument or the name or 
                    path of an .INS or .SBI instrument file.
     

OPTIONS

Option  letters  are  case insensitive and  may  be  preceded  by
either - or /.   They specify the operations to perform.

  -A append the specified instruments (INS or SBI files) to
     the named bank file.  Wildcards (* and ?) may be used 
     to select the instrument files.  The bank file is created  
     if it does not exist.  Duplicate instrument names in the  
     bank file are not updated unless the -U option also appears.

  -U update the specified existing instruments in the named
     bank  file.   Wildcards are allowed.  Specified instruments
     that do not exist are not added unless the -A option also
     appears.

  -M move the specified instruments to the named bank file.
     Specifying  -M implies both append and update.  After  a
     successful  insertion,  the  instrument  file  is  deleted.
     Wildcards are allowed.

  -D delete and discard the named instruments from the bank
     file.  This can be used with the -X option to remove an
     instrument from a bank file.

  -X extract the named instruments from the bank file.  The
     type of instrument file to create is determined from the
     filename suffix.

  -L list the names of the instruments contained in the bank
     file.  This option formats the names one per line.  Only
     instrument names are displayed. It is useful for creating
     input for command line filters or file redirection.

  -V list the names of the instruments contained in the bank
     file.  The instruments are formatted eight names to a line
     in the same order they are encountered in the bank file.
     For a BNK file, they will be sorted alphabetically; for an
     IBK  bank,  they  are presented in the order  they  were
     appended.  This is also the order of increasing MIDI 
     program change numbers.

  -S show the parameters for an instrument or instruments.
     This  option  formats  and displays  the  parameters  that
     comprise the instrument sound.

  -T translate from one file type to another.  For this option
     the first named file is the source and the second is the
     target.  This is the only option that will operate between
     instrument files as well as between bank files.  If  the
     source and target are bank files, this option acts as a
     merge command, merging the source into the target; and the
     -I ListFile option may be used to select instruments to
     translate.

  -I FName specifies an ASCII text file containing a list of
     instrument names to be used when translating between  two
     bank  files.  This  file should be  formatted  with  one
     instrument name per line. The -L option will output a list
     in the proper format, which may be redirected to a file, and
     then edited (See Examples).

  -? display brief help information.


NOTES

When  possible,  file  types are determined from  their  internal
structure  rather  than the external file  name  extension.   The
program  can  translate  each of the four  file  types  into  any
of  the  other  types  (including its own type).   It  should  be
noted  that  the  SBI  and IBK file types do not  include  fields
for  percussive  mode  and  voice number.   This  information  is
lost  when  converting between them and BNK  or  INS  file  types
(the mode is always  melodic in SBI and IBK files).
When  displaying  parameters,  the  following  abbreviations  and
ranges are used:

Abbrev    Meaning                  Range     Notes

KSL       Level Scaling            00 - 03
FQM       Frequency Multiplier     00 - 14
FB        Feedback                 00 - 07  Used by Modulator only
ATK       Attack                   00 - 15
DCY       Decay                    00 - 15
SLV       Sustain Level            00 - 15  (15 - 0) See Note Below
RLS       Release                  00 - 15
LVL       Output Level             00 - 63  (63 - 0) See Note Below
SUS       Sustaining Sound         No - Yes
AM        Amplitude Modulation     No - Yes Tremolo
VIB       Pitch Modulation         No - Yes Vibrato
KSR       Envelope Scaling         No - Yes
WAV       Wave Select              00 - 03  Waveform Distortion
CON       Connection               FM - AS  Only used by Modulator
MOD       Mode                     MLD-PRC  Only used by INS and BNK
V#        Voice Number             06 - 10  Only used by INS and BNK


The  actual  number  stored for SLV and  LVL  is  an  attenuation
level:   the  higher  the  number, the softer  the  sound.   What
is displayed is the reverseof this number.

As  noted  above,  the MOD and V# fields are  only  used  in  INS
and  BNK  file  formats,  MOD will always  be  melodic  (MLD)  in
SBI and IBK files.

When  using  the  -V  option on a BNK file, both  the  number  of
defined  instruments  and  the  current  capacity  is  displayed.
The  current  capacity  of  a  BNK  file  is  increased  when  it
becomes  filled.   IBK  bank  files always  have  a  capacity  of
128   instruments.   This  corresponds  to  one  instrument   for
each MIDI program change number.


EXAMPLES

Following  are  a  few  examples  to  demonstrate  the  kinds  of
operations that can be performed with SBANK:

C:\> sbank standard.bnk -x myins\b??.sbi

This    will   extract   from   STANDARD.BNK,   all   instruments
matching  B,  B?  and B??, convert them to SBI files,  and  place
them in theMYINS subdirectory.

C:\> sbank /s standard.bnk abrss1 x*

This  will  display  the  parameters for the  ABRSS1  instrument,
and all instruments matching X*.

C:\> sbank standard.bnk -l >verylong.lst

This  will  display  the  name  of  each  instrument  stored   in
STANDARD.BNK   but   redirect   the   output    to    the    file
VERYLONG.LST.   It  will  most  likely  be  a  very  long   list!
This  list  may  be  edited by any text editor  and  subsequently
used as an instrument list for translating bank files:

C:\> sbank standard.bnk /t new.ibk /i verylong.lst

Will  create  a  NEW.IBK  bank  file containing  the  instruments
in STANDARD.BNK which are listed in VERYLONG.LST.

C:\> sbank -au new.bnk *.ins C:\SBI\*.sbi

This  will  Append  or Update to NEW.BNK, all the  INS  files  in
the  current  directory,  and all the SBI  files  in  the  C:\SBI
directory.

C:\> sbank my.ibk abrss1.ins -m

This  will  Append  the  ABRSS1.INS  instrument  to  MY.IBK   and
then erase the ABRSS1.INS file - if all goes well.

C:\> sbank my.ibk /d abrss1

This deletes the ABRRS1 instrument from MY.IBK

C:\> sbank my.ibk ?a* -v

Will  display  all  of  the  instrument  names  in  my.ibk  which
have  "A"  as  the  second letter.  The names will  be  formatted
eight to a line.

C:\> sbank piano1.sbi piano1.ins -t

This   will  convert  the  PIANO1.SBI  instrument  file  into   a
PIANO1.INS file.

C:\> sbank piano1.ins -s

This  will  display  the  parameters for  the  PIANO1  instrument
contained in PIANO1.INS.

