                           Maplay 1.2+ for Win32

                                  Web Site

                       Last modified: April 20, 1997
---------------------------------------------------------------------------

                       Newest version released: 1.81

Latest News:

The layer III version of maplay 1.2+ for Win32 is now available, including
the complete source code! It requires at least a Pentium-60 CPU for stereo
layer III streams. The overall performance of the decoder, for all layers
has increased. See the file whatsnew.txt for a complete description of the
changes.

This version should be very portable because I spent a lot of time making
it so. I also did a minor port to the Win32 console. See the porting
section for information.

This console version for Win32s is also now available! It should work on
Windows 3.1 systems with Win32s installed.

Anyone who is interested in purchasing a DLL, let me know.

The layer III decoder of maplay is highly optimized from the original
public c source, but still is quite CPU intensive. If you are interested in
making optimizations (and getting a share of the glory) please don't bother
with the following functions, which I've already gotten optimizations for:

   * Bit_Reserve::get_bits()
   * Ibitstream::read_buffer()

Optimizations for any other functions are welcomed. Send them to
ctsay@pasteur.eecs.berkeley.edu!

What is maplay 1.2?

Maplay 1.2 is a program written for UNIX systems by Tobias Bading. What it
does is decodes MPEG Audio Layer I and II files, which are factor of 6-12
times smaller than uncompressed audio (like Windows PCM WAVE, Sun AU, or
Mac AIFF files). Despite the huge compression, there is no audible signal
loss! Using MPEG Audio Layer III, you can retain CD-quality sound at
compression ratios around 1:11 (112 kbit/s). Unfortunately, decoding MPEG
audio streams is a very CPU intensive process. And until now, there have
been no fully-featured decoders available for Windows.

What is maplay 1.2+ for Win32?

Thanks to Bading's hard work in maintaining portability in maplay, I was
able to re-target maplay to run on the Windows 95 and Windows NT operating
systems. I also added a few features such as WAV playing, pausing,
stopping, and repeating MPEG audio playback. It took about 4 weeks, since I
had no prior Windows programming experience. Now after a year of work,
maplay 1.2+ for Win32 also has support for layer III MPEG-1 audio streams.

What do I need to run maplay 1.2+ for Win32?

Maplay 1.2+ for Win32 requires the following hardware and software to run:

   * 486 or higher CPU (Pentium required for stereo playback.)
   * Either the Windows 95 or Windows NT operating system. It will not run
     on Windows 3.1 or lower operating systems, even if you have Win32s.
     However, there is now a console version that should run on Windows 3.1
     with Win32s (someone please confirm this).
   * A 16-bit sound card, and the appropriate driver for Windows. (I have
     reports that 8-bit sound cards such as the SB Pro and SB work as
     well.)

What about the competition?

Ever since maplay 1.2 for Win32 was released, many other MPEG audio
decoders for Windows have also been released. But I still think maplay 1.2
for Win32 is still the best! Compare the features in the following table:

 Program        Layer  Layer  Layer  WAV   Bits/sample   Sample   Stereo
                I      II     III                        freq.

 XingSound1     ?      Yes    No     Yes   162           22.0     No
                                                         kHz

 AMAPLAY        ?      Yes    No     No    16            48.0     Yes
                                                         kHz
 Philips                                                 48.0
 mpgplay        No     Yes    No     No    16            kHz      Yes

 ActiveMovie    ?      Yes    No     Yes4  16            48.0     Yes
                                                         kHz

 WinPlay3       No     No     Yes    No    16            48.0     Yes
                                                         kHz

 museArc        No     Yes    Yes    No    16            48.0     Yes
                                                         kHz
 maplay for                                              48.0
 Win32          Yes    Yes    Yes    Yes   16            kHz      Yes

 Program     Seeks  Playlists  Interface  Win3.1 Win95  WinNT  Distributed
                                                               As:
 XingSound   Yes    No         OK         Yes    Yes3   Yes3   Freeware

 AMAPLAY     Yes    No         Ugly!      No     Yes3   Yes3   Shareware
 Philips                                         Yes3   Yes3
 mpgplay     No     No         Good       No                   Freeware

 ActiveMovie Yes    No         Media      No     Yes    Yes    Freeware
                               Player
 WinPlay3    No     Yes        Good       Yes    Yes3   Yes3   Shareware
 museArc     Yes    Yes        OK         Yes    Yes    Yes    Shareware
 maplay for
 Win32       Yes    Yes        Good       No     Yes    Yes    Freeware
