home *** CD-ROM | disk | FTP | other *** search
- Muse/2 V1.0 a Os/2 Digital Module Player
- October 1995
-
- This program is freeware, meaning it can be freely distrbuted so long as
- no files are removed and none of the included files are altered in any way.
-
- Modules
- ~~~~~~~
- A Module, in this sense, is a music file format that stores both digital
- instruments and note information. Unlike MIDI files which are soly note
- information and WAV files which are a single digital instrument. Modules
- use a technique known as Wave Table Synthesis or Digital Mixing for play
- back. A more advanced, but similar system is used in most of today's
- synthesisers.
-
- The result is a reproduction identical to what the origial author intended
- and unlike a digitial recording the size does not grow very large for
- long songs. A 30 minute song could easialy be a mear 300k. Almost all
- of the space in a module file is used by the instruments.
-
- Instruments in a module are fairly simple, an attack portion which is
- used to simulate the striking of the instrument the sustain portion which
- is used to simulate the way the instrument sounds if it is continuously
- played and in some formats the decay portion which simulates the relase
- sound. On a guitar each portion could sound similar to the following:
- Attack - the fingers striking the strings
- Sustain - The free vibration of the strings
- Decay - the hand hitting the strings to stop the vibration
-
- The note infomation is organized into channels, each channel can play
- 1 note at a time, so the more channels the more notes you can have at
- once.
-
- Unlike MIDI files which are played in hardware (ie with the FM chip on your
- Sound Blaster) S3M files are played in software. The DAC (digital to
- analog converter) on your sound board is used to play digital data which is
- synthesised by the program. Some cards, like the Gravis UltraSound (GUS),
- have a specialized chip onboard which does this same process, but in
- hardware. Since the CPU must be used to generate the data to be played,
- time is taken away from other programs in the system. OS/2's multitasking
- allows you to do other things while the song is playing, your system
- will seem slightly slower, that is because data is being streamed to the
- sound card at 44k/s (for 22kHz 8bit playback) and several threads are
- running to manage this transfer.
-
- Since the synthesis method basically generates the equivilant of a WAV
- file, it has many characteristics of a WAV file, like Sampling Rate and
- bit rate. Sampling rate and bit rate combine to determine how good the
- resulting sound will be. CD's use a Sampling rate of 44KHz and a bit rate
- of 16 bits, this is considered sufficiant to reproduce a wide range of
- sound with good accuracy.
-
- There are many different formats for modules, a quick list:
- MOD - Original format, from the amiga which had a hardware chip to do
- the synthesis. Many different formats for mods exist, ranging
- from 4 to 8 channels
- S2M - Early predecessor to S3Ms, 4 channels, but several enhancements
- on the MOD idea
- MTM - A refinement on mods, 32 channels and 16 bit samples are added
- S3M - A format that doesn't look very much like a mod (internally) but
- works in much the same manner. Typicaly called Scream Tracker files.
- 16 channels
- XM - I don't know much about these but from the spec they look VERY
- good, things like volume envolopes and more commands are in this
- format.
- Currently Muse/2 only supports S3M's.
-
- Some good FTP sites for S3M's are:
- kosmic.wit.com /kosmic/songs
- ftp.cdrom.com /demos/music/songs/199?/S3M
- /demos/music/disks
- -- Note, many other file formats are on those sites, make sure you
- get .s3m files (often zipped)
-
- If you don't have any, I recommend the following songs to get a good
- feel of what S3Ms are.
-
- Light techno style of music, excellent samples and fairly long songs:
- ftp://kosmic.wit.com/kosmic/songs/95/k_macro.zip (241k)
- ftp://kosmic.wit.com/kosmic/songs/95/k_2deep.zip (183k)
-
- ftp://ftp.cdrom.com/demos/music/songs/1995/s3m/t/tlgrea.zip (303k)
- Folk type of music
-
- ftp://ftp.cdrom.com/demos/music/disks/1995/l/legacy.zip (1.4 Meg, Many songs)
- Music Disk from Neophyte widely varied.
-
- ftp://ftp.cdrom.com/demos/music/disks/1995/f/f10_pck5.zip (1.7 Meg, Many songs)
- ftp://ftp.cdrom.com/demos/music/disks/1995/f/f10_pck6.zip (1.9 Meg, Many songs)
- Music Disk from Force Ten, contains rock and jazz styles of music
-
- Muse/2
- ~~~~~~
- Muse/2 is the first released OS/2 S3M player, it first appeared in the
- Ethos Peripheral Evolution Demo, and had been in beta for at least 2
- months before.
-
- Because it was originaly used in a Graphics/Sound demo, the goal in
- creating this player was to make is use the smallest amount of CPU
- power possible, and so far that goal has been achived! On my
- 486dx50 memsize's CPU load monitor will register the CPU load as being
- 18% to 30% (it varies as the song playes) for 22kHz 8Bit playback.
-
- -- Note to Pentium Users, Muse/2 has not been optimized for the Pentium
- (Compiler is being annoying) and will not run at the maximum possible
- speed. When I can get Pentium optimizations working a fix will be placed
- on hobbes, should be 1.5 to 2 times as fast.
-
- Installing
-
- Installing Muse/2 is simple, place all of the files in this archive into
- a directory. If you use it alot then point your LIBPATH and PATH to that
- directory. All of the DLL's must reside in the same location as the EXE.
-
- You can then test the installation by typing 'mus2tiny -V'
- Eg: (Version numbers may vary)
-
- c:\Muse!2> muse2tiny -V
- Muse/2 Background User Interface V1.0b Culus of Ethos
- Loading Components.
- Version Information:
- File Formats:
- Scream Tracker 3 Module (museS3MFormat) is Version 1.0
- Output Methods:
- MMPM/2 Digital Mixer (museDACMMPM2) is Version 1.0
- c:\Muse!2>
-
- There must be at least one Output Method and one File Format. Included with
- this package are the S3M File Format and the MMPM/2 output method.
-
- Playing Songs
-
- To play a single file type 'mus2tiny mysong.s3m', but replace mysong.s3m
- with the file you wish to play :>
-
- Wild cards are accepted, along with list files, for instance
- c:\> muse2tiny *.s3m @favsongs
- Will play all of the S3M's in the current directory and all the files
- listed in favsongs, also in the current directory. A list file should have
- exactly 1 song per line ie:
- Song1.s3m
- Song2.s3m
- Song3.s3m
- List files can included paths as well.
-
- The UI
-
- The user interface is very simple, press 'H' for a description of all
- of the keys. ESC will exit the player
-
- The default display is the instruments screen which shows the names
- of all of the instruments in the song, often authors write messages in
- the instrument names. Up and Down on the cursor pad will scroll the list.
-
- [ and ] will change to the next/last song in the song list, while 1-9 will
- change to that song in the list, ie '1' is the first song, '2' is the
- second etc..
-
- Notes about the Components
- ~~~~~ ~~~~~ ~~~ ~~~~~~~~~~
- S3M Format
-
- This S3M player supports all of the normal S3M commands excluding Arpeggio
- (J), Set FineTune (S2x), and pattern loop (SBx). It does support the
- DMP panning command, which includes surround sound mode! If you don't have
- a surround sound setup you should disable surround sound mode, or surround
- channels may sound incorrect.
-
- Digital Mixer
-
- The Digital Mixer supports varying playback frequencies as well as surround
- sound and 16 bit output. The best sound quality can be achived with this
- command line option:
- -o"44k -6" or if you don't have surround sound -o"44k -s6"
- The lowest CPU usage is
- -o22k or if you don't have surround sound -o"22k -s"
- The default is 8 bit 22k with surround sound enabled.
-
- If you don't have a stereo sound card this mixer will not work.
-
- MMPM/2
-
- MMPM/2 based output does not support the pause command. Since it does not
- use IBM's new DART system all of the UI commands will take a few moments to
- come into effect. This is due to the non realtime nature of the MMPM/2
- system. While you are waiting for a command to change the ouput you can
- still continue to use other commands. Ie hit [ many times to advance
- many songs, the line at the top will display the current song and when the
- song is finally loaded the rest of the information will be filled in.
-
- Tiny UI
-
- Designed to use very little processor power while still displaying
- something usefull. It doesn't have any neato real time tracking or scopes.
- It is possible to run it in detached mode, ie:
- c:\Muse!2> detach mus2tiny mysong.s3m
- In which case you will be unable to control it.
-
- Programming Info
- ~~~~~~~~~~~ ~~~~
- Muse/2 is unique in the ability to allow other programmers to extend it's
- basic functionality through the use of inheritance. This is similar to the
- Work Place Shell. However, since I have not yet had the time to produce
- suitable documentation I have not included the required header files. If
- you are interested in using Muse/2 in some product then email me and I'll
- see what I can do. For those who care, Muse/2 can function as a dynamic
- Nth channel mixer for sound effects, while still playing music files.
- However DART support is needed, should arrive soon if there is intrest.
- (This is similar to the rumored Oasis RealTime Nth Channel mixer, except
- Muse/2 will allow a S3M to be played along with the SFX)
-
- It is also possible to add new file formats and output methods, ie GUS
- support, or MOD's. Again, email me if interested.
-
- Ethos
- ~~~~~
- Ethos is a fairly young Os/2 demo group. This player first appeared in our
- Peripheral Evolution Graphics/Sound demo (pe_ethos.zip). Our member list
- changes alot, but at the moment it includes:
-
- Culus, Sane, Sophisto, Raethma, Wizdom, Daedalus and Zapper
-
- We are pondering doing another demo, but our graphics coder is gone, so
- it's not too likely :<
-
- Final Note
- ~~~~~ ~~~~
- I'm not sure if I will continue to develope this program, if there is
- sufficient intrest I probably will.
-
- I have been thinking of releasing the IDL files, which would allow anyone
- to make use of the player, in any program. But they are useless without
- some documentation which I don't really have the time to write. However,
- if there is interest I could probably scrounge something together. EMail
- me if you'd like to use it in something, or would like like to extend it
- with new file formats, better UI, whatever. It can all be done, it's quite
- flexable.
-
- Comments, Critisims, Bugs etc welcome at gunthorg@cuug.ab.ca, please put
- Muse/2 somewere in the subject line. I suppose it's worth pointing out
- that if I don't get any email's, very little will happen. If you find
- a bug send it in, if it's really a bug you get on my beta list! :>
- I can also be found on IRC in the #Os/2 channel.
-
- Big thanks to the beta testers:
- Nightboob Wizdom Agent
- Hiro Raethma Roberte
- Sophisto Sane Malakai
- TNSLB darb __NS__
-
- Greets to!
- AFMOS [Stang]
- madbrain dandaman
- Vip MaxMars
- Stiltner Force Ten
- Neophyte Highlandr
-
- All the beta testers and Ethos members,
- Sander van Leeuwen and The #os/2 channel!
-
- Future Directions
- ~~~~~~ ~~~~~~~~~~
- MTM, MOD
- DART Support
- GUS Support
-
- Culus of Ethos
-