Maplay 1.2+ for Win32

Web Site

Last modified: July 8, 1997

Newest version released: 1.90

Latest News:

Version 1.90 is now available for Win32, which has support for MPEG-2 LSF streams and has a lot of new useful features, like decoding to a WAV file, saving settings in the registry, and much more. See the file whatsnew.txt for a complete description of the changes.

I've moved to Texas for the summer, and I should have more time to work on maplay.

Version 1.81 has been ported to Linux, Macintosh (on PowerPC), OS/2, BeOS, HP-UX, and FreeBSD successfully. For the newest source files and information on these ports, check the ports section.

Alas, I have found out that the console version does not work with Windows 3.1. Sorry for the inconvenience.

Anyone who is interested in purchasing a DLL, let me know. I have not begun work on it yet, I just want to get an idea of the demand for it.

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:

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 Apple 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:

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 I  Layer II  Layer III  WAV  Bits/sample  Sample freq.  Stereo 
XingSound1  Yes  No  Yes  162  22.0 kHz  No 
AMAPLAY  Yes  No  No  16  48.0 kHz  Yes 
Philips mpgplay  No  Yes  No  No  16  48.0 kHz  Yes 
ActiveMovie  Yes  No  Yes4  16  22.0 kHz  Yes 
WinPlay3  No  No  Yes  No  16  48.0 kHz  Yes 
museArc  No  Yes  Yes  No  16  48.0 kHz  Yes 
maplay for Win32  Yes  Yes  Yes  Yes  16  48.0 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 mpgplay  No  No  Good  No  Yes3  Yes3  Freeware 
ActiveMovie  Yes  No  Media Player  No  Yes  Yes  Freeware 
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 

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.

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.90, is available here (on my shell account on cory, a Berkeley EECS server) in following four flavors:
486  Pentium 
InstallShield Setup  mpw190-4.zip  mpw190-5.zip 
No Installshield  mpw4nois.zip  mpw5nois.zip 

A few notes on installing:

The console version is also available here in two flavors:

486  Pentium 
mpcon-4.zip  mpcon-5.zip 

These command-line versions (about 83 KB) do not include source code; for the source, please download one the GUI versions. Please see the above note for non-Intel CPU's.

These are the NEWEST versions (1.90), last modified on July 7, 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 one of the following programs :

Also, now that the .M3U extension is supported by Maplay 1.2+ for Win32, most other playlist managers will work also.

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! However, your generous donations are welcomed but not required. To donate, please send a check or money order to:

Jeff Tsay
9010 Markville Drive #507
Dallas, TX 75243

I'm an extremely poor college student, so anything I receive will go towards my college education. I do also take donations of the form of interesting CD's, anime CD's, videos, posters, cels, etc., or pretty much anything else. If you're not sure I want it, just e-mail me before you send it. Thanks.

Also, if you would like some publicity for your company (a link on this web page and in the About box of the application, something to the effect of "Developed with ... courtesy of ..."), I'd be glad to accept :

I'm also open to donations of other types of hardware or software. In any case, if you are interested in making a donation, please e-mail me. Thank you!

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:

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 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 obtain or port maplay 1.2+ for other platforms?

The source is much more portable, so it should be relatively easy to compile. The rows of this table that have links indicate that maplay has already been ported, and you can obtain an executable. The rows that are marked "N/A" are ports that haven't been done yet, but should be relatively straightforward (all the code is already written -- the only things left to do are compiling and linking).

Version Distribution Site Binary Executable Ported by
IBM AIX N/A N/A N/A N/A
Sun SPARC N/A N/A N/A N/A
HP-UX 9.05+ 1.81 N/A maplay_hp.zip Earle Philhower
Linux 1.81 N/A maplay3-1.1.tar.gz Timo Jantunen
FreeBSD 1.90 Here. Duh! maplay+_freebsd.zip Jeff Tsay
SGI Indigo 1.81 N/A N/A Andres Meyer
NeXTStep N/A N/A N/A N/A
BeOS 1.81 N/A maplay_beos.zip Thomas Philippe
OS/2 1.81 N/A maplay10.zip Timo Jantunen
MacOS System 7 1.81 SoundApp Home Page SoundApp.sit.hqz Norme Franke
DOS 1.81 dmaplay.zip Jochen Wilhelmy

I don't want to take away from the authors of SoundApp for the Macintosh and maplay for Linux and OS/2; SoundApp supports a ton of audio formats besides MPEG Audio. maplay3 for Linux and OS/2 have playlist functionality, which the pure command-line version lacks.

The source code for the non-Win32 versions is in the file maplay+_190_src.zip which doesn't have those nasty ^M characters. Thanks to Gyorgy Kenez for his conversion utility.

Please see my porting notes for information on how to port to these and other platforms.


Credits

Want to contribute? Right now, I need a man page for the UNIX versions, a HLP file for the Win32 GUI versions, and some interface code to display characters and numbers nicely (not using fonts). If I use your stuff, I'll be sure to mention you!

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

The Future

New playlist capabilties, a new 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 a version for DOS. 

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


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