1Freeware version of XingSound. There is a full-featured version, but it is
not free.
2Low precision
3Not a native 32-bit program
4Through Media Player

I have to admit that WinPlay3 is a great program. Unlike maplay 1.2+ for
Win32, it has very low CPU utilization, support for MPEG-2 Low Frequency
Extension files, and the ability to play a file from a URL. maplay 1.2+
currently has none of these features, but check back here often for
updates! (But maplay 1.2+ for Win32 does have support for seeks, unlike
WinPlay3.) Anyway, I don't like Fraunhoffer because they have a monopoly
over Layer III products. Their encoder and decoder programs are severely
crippled.

museArc has a 60 second restriction on playback time. The non-hacked
version of WinPlay3 has a 20 second restriction on playback time.
Ridiculous!

Should I even consider WinPlay3 at all?

Yes. Maplay 1.2+ for Win32 takes more CPU time to decode stereo layer III
files than WinPlay3. Also, WinPlay3 has several modes that tradeoff audio
quality for CPU usage. In general, WinPlay3 requires about 2/3 of the CPU
time that maplay 1.2+ for Win32 does. So your background tasks will also
execute faster if you are using WinPlay3. However, WinPlay3 lacks the
ability to seek within a stream, and the highest playback quality is the
same as maplay's.

Besides speed, WinPlay3 also decodes MPEG-2 LSF streams which maplay 1.2+
does not support yet.

What kind of interface does the program have?

Check out the Maplay 1.2+ for Win32 Gallery!

Cool. Where can I get maplay for Win32, and how do I install it?

Maplay for Win32, version 1.81, is available here (on my shell account on
cory, a Berkeley EECS server) in following four flavors:
                                       486         Pentium
            InstallShield Setup   mpw181-4.zip   mpw181-5.zip
            No Installshield      mpw4nois.zip   mpw5nois.zip

A few notes on installing:

   * The InstallShield Setup takes longer to download but will
     automatically configure everything for you. If you have WinZip, you
     can simply open the archive with WinZip, choose the file "setup.exe"
     and select the menu option Action...Install. If you are having
     difficulties (getting stuck at 42%, etc.), close all of your other
     programs and add the maplay through the Add/Remove Programs icon of
     the Control Panel.
   * The same files are contained in archives that do not contain the
     InstallShield setup. These are for people who are having problems
     using InstallShield, or who are having downloading problems. The
     versions with InstallShield are approximately 878 KB; the ones without
     InstallShield are approximately 270 KB.
   * If you plan to use the version with InstallShield, you should
     uninstall version 1.71 or later of maplay, if you have it, before you
     proceed.
   * All of these archives contain the source code. If you are using the
     InstallShield version and want to copy the source code, choose "Custom
     Setup". The source code is automatically unzipped to a /src
     subdirectory if you have the non-InstallShield version.
   * I have reports that the 486 version runs much faster on non-Intel
     CPU's such as AMD's K5 and Cyrix's 6x86.

The console version, which should run on Windows 3.1 with Win32s, is also
available here in two flavors:
                            486         Pentium
                        mpcon-4.zip   mpcon-5.zip

Please see the above note for non-Intel CPU's.

These are the NEWEST versions (1.81), last modified on April 20, 1997. See
the "whatsnew.txt" file for details on the changes.

How do I use maplay for Win32?

Maplay for Win32 supports command-line playback, so you can associate MP2,
MP3, or MPG files with maplay in the File Manager of Windows Explorer.
Actually, this will now be partially done by the installation program, so
you don't have to do anything yourself. Just select the MP2 (MPEG-1 Layer
II Audio Stream) or LST (playlist) file in Explorer, and double-click! If
you want to associate MP3 files to maplay, you will have to do this
manually. Just delete whatever association you had before, and double-click
on the MP3 file. Use maplay to open the file from now on.You can also use
it as a viewer in Netscape. The MIME type is "audio", and the subtype is
"x-mpeg". Finally, you can use as a stand-alone program, as there is a menu
item to open files. Feel free to E-mail me if you need further
instructions.

If you need more powerful playlist abilities, you can use either :

   * MP3 Manager, Peter Strnad's playlist creator/launcher.
   * MP3 Jukebox by Niclas Borg.

How much does maplay for Win32 cost?

Nothing. Well, almost nothing. Of course you still have to pay for the
access time and the long distance charges to download it! I do request that
you e-mail me and tell me if it worked on your system. Also, your generous
donations are welcomed but not required. To donate, please send a check or
money order to:

                                 Jeff Tsay
                          1818 Walnut St. Apt. #3
                             Berkeley, CA 94709

I'm an extremely poor college student, so anything I receive will go
towards my college education.

Are there any bugs in maplay 1.2+ for Win32?

Well, as I said before, I'm new at Windows programming, so I'm sure there
are. But the following are the only bugs I know about:

   * Due to a memory leak in the waveOut functions of Windows 95, the
     allocated memory slowly increases for large files. There is nothing I
     can do about this.
   * Sometimes the shortcut keys don't work. You just have to use the
     mouse.

I'll work on getting rid of these bugs, and if you find any others, please
e-mail me.

Where can I get MPEG audio files?

Check out my list of MPEG Audio links.

How do encode my own MPEG audio files?

You can use Cool Edit 96 (with the MPEG audio extensions) or AMPEG 4.3,
which is a DOS program, but considerably faster. (AMPEG now decodes Layer
III files) Also required is the the source code archive that contains the
tables. Remember, before WAV files are encoded, they must be saved in
16-bit format, with a 32 kHz or above sampling frequency.

How do I port maplay 1.2+ to other platforms?

The source is much more portable, so it should be relatively easy to
compile for the following platforms:

   * IBM AIX
   * Sun SPARC
   * HP-UX
   * Linux
   * SGI Indigo
   * NeXTStep
   * BeBox (although the command-line interface code needs some small
     changes)

Please see my porting notes for information on how to port to these and
other platforms. So far no one has ported 1.81 to any other platform (as I
am writing this before the official release!), but I expect that to change
soon. I'll include a list of ports here, once people send them to me.

---------------------------------------------------------------------------

Credits

   * Original source code by Tobias Bading.
   * Layer III code adopted from the ISO MPEG Audio Subgroup Software
     Simulation Group.
   * Win32 port, interface, and layer III porting and optimizations by Jeff
     Tsay.
   * Additional optimizations/modifications by Conrad Song, Timo Jantunen,
     and and Mikko Tommila. Please see the file credits.txt for the full
     credits.
   * License rights for the original maplay granted by the Free Software
     Foundation, Inc.
   * Borland C++ 5.01 compiler donated by Borland International.

I wish to thank the following donators, whose contributions make developing
maplay worth the effort:

   * Corky Coreson
   * Rich ??? (sorry, I don't remember your last name)
   * Deutsche Welle Radio via Wilfried Solbach

The Future

This MPEG decoder is only for MPEG-1 streams. The ability to decode MPEG-2
streams with the Low Frequency Extension will be added ASAP. Also a
playlist creation interface and Netscape plug-in functionality are planned.

The latest version of maplay is very portable, so I am waiting for people
to port the code to many other operating systems. I'd like to see versions
for FreeBSD and DOS.
---------------------------------------------------------------------------

[Home] [Anime] [maplay 1.2+ for Win32] [Computer Info] [Japanese for
Windows 95]

Need more information? Broken links? Comments? Please contact me at
ctsay@pasteur.eecs.berkeley.edu.
