home *** CD-ROM | disk | FTP | other *** search
/ Sound, Music & MIDI Collection 2 / SMMVOL2.bin / WIN / SSPLAY / MUSE2.ZIP / MUSE!2.TXT < prev   
Encoding:
Text File  |  1995-10-20  |  11.8 KB  |  268 lines

  1. Muse/2 V1.0 a Os/2 Digital Module Player
  2. October 1995
  3.  
  4. This program is freeware, meaning it can be freely distrbuted so long as
  5. no files are removed and none of the included files are altered in any way.
  6.  
  7. Modules
  8. ~~~~~~~
  9.    A Module, in this sense, is a music file format that stores both digital
  10.    instruments and note information. Unlike MIDI files which are soly note
  11.    information and WAV files which are a single digital instrument. Modules
  12.    use a technique known as Wave Table Synthesis or Digital Mixing for play
  13.    back. A more advanced, but similar system is used in most of today's
  14.    synthesisers.
  15.  
  16.    The result is a reproduction identical to what the origial author intended
  17.    and unlike a digitial recording the size does not grow very large for
  18.    long songs. A 30 minute song could easialy be a mear 300k. Almost all
  19.    of the space in a module file is used by the instruments.
  20.  
  21.    Instruments in a module are fairly simple, an attack portion which is
  22.    used to simulate the striking of the instrument the sustain portion which
  23.    is used to simulate the way the instrument sounds if it is continuously
  24.    played and in some formats the decay portion which simulates the relase
  25.    sound. On a guitar each portion could sound similar to the following:
  26.       Attack - the fingers striking the strings
  27.       Sustain - The free vibration of the strings
  28.       Decay - the hand hitting the strings to stop the vibration
  29.  
  30.    The note infomation is organized into channels, each channel can play
  31.    1 note at a time, so the more channels the more notes you can have at
  32.    once.
  33.  
  34.    Unlike MIDI files which are played in hardware (ie with the FM chip on your
  35.    Sound Blaster) S3M files are played in software.  The DAC (digital to
  36.    analog converter) on your sound board is used to play digital data which is
  37.    synthesised by the program.  Some cards, like the Gravis UltraSound (GUS),
  38.    have a specialized chip onboard which does this same process, but in
  39.    hardware.  Since the CPU must be used to generate the data to be played,
  40.    time is taken away from other programs in the system.  OS/2's multitasking
  41.    allows you to do other things while the song is playing, your system
  42.    will seem slightly slower, that is because data is being streamed to the
  43.    sound card at 44k/s (for 22kHz 8bit playback) and several threads are
  44.    running to manage this transfer.
  45.  
  46.    Since the synthesis method basically generates the equivilant of a WAV
  47.    file, it has many characteristics of a WAV file, like Sampling Rate and
  48.    bit rate. Sampling rate and bit rate combine to determine how good the
  49.    resulting sound will be. CD's use a Sampling rate of 44KHz and a bit rate
  50.    of 16 bits, this is considered sufficiant to reproduce a wide range of
  51.    sound with good accuracy.
  52.  
  53.    There are many different formats for modules, a quick list:
  54.       MOD - Original format, from the amiga which had a hardware chip to do
  55.             the synthesis. Many different formats for mods exist, ranging
  56.             from 4 to 8 channels
  57.       S2M - Early predecessor to S3Ms, 4 channels, but several enhancements
  58.             on the MOD idea
  59.       MTM - A refinement on mods, 32 channels and 16 bit samples are added
  60.       S3M - A format that doesn't look very much like a mod (internally) but
  61.             works in much the same manner. Typicaly called Scream Tracker files.
  62.             16 channels
  63.       XM  - I don't know much about these but from the spec they look VERY
  64.             good, things like volume envolopes and more commands are in this
  65.             format.
  66.    Currently Muse/2 only supports S3M's.
  67.  
  68.    Some good FTP sites for S3M's are:
  69.       kosmic.wit.com /kosmic/songs
  70.       ftp.cdrom.com  /demos/music/songs/199?/S3M
  71.                      /demos/music/disks
  72.      -- Note, many other file formats are on those sites, make sure you
  73.         get .s3m files (often zipped)
  74.  
  75.    If you don't have any, I recommend the following songs to get a good
  76.    feel of what S3Ms are.
  77.  
  78.     Light techno style of music, excellent samples and fairly long songs:
  79.       ftp://kosmic.wit.com/kosmic/songs/95/k_macro.zip (241k)
  80.       ftp://kosmic.wit.com/kosmic/songs/95/k_2deep.zip (183k)
  81.  
  82.     ftp://ftp.cdrom.com/demos/music/songs/1995/s3m/t/tlgrea.zip (303k)
  83.       Folk type of music
  84.  
  85.     ftp://ftp.cdrom.com/demos/music/disks/1995/l/legacy.zip (1.4 Meg, Many songs)
  86.       Music Disk from Neophyte widely varied.
  87.  
  88.     ftp://ftp.cdrom.com/demos/music/disks/1995/f/f10_pck5.zip (1.7 Meg, Many songs)
  89.     ftp://ftp.cdrom.com/demos/music/disks/1995/f/f10_pck6.zip (1.9 Meg, Many songs)
  90.       Music Disk from Force Ten, contains rock and jazz styles of music
  91.  
  92. Muse/2
  93. ~~~~~~
  94.    Muse/2 is the first released OS/2 S3M player, it first appeared in the
  95.    Ethos Peripheral Evolution Demo, and had been in beta for at least 2
  96.    months before.
  97.  
  98.    Because it was originaly used in a Graphics/Sound demo, the goal in
  99.    creating this player was to make is use the smallest amount of CPU
  100.    power possible, and so far that goal has been achived! On my
  101.    486dx50 memsize's CPU load monitor will register the CPU load as being
  102.    18% to 30% (it varies as the song playes) for 22kHz 8Bit playback.
  103.  
  104.    -- Note to Pentium Users, Muse/2 has not been optimized for the Pentium
  105.    (Compiler is being annoying) and will not run at the maximum possible
  106.    speed. When I can get Pentium optimizations working a fix will be placed
  107.    on hobbes, should be 1.5 to 2 times as fast.
  108.  
  109.  Installing
  110.  
  111.    Installing Muse/2 is simple, place all of the files in this archive into
  112.    a directory. If you use it alot then point your LIBPATH and PATH to that
  113.    directory. All of the DLL's must reside in the same location as the EXE.
  114.  
  115.    You can then test the installation by typing 'mus2tiny -V'
  116.    Eg: (Version numbers may vary)
  117.  
  118. c:\Muse!2> muse2tiny -V
  119.  Muse/2 Background User Interface V1.0b                         Culus of Ethos
  120.  Loading Components.
  121.  Version Information:
  122.    File Formats:
  123.       Scream Tracker 3 Module (museS3MFormat) is Version 1.0
  124.    Output Methods:
  125.       MMPM/2 Digital Mixer (museDACMMPM2) is Version 1.0
  126. c:\Muse!2>
  127.  
  128.    There must be at least one Output Method and one File Format. Included with
  129.    this package are the S3M File Format and the MMPM/2 output method.
  130.  
  131.  Playing Songs
  132.  
  133.    To play a single file type 'mus2tiny mysong.s3m', but replace mysong.s3m
  134.    with the file you wish to play :>
  135.  
  136.    Wild cards are accepted, along with list files, for instance
  137.       c:\> muse2tiny *.s3m @favsongs
  138.    Will play all of the S3M's in the current directory and all the files
  139.    listed in favsongs, also in the current directory. A list file should have
  140.    exactly 1 song per line ie:
  141.       Song1.s3m
  142.       Song2.s3m
  143.       Song3.s3m
  144.    List files can included paths as well.
  145.  
  146.  The UI
  147.  
  148.    The user interface is very simple, press 'H' for a description of all
  149.    of the keys. ESC will exit the player
  150.  
  151.    The default display is the instruments screen which shows the names
  152.    of all of the instruments in the song, often authors write messages in
  153.    the instrument names. Up and Down on the cursor pad will scroll the list.
  154.  
  155.    [ and ] will change to the next/last song in the song list, while 1-9 will
  156.    change to that song in the list, ie '1' is the first song, '2' is the
  157.    second etc..
  158.  
  159. Notes about the Components
  160. ~~~~~ ~~~~~ ~~~ ~~~~~~~~~~
  161.  S3M Format
  162.  
  163.    This S3M player supports all of the normal S3M commands excluding Arpeggio
  164.    (J), Set FineTune (S2x), and pattern loop (SBx). It does support the
  165.    DMP panning command, which includes surround sound mode! If you don't have
  166.    a surround sound setup you should disable surround sound mode, or surround
  167.    channels may sound incorrect.
  168.  
  169.  Digital Mixer
  170.  
  171.    The Digital Mixer supports varying playback frequencies as well as surround
  172.    sound and 16 bit output. The best sound quality can be achived with this
  173.    command line option:
  174.       -o"44k -6" or if you don't have surround sound -o"44k -s6"
  175.    The lowest CPU usage is
  176.       -o22k or if you don't have surround sound -o"22k -s"
  177.    The default is 8 bit 22k with surround sound enabled.
  178.  
  179.    If you don't have a stereo sound card this mixer will not work.
  180.  
  181.  MMPM/2
  182.  
  183.    MMPM/2 based output does not support the pause command.  Since it does not
  184.    use IBM's new DART system all of the UI commands will take a few moments to
  185.    come into effect.  This is due to the non realtime nature of the MMPM/2
  186.    system.  While you are waiting for a command to change the ouput you can
  187.    still continue to use other commands. Ie hit [ many times to advance
  188.    many songs, the line at the top will display the current song and when the
  189.    song is finally loaded the rest of the information will be filled in.
  190.  
  191.  Tiny UI
  192.  
  193.    Designed to use very little processor power while still displaying
  194.    something usefull.  It doesn't have any neato real time tracking or scopes.
  195.    It is possible to run it in detached mode, ie:
  196. c:\Muse!2> detach mus2tiny mysong.s3m
  197.    In which case you will be unable to control it.
  198.  
  199. Programming Info
  200. ~~~~~~~~~~~ ~~~~
  201.    Muse/2 is unique in the ability to allow other programmers to extend it's
  202.    basic functionality through the use of inheritance.  This is similar to the
  203.    Work Place Shell.  However, since I have not yet had the time to produce
  204.    suitable documentation I have not included the required header files.  If
  205.    you are interested in using Muse/2 in some product then email me and I'll
  206.    see what I can do.  For those who care, Muse/2 can function as a dynamic
  207.    Nth channel mixer for sound effects, while still playing music files.
  208.    However DART support is needed, should arrive soon if there is intrest.
  209.    (This is similar to the rumored Oasis RealTime Nth Channel mixer, except
  210.    Muse/2 will allow a S3M to be played along with the SFX)
  211.  
  212.    It is also possible to add new file formats and output methods, ie GUS
  213.    support, or MOD's. Again, email me if interested.
  214.  
  215. Ethos
  216. ~~~~~
  217.    Ethos is a fairly young Os/2 demo group.  This player first appeared in our
  218.    Peripheral Evolution Graphics/Sound demo (pe_ethos.zip).  Our member list
  219.    changes alot, but at the moment it includes:
  220.  
  221.       Culus, Sane, Sophisto, Raethma, Wizdom, Daedalus and Zapper
  222.  
  223.    We are pondering doing another demo, but our graphics coder is gone, so
  224.    it's not too likely :<
  225.  
  226. Final Note
  227. ~~~~~ ~~~~
  228.    I'm not sure if I will continue to develope this program, if there is
  229.    sufficient intrest I probably will.
  230.  
  231.    I have been thinking of releasing the IDL files, which would allow anyone
  232.    to make use of the player, in any program.  But they are useless without
  233.    some documentation which I don't really have the time to write.  However,
  234.    if there is interest I could probably scrounge something together.  EMail
  235.    me if you'd like to use it in something, or would like like to extend it
  236.    with new file formats, better UI, whatever.  It can all be done, it's quite
  237.    flexable.
  238.  
  239.    Comments, Critisims, Bugs etc welcome at gunthorg@cuug.ab.ca, please put
  240.    Muse/2 somewere in the subject line. I suppose it's worth pointing out
  241.    that if I don't get any email's, very little will happen. If you find
  242.    a bug send it in, if it's really a bug you get on my beta list! :>
  243.    I can also be found on IRC in the #Os/2 channel.
  244.  
  245.    Big thanks to the beta testers:
  246.       Nightboob      Wizdom       Agent
  247.       Hiro           Raethma      Roberte
  248.       Sophisto       Sane         Malakai
  249.       TNSLB          darb         __NS__
  250.  
  251.    Greets to!
  252.       AFMOS        [Stang]
  253.       madbrain     dandaman
  254.       Vip          MaxMars
  255.       Stiltner     Force Ten
  256.       Neophyte     Highlandr
  257.  
  258.      All the beta testers and Ethos members,
  259.      Sander van Leeuwen and The #os/2 channel!
  260.  
  261. Future Directions
  262. ~~~~~~ ~~~~~~~~~~
  263.    MTM, MOD
  264.    DART Support
  265.    GUS Support
  266.  
  267. Culus of Ethos
  268.