The Solaris Helpers Page
The Solaris Helpers Page
Original is here
The "ready-to-go" Solaris Helpers Pagehttp://home1.swipnet.se/%7Ew-10694/helpers.html
|Last modified: January 21
6803 visitors since October 1, 1996
|What's wrong, what's missing? Send comments and
suggestions to Johan.Hagman@mailbox.swipnet.se
|W h a t ' s N e w|
A new, higher performance MPEG video player mtv
(MpegTV player) is available from the company MpegTV, as a commercial
alternative to mpeg_play.
To encourage improvements and ports to other systems, the mpeg3play 0.9 source code is available. mpeg3play can be found here.
Table of Contents (links to page sections are in the left column)
|Overview||What is this page all about?
Supported file types
|Browser interface||About Netscape and MIME types|
|Program index||Browser utilities
|Netscape plugins||Tcl/Tk plugin from SunLabs
|Tools & Utilities||Additional Solaris programs|
|Setup & Configurations||Web-related setup information|
Netscape 2.x users: this page uses table background colors,
are only supported in Netscape 3.x. Use version 3.x if possible.
Go here to view a listing of the page change history
Helper applications are programs that are assigned to handle multimedia file formats (audio, video, images etc) that a web browser itself does not understand. This page contains helper applications and set-up instructions for Solaris versions of Netscape Navigator. The helper programs are verified with Netscape 3.x, and I believe everything except plugins (and the HTML table background colors on this page) also works with the 2.x version.
"Ready-to-go" means that no source code for the helper applications can be downloaded from this page, only binaries and documentation. But most of the programs are freely available on the net as source code. They are copyrighted by their respective authors, who I have contacted to get permission for making only the binaries available here.
Except for a number of bug fixes and functionality or performance improvements, the binaries have been compiled directly from the source code pointed to by the "home" link for each application. The material placed on this page is provided "as is". I have verified the correctness of this information the best I can, but I do no take responsibility for any errors or damages that may result from the usage of this information.
The SPARC executables run on Solaris 2.4 or later releases, but because of their general nature, they can of course just as well be used standalone or as helpers for other HTML browsers. SPARC binaries are compiled and optimized for the sun4m architecture (SPARC V8) using the latest Sun compiler, SPARCompiler 4.0. SPARC audio applications are built for and tested on systems with 16-bit (CD quality) audio, but should also work with the older 8-bit (phone quality) audio interface. See the man pages for application-specific options.
Solaris/x86 binares are created with Sun ProCompiler 3.0.1 on Solaris/x86 version 2.5.
This table is a summary of the multimedia file formats that become supported if all helper applications on this page are installed. Netscape will start the appropriate helper if the data arrives from an HTTP server (assuming that the server is properly configured), by FTP, as attachment in Netscape news or Netscape mail (by clicking the attachment) or when loaded from a local file.
|Multimedia type||File extension|
|Audio formats||Sun audio
mod xm s3m stm...
X Window Dump
|VRML (Virtual Reality
|Scripting languages||Tcl/Tk "tclet"||tcl|
The browser interface
When Netscape loads data by HTTP, it first checks if it can handle the MIME type in the protocol itself (HTML text, GIF or JPEG image, etc), then checks if a helper application is defined in the ~/.mailcap file for that MIME type. If there is one, the data is sent to the helper application as a temporary file, otherwise Netscape pops up a "Save As..." file selector. The extension of the file that is downloaded doesn't matter in this case.
On the other hand, if a local file is opened or a file is downloaded by FTP, Netscape uses the ~/.mime.types file to look up the MIME type for the file, identified by the file extension. Unlike some earlier browsers, Netscape has a long list of built-in MIME types (the complete list can be found in http://home.netscape.com/assist/helper_apps/mimedefault.html), and doesn't normally need any mime.types file at all. But this page defines helpers for a number of file types it doesn't know about (mid, fli, flc, wrl and all the module audio file types mod, xm, s3m, stm, mtm, ult, uni and it), and a ~/.mime.types file must therefore be installed. To better document the setup and make things work with other browsers, it contains the complete list of types.
It is still possible to save file types that have had helper applications defined for them by shift-clicking the left mouse button or selecting "Save Link As.." from the menu (right button).
The applications are divided into categories (audio, video, ...) and the structure of each application that can be downloaded as a binary from this page is identical: first a short description with usage hints, then four links:
Setup information for applications that can be downloaded as Solaris binaries from other sites (Adobe Acrobat Reader, VRweb, etc) have three links: Download, Home, Vendor. The Download link should lead to the vendor's download page or anonymous ftp site.
Below the links are additional installation instructions (which are only necessary for a few programs), and then a table listing the mime.types and mailcap definitions for the application. To make it possible to verify that the programs really work after the installation, most applications also have one or more test files (located below the table). All test files are believed to be in the public domain, but I will remove any files that are not such at the copyright owner's request.
Open the Options->General Preferences window and click "Ok" to close it again. This makes Netscape read the new mime.types and mailcap files.
Then download the helpers applications you are interested in and install the binaries and manual pages. The only program that includes files that must be installed in a specific location is TiMidity (but there's a workaround, see the TiMidity installation instructions).
Click each "test" link to verify that the helpers applications work as expected.
Setup instructions and download information are currently available for the following programs (links to the application categories are in the left column).
The programs on a red background can be downloaded as Solaris binaries from this page, and the programs on a white background are already part of Solaris or can be downloaded as binaries from other sites, with links from this page.
Sorry Netscape 2.x users, you can't see the colors. But to make life easier, the binaries that are available for download from this page are marked with an asterisk.
|Browser utilities:||XPlayGizmo 1.0*|
|Audio players:||xplay 0.7*||mikmod 2.13*||raplayer 3.0|
|maplay 1.3 beta*||timidity 0.2i*|
|Video players:||xanim 126.96.36.199*||mpeg_play 2.0*||mtv 0.9|
|Image viewers:||xli 1.16*||xtiff 2.0*|
|Document viewers:||pageview||acroread 3.0|
|VRML browsers:||VRweb 1.3||Liquid Reality 1.0|
|Netscape plugins:||Tcl/Tk plugin 1.1||acroread 3.0||CoolTalk|
|Tools & Utilities:||sox 11.12*||xautolock 1.10*||xv 3.10a*|
XPlayGizmo 1.0 is a utility that was written for use with NCSA Mosaic. It is a small control panel that pops up after the browser invokes an external sound player or movie viewer, and makes it possible to play sound and movie files multiple times without multiple data transfers. Downloaded sounds/movies can also be saved to local files.
Note: XPlayGizmo must be installed if you intend to use the maplay (MPEG audio player) or mikmod (MOD player) helpers with the default mailcap file provided on this page.
xplay 0.7 is a utility for playing audio files of type .au (Sun audio files), .wav (Windows 3.0 WAVE format) and .aiff (Apple/SGI AIFF file). It opens a small audio control window with pause/rewind/save/volume controls, much like xplaygizmo. The popup window automatically exits after 3 seconds of inactivity.
The program has restrictions: compressed AIFF and WAVE files are not supported and the number of WAVE formats that can be played are limited, but it adapts the input to the available hardware, doing rate-conversion and converting stereo to mono as required for the older 8-bit harware, while taking advantage of the 16-bit CD-quality audio interface on newer machines.
|Author:||email@example.com (Robert S. Thau)|
|audio/basic au snd||xplay -geometry +10+10 %s|
|audio/x-wav wav||xplay -geometry +10+10 %s|
|audio/x-aiff aif aiff aifc faif||xplay -geometry +10+10 %s|
|baritone.au (32K, 8-bit 8KHz Sun audio file)|
|gday.wav (38K, WAVE audio file)|
|testing.aiff (22K, AIFF audio file)|
maplay 1.3 beta is the second release of an MPEG audio player/decoder that decodes layer I and II MPEG audio streams and plays them using the CD-quality Sun audio device. The player supports all modes (single channel, stereo, joint stereo and dual channel) and all bit rates except free mode. MPEG audio compression uses a lossy compression algorithm that achieves a compression rate of 1:3 up to 1:24 compared to raw PCM data.
|Author:||firstname.lastname@example.org (Tobias Bading)|
Note: The Solaris/x86 version may require one of the -amd, -l, -r options (or a combination of them) to open the audio device properly.
|audio/x-mpeg mp2||xplaygizmo -pq maplay %s -geometry +10+10|
intro.mp2 (118K, MPEG audio file)
mikmod 2.13 is a portable module player written originally by Jean-Paul Mikkers (MikMak). It plays the XM, MOD, MTM, S3M, STM, ULT and UNI module formats, and IT support is currently being worked on. The Unix version of the player is controllable via an ncurses interface and extracts and plays modules from a variety of archive formats. As of version 1.90 and higher, mikmod is shareware. This only means that you have to give the author a one-time $25 US registration fee if you want to use mikmod commercially. See register.frm included in the archive for more information.
The following keyboard commands are recognized when files are played from the command line
Key Action --- ------ x,e,q quit <space> pause (also releases sound device until needed again) n, down, CR next mod p, up restart current/previous mod >, right next pattern <, left restart current/previous pattern , down tempo . up tempo / normal tempo - down volume + up volume * normal volume d toggle deletion marking on/off y delete current mod if marked
The Solaris binary that can be downloaded here includes three performance enhancements and a new "quiet mode" command line option -q which makes it possible to use mikmod as a helper application.
|Author:||email@example.com (Steve McIntyre)|
|audio/x-mod mod xm s3m \
stm mtm ult uni it
|xplaygizmo -pq mikmod -q %s \
short.mod (25K, MOD file)
If this test file works, visit the Mod Archive at
some more songs. Anything except files with extension .it should play, for example
http://www.modarchive.com/cgi/download.cgi?C/COOL.STM (98K) and
TiMidity 0.2i is a MIDI to WAVE converter that uses Gravis Ultrasound-compatible patch files to generate digital audio data from General MIDI files. The audio data can be played through any sound device or stored to disk. On fast machines, music can be played in real time. TiMidity runs under Linux, FreeBSD, HP-UX, SunOS, Solaris and Win32.
The default mailcap file starts up TiMidity to output audio data in real-time, mono mode, at a sample rate of 22.05 kHz. It is possible to increase the sampling frequency and switch to stereo to get even better sound quality (and consume more CPU). Take a look at the midiplay script (see below) for a list of valid sampling frequencies and the stereo/mono flag.
The TiMidity volume control may be a little confusing. It controls the volume of the sound that is generated and not the volume control of the workstation. Because the output is buffered, volume changes are delayed. It's easier to use /usr/openwin/bin/audiocontrol as volume control instead.
|Author:||firstname.lastname@example.org (Tuukka Toivonen)|
Note: the timidity tar file includes another tar file usr-local-lib-timidity.tar in addition to the binary and documentation. This file contains a number of configuration files and two sound patches that must be installed in /usr/local/lib/timidity (the path name is compiled into the binary). To install the config and patch files, create the directory /usr/local/lib/timidity and extract the tar file from that directory.
Root access is normally needed to create directories and files in /usr/local/lib, but it should also be possible to install the config file somewhere else by pointing to it with the -c command line option. In this case, the config file must be edited to load the instrument patches from the new location.
Because TiMidity is released under the terms of the GNU General Public License, the file "timidity-solarisDiffs.29sep96" that contains my source code changes is also included. To add these fixes to the original 0.2i source code, patch the source using this command "patch -p < timidity-solarisDiffs.29sep96".
|audio/x-midi mid midi||timidity -s 22050 -imq -OdM %s|
cavatina.mid (6K, General MIDI file)
Only guitar and piano audio patches are included in the TiMidity tar file, but it's possible to download a complete sound patch collection for the General MIDI instrument set from the MIDIA archive: ftp://archive.cs.umbc.edu/pub/midia/instruments.tar.gz (8MB).
To install the instrument files, cd to /usr/local/lib/timidity and extract instruments.tar.gz there (or extract it somewhere else and make "instruments" a symbolic link to wherever it's installed), then get this new timidity.cfg configuration file and copy it to the same directory (but save a backup copy of the original file as timidity.cfg.orig first).
Now TiMidity is ready to play the full General MIDI instrument set! Try this Rush favourite "Tom Sawyer" from Moving Pictures
sawyer.mid (36K, General MIDI file)
Here is also a little utility of my own, a script midiplay that starts TiMidity with the same options as mailcap does. Put it in the search path, and you can type "midiplay yourfile.mid" to play MIDI files from the command line.
raplayer 3.0 is the popular RealAudio player that plays audio in real time over 14.4 or 28.8 modems. Version 3.0 supports broadcast-quality audio, including stereo at 28.8 kbps speeds and near-CD quality at ISDN and LAN speeds. Solaris 2.4 users must currently still download the 2.0 version.
The player is free for individual use.
(36 bytes, RealAudio 2.0 audio format)
- 80033r3.ram (36 bytes, RealAudio 3.0 audio format)
|Download:||http://www.realaudio.com/products/player/download.html (about 780K)|
|audio/x-pn-realaudio ra ram||raplayer %s|
|welcom288.ra (27K, RealAudio 28.8
file). This file is
played non-streaming from the HTTP server.
|The following two files initiate streaming-audio connections from
www.technohouse.com and play techno by G.O.T - "Runnin High"
Netscape includes built-in support for GIF89 animations, but many sites misuse this feature by putting dozens of animations on a single HTML page, which may slow down the browser too much. Here is a simple, lightweight example: a beating heart. Press the Stop button to stop the animation (this only works in Netscape 3.x).
XAnim 188.8.131.52 is a well-known program on Unix systems for displaying animations, video and audio files of various formats. It also provides many options that allow the user to alter colormaps, playback speed, looping modes and it can provide on-the-fly scaling of animiations.
|Author:||email@example.com (Mark Podlipec)|
|video/quicktime qt mov||xanim +Zpe +q %s 2>&1 >/dev/null|
|video/x-msvideo avi||xanim +Zpe +q %s 2>&1 >/dev/null|
|video/x-fli fli||xanim +Zpe +q %s 2>&1 >/dev/null|
|video/x-flc flc||xanim +Zpe +q %s 2>&1 >/dev/null|
|third.mov (78K, QuickTime movie)|
|dcx7.avi (87, AVI movie including a soundtrack)|
|fr3.fli (127K, FLI movie)|
|bush1.flc (52K, FLC movie)|
mpeg_play 2.0 MI is a public domain MPEG video decoder, that displays an MPEG-1 video stream in an X window. This particular version (MI) has an improved Motif user interface. It plays only MPEG-1 video streams, and can not handle multiplexed MPEG or video+audio streams.
mtv 0.9 (MpegTV player) is a real time software-only MPEG-1 video player with audio/sync for Unix/X-Windows platforms with 8-bit, 16-bit, 24-bit or 32-bit frame buffers. The MpegTV player plays MPEG-1 video and systems streams with Layer I and II audio in realtime. Audio is played in sync with video and graceful degradation is achieved with frame dropping if necessary.
Free demo versions of the player can be downloaded for Solaris (SPARC/UltraSPARC) or Linux (x86 ELF), but the demo versions are time limited and the audio is disabled after 30 seconds.
To install the MpegTV player as the MPEG video helper application (as a replacement for mpeg_play), follow the installation instructions on the home page and simply edit ~/.mailcap and replace the startup command for the video/mpeg MIME type "mpeg_play -quiet %s" (see mpeg_play above) with "mtv %s".
|Download:||MpegTV home page|
Solaris Netscape supports the most popular web image types GIF, JPEG and X bitmaps, but doesn't have built-in support for other formats. Therefore, some external image viewers might be useful.
xli 1.16 is a version of xloadimage that can view several image types under X11, or load images onto the root window. A variety of options are available to modify images prior to viewing. These options include clipping, dithering, depth reducing, zoom, brightening or darkening, input gamma correction and image merging.
The default mailcap configuration starts xli with the -fit -colordither options to avoid colormap flashing, but to get the best possible color quality the options can be removed if colormap flashing is acceptable.
Type xli -support to see the supported image types.
|Author:||firstname.lastname@example.org (Graeme Gill)|
|image/x-portable-bitmap pbm||xli -fit -colordither -quiet %s|
|image/x-portable-graymap pgm||xli -fit -colordither -quiet %s|
|image/x-portable-pixmap ppm||xli -fit -colordither -quiet %s|
|image/x-portable-anymap pnm||xli -fit -colordither -quiet %s|
|image/x-cmu-raster ras||xli -fit -colordither -quiet %s|
|image/x-xpixmap xpm||xli -fit -colordither -quiet %s|
|image/x-xwindowdump xwd||xli -fit -colordither -quiet %s|
|image/x-photo-cd pcd||xli -fit -colordither -quiet %s|
[Type q inside the xli window to close the window]
|spectrum.pbm (2K, PBM monochrome image)|
|spectrum.pgm (14K, PGM grayscale image)|
|spectrum.ppm (42K, PPM color image)|
|blackflames.pnm (16K, PNM monocrome/grayscale/color image)|
|bug.ras (15K, Sunraster image)|
|xtfn.xpm (13K, X Pixmap)|
|rip.xwd (8K, X Window dump)|
The mailcap entry also defines xli as a helper for the Photo CD format, but a Photo CD test file is too big to include on this page.
By the way, if you are interested in using Photo CD images in web browsers, visit http://www.kodak.com/digitalImaging/cyberScene/ and read about "Photo CD on the Web", a new technology for interactively zooming, panning and enlarging Photo CD images in most popular web browsers. A collection of Photo CD links can be found at http://www.kodak.com/digitalImages/cS/sites.shtml
xtiff 2.0 is a tool for viewing TIFF files. The xtiff source release contains two user interfaces: an Xlib and an Athena widgets version. This is the Xlib version with one enhancement: the q key can be used to exit the viewer (like xli and xv). xtiff has two major limitations: it always installs a private colormap (which results in colormap flashing) and it cannot dither images that are deeper than the available visuals.
|xtiff-2_0.tgz (73 K)|
|xtiff-2_0-x86.tgz (57 K)|
|image/tiff tiff tif||xtiff -geometry +10+10 %s|
[Type q inside the xtiff window to close the window]
fishes.tif (22K, TIFF image)
pageview is a PostScipt viewer that is part of the OpenWindows deskset. It should always be available in a CDE and OpenWindows environment in /usr/openwin/bin. No installation or special configuration is necessary for this application.
|application/postscript ai eps ps||pageview -geometry 495x700 -dpi 60 %s|
illusion.ps (1K, Postscript document)
acroread 3.0 (Acrobat Reader) is the latest version of a free utility for viewing, navigating, and printing Adobe Acrobat PDF files. It also offers new features like progressive display, font blitting and antialiased text.
The 3.0 version also runs as a Netscape plugin.
|Download:||http://www.adobe.com/acrobat/readstep.html (about 4MB)|
|application/pdf pdf||acroread %s|
cookbook.pdf (8K, Adobe Acrobat document)
Both VRML 1.0 and 2.0 worlds have the same MIME type. Because there aren't any VRML browsers that can load both the 1.0 and 2.0 file formats, I have written a generic startup script dispatch-vrml that determines the version number by looking at the first "magic" line, and starts the appropriate browser. The script starts VRweb to view VRML 1.0 files, and for VRML 2.0 files, it first builds a temporary HTML file in /tmp which references the VRML file. The Java appletviewer is then called to visualize the VRML object using the Liquid Reality Java toolkit.
Begin the VRML installation by downloading the script, and install it in the search path.
|x-world/x-vrml wrl||dispatch-vrml %s %u; \
VRweb 1.3 is a browser for 3D worlds and objects modeled in the Virtual Reality Modeling Language (VRML). VRweb is the only VRML browser which is freely available in complete source code (under the GNU General Public License). It does not require commercial packages such as Inventor or Motif, and is capable of running on many platforms.
The VRweb project began as a joint project between IICM, NCSA and the University of Minnesota.
|Download:||http://www.iicm.edu/vrweb-licence/ (about 800K)|
vrml1monolithes.wrl (9K, VRML 1.0 model)
Liquid Reality 1.0 is a VRML toolkit from Dimension X. The toolkit is a set of Java class libraries that offers VRML 2.0 functionality. With the toolkit, it is possible to create viewers, tools, and solutions that are VRML 2.0 compliant. In addition, the toolkit is extensible using Java.
|Download:||http://www.dimensionx.com/products/lr/download/ (about 780K)|
Installation: This is more complicated than the VRweb installation. Download Liquid Reality 1.0 beta 11 for Solaris from Dimension X using the link above. But Liquid Reality won't run alone, it needs a Java environment. As it currently is not supported in Netscape 3.x, the choice is simple: download JDK (Java Development Kit) 1.0.2 from SunSoft to get the applet viewer:
|Download:||http://www.javasoft.com/products/JDK/index.html (about 4.7MB)|
Now proceed like this:
Set the environment variable LREALITY to where you want to install Liquid Reality, for example /usr/local/vrml/lr-1.0b11, and install the product there % setenv LREALITY /usr/local/vrml/lr-1.0b11 % mkdir -p $LREALITY % cd $LREALITY % gtar xzvf lr-sol10b11.tar.gz Set the environment variable JDK to where you want to install JDK 1.0.2, for example /usr/local/java/jdk-1.0.2, and install the product there % setenv JDK /usr/local/java/jdk-1.0.2 % mkdir -p $JDK % cd $JDK % gtar xzvf JDK-1_0_2-solaris2-sparc.tar.Z Edit ~/.login and add the "setenv" definitions of LREALITY and JDK above. The variables are only set to simplify the installation and have no meaning to any of the products. Create a link in $JDK/java/lib/sparc to $LREALITY/lib/sparc/libdnxice.so % ln -s $LREALITY/lib/sparc/libdnxice.so $JDK/java/lib/sparc After this, exit and restart Netscape with the new environment % netscape & The VRML 2.0 test link should now start up an appler viewer window that displays the same VRML object as the VRML 1.0 test link.
vrml2monolithes.wrl (25K, VRML 2.0 model)
Liquid Reality demos: to interactively run the demos, a few more things need to be done
Add $JDK/java/bin to the search path in order to find appletviewer % set path=($path $JDK/java/bin) Include the Liquid Reality classes directory in CLASSPATH % setenv CLASSPATH $LREALITY/classes Compile and run the cube demo % cd $LREALITY/demo/ice % javac Cube.java % appletviewer cube.html Run the viewer demo % cd $LREALITY/demo/lr % appletviewer index.html
VRML 1.0 to 2.0 translation
Sony has developed a VRML 1.0 to 2.0 converter "vrml1to2" that can be downloaded as a Solaris executable from http://vs.spiw.com/vs/vrml1to2E.html.
I have used version 1.4b of this converter to translate vrml1monolithes.wrl to vrml2monolithes.wrl with the command "vrml1to2 vrml1monolithes.wrl vrml2monolithes.wrl"
Tcl/Tk plugin 1.1 from SunLabs. The 1.1 version supports the following platforms: Solaris/SPARC, Solaris/Intel, SunOS, Windows 95, Windows NT, Macintosh, Linux, IRIX, Digital Unix and HP/UX. The scripts (or "Netscape Tcl tclets") that can be executed with this plugin are normal Tcl/Tk scripts, but they run in a slightly more restricted "Safe Tcl" environment (it's not allowed to read or write to local files by default, for example).
The 2.0 version of the plugin is also available as an alpha release.
|Download:||http://www.sunlabs.com/tcl/plugin/ (about 740K)|
A number of demo tclets come with the plugin distribution, and can also
be found on http://www.sunlabs.com/tcl/plugin/.
The demos include: calculating mortgage
payments, calculator, tetris, 15-puzzle, animated coffee, eyes that watch
you, ticker tape example, line drawing program, draging text, tracing mouse
events, oval drawing, bike gear ratio calculator, biorhythm clock, card
game and a tcl evaluator. The FAQ for this software package is at http://www.sunlabs.com/tcl/plugin/faq.html
Contact: email@example.com (Jacob Levy)
Here is another tclet list extracted from comp.lang.tcl FAQ part4, August 27.
Acrobat Reader 3.0 is the latest version of the free PDF reader from Adobe. The 3.0 version makes it possible to view PDF documents inside HTML browsers (since the reader can be installed as a plug-in) and offers new features like progressive display, font blitting and antialiased text.
|Download:||http://www.adobe.com/acrobat/readstep.html (about 4MB)|
CoolTalk is an Internet telephone tool that provides high-quality audio conferencing, a full-featured whiteboard, and text-based communications using the chat tool. With CoolTalk you can talk and work collaboratively with friends and colleagues via the Internet. Because CoolTalk works seamlessly with Navigator 3.x, calls can be sent and received directly from web pages.
|Download:||http://home.netscape.com/.../download_cooltalk.html (about 5.7MB)|
|Tools & Utilities|
The following programs are not assigned as helper applications in the default mailcap file.
mpeg3play 0.9 is an MPEG audio layer 2 and layer 3 audio decoder/player based on public ISO/MPEG audio decoder source code. The original software is a slow but portable MPEG to AIFF decoder, impossible to use as a real-time player. I have optimized the source code to the point where it becomes possible to use the decoder for real-time playback, and have modified it for output to the Solaris audio device. Version 0.9 is the first release to appear on this page.
MPEG layer 3 is a powerful audio encoding format. It can serve as an efficient compression format (with a compression ratio of around 12:1) for storage and playback of local files, but more interestingly, it can handle compressed audio at bit rates low enough to stream over the Internet. Even bit rates of 16 kbit/s, suitable for 28.8 modem connections, are supported. It's also ideal for Usenet postings, because you don't have to download all parts of a song to hear it - just download one of the parts and listen to it!
But it certainly isn't necessary to write a complete MPEG layer 3 tutorial here, such information already exists on the Web. See this small MPEG layer 3 information page where I have collected some pointers to more information.
mpeg3play is not yet defined as a helper application on this page (as a replacement for maplay) because version 0.9 is the first, experimental release. See below instructions for how to install it as a streaming audio player for Netscape 3.x by editing the .mime.types and .mailcap files. First download the Solaris/SPARC binary and install it in your search path
|Home:||ftp://ftp.tnt.uni-hannover.de/pub/.../dist08.tar.gz (original source)|
Edit ~/.mime.types and add the .mp3 extension, which maps locally loaded files or files downloaded by FTP to the MIME type audio/x-mpeg
audio/x-mpeg mp2 mp3To define mpeg3play as the helper application for MPEG layer 2 and layer 3 files, ~/.mailcap could be changed to simply start mpeg3play instead of maplay, but then audio streaming would not work. Edit ~/.mailcap like this instead
audio/x-mpeg; mpeg3play -f -; stream-buffer-size=16000 audio/mpeg; mpeg3play -f -; stream-buffer-size=16000This change will make Netscape open an "Audio Question" popup when it begins to download MPEG audio. The popup asks you to "Play from Network" or "Save First". Select "Play from Network" only if your network connection is fast enough to stream the data. "Save First" selects a non-streaming download that gets the complete file before mpeg3play is started to play it.
Here are three CD quality or near-CD quality audio files that need to be "Saved First". The drums sounds are recorded directly from my Roland JV-30 GM synth. The layer 3 encoding shows almost no audible degradation, but high frequencies in the layer 2 file sound "raw" and some spurious noice is introduced (listen carefully at the end of the sample). Note that only UltraSPARC CPUs can decode the layer 3 drum sound in real time (a 50MHz SuperSPARC is at least not fast enough).
|bell.mp3 (7 sec, 56 kbit/s, 22.1kHz mono, 49K, ratio 6.2:1)|
|drums.mp2 (7 sec, 112 kbit/s, 44.1kHz stereo, 102K, ratio 12.5:1)|
|drums.mp3 (7 sec, 112 kbit/s, 44.1kHz stereo, 102K, ratio 12.5:1)|
Use "Play from Network" for the following files. The 16 kbit/s files stream fine over a 28.8 modem, but the 24 kbit/s file requires a slightly faster connection to avoid drop-outs.
|guitar.mp3 (3 min 35 sec, 16 kbit/s, 16kHz mono, 419K, ratio 16:1)|
|guitar-24.mp3 (24kbit/s, 22kHz version of the above. 630K, ratio 14.7:1)|
|dadme.mp3 (50 sec, 16 kbit/s, 22kHz mono, 97K, ratio 22:1)|
Performance note: with the current version of mpeg3play, a 16 kbit/s, 22kHz layer 3 mono file is about the maximum that a 60MHz MicroSPARC II can handle when the data streams through Netscape (which adds some overhead).
Other 16 kbit/s streaming sounds for 28.8 modem connections are on
Miyaguchi's excellent page http://www.eskimo.com/~miyaguch/mp3.html
- Star Wars theme (3 min 45 sec)
- Jurassic Park theme (4 min 39 sec)
- A Whole New World from Disney's Aladdin (4 min 2 sec)
- 24kbit/s version of the above
- Title theme from "Out of Africa" (3 min 7 sec)
Known problems with mpeg3play version 0.9
To decode a CD quality layer 3 bitstream in real time is a very CPU-intensive process. The UltraSPARC does it, but SuperSPARC/HyperSPARC CPUs may not be fast enough, at least with the current version of mpeg3play. Even Fraunhofer's l3dec player sometimes runs out of CPU with 44.1kHz, 128 kbit/s layer 3 stereo files. In such cases, use the mpeg3play -o option to decode to an AIFF file, which can be played with xplay or converted to a Sun audio file using sox.
Source code availability
To encourage ports to other systems, the mpeg3play source code is also available. But note that this is the portable C version, and not quite as optimized as the Solaris binary which includes three functions optimized in SPARC assembly. See the README file in the archive for more details.
To make it easier to update and improve mpeg3play, I would like to be notified of enhancements to this source, so that they can be merged into future versions of mpeg3play.
|Download source:||mpeg3play-0_9-src.tar.gz (75K)|
sox 11.12 (SOund eXchange) is a universal sound sample translator that can convert between a number of audio file formats and apply sound effects to audio samples.
This release understands "raw" files in various binary formats, raw textual data, Microsoft Windows .WAV files, MAUD files, Sound Blaster .VOC files, IRCAM SoundFile files, Sun .au files, mutant DEC .au files, Apple/SGI AIFF files, CD-R (music CD format), Macintosh HCOM files, Sounder files, NeXT .snd files, Sun ADPCM (compressed) .au files, Soundtool (DOS) files, and Psion (palmtop) A-law files.
The sound effects include changing the sample rate, adding echo delay lines, applying low, high, and band-pass filtering, examining sample loops and grabbing the looped parts, translating between stereo and monophonic channels, reversing a sample, adding masking noise to avoid buzzing voices, and the infamous Fender Vibro effect.
|Author:||firstname.lastname@example.org (Lance Norskog)|
xautolock 1.10 monitors console activity, and fires up a program of you choice if nothing happens during a user configurable period of time. You can use xautolock to automatically start up a screen locker in case you tend to forget to do so manually.
It is also possible to tell xautolock to take special actions when you move the mouse pointer into one of the screen corners and leave it there.
|Authors:||email@example.com (Stefan De Troch)
firstname.lastname@example.org (Michel Eyckmans)
Here is a suggested configuration, that will fire up xlock after 8 minutes of inactivity, or after 3 seconds if the mouse pointer is moved to the top right 10-pixel area of the screen. If the pointer is left in that corner after an unlock, xlock is started again after 30 seconds.
Add the three lines below to ~/.xinitrc before the line
"if [ -x $HOME/.openwin-init ]; then"
# Start xautolock in the background xautolock -time 8 -corners 0+00 -cornerdelay 3 -cornerredelay 30 \ -locker "$OPENWINHOME/bin/xlock -allowroot -mode swarm -delay 35000" &If the Xsun screen blanker is enabled in ~/.xinitrc (look for a line like
"xset s n", where n > 0), that line must be commented out.
xv 3.10a displays images in the GIF, JPEG, TIFF, PBM, PGM, PPM, X11 bitmap, Utah Raster Toolkit RLE, PDS/VICAR, Sun Rasterfile, BMP, PCX, IRIS RGB, XPM, Targa, XWD, possibly PostScript, and PM formats on workstations and terminals running the X Window System
xv is shareware for personal use only, but commercial, government and institutional users must register their copies. Please read the licensing issues in the README file and send licensing questions to email@example.com.
xv is great for interactively displaying, cropping, converting and color correcting images, but it is not defined as a helper on this page because the size of the program makes the startup time longer than for the other, smaller image viewers.
|Setup & Configurations|
Background sounds on HTML pages
Both Netscape and Microsoft Internet Explorer provide a way to automatically play background sounds after a page is loaded. Unfortunately, MSIE uses the <BGSOUND> tag for background sounds while Netscape uses the <EMBED> tag. Page authors should use both if the page is intended to work with both browsers [side note: MSIE 3.01 will apparently also recogize <EMBED> tags if Active-X (or movie?) stuff is installed].
Pages with background sounds should therefore include tags like these in the body of the page (the .wav format is probably most portable and should play on most platforms):
<EMBED SRC="bgsound.wav" TYPE="audio/x-wav" AUTOSTART=TRUE HIDDEN=TRUE> <BGSOUND SRC="bgsound.wav" LOOP=INFINITE>However, the above does not work for the Solaris version of Netscape, since the <EMBED> tag is only for plug-ins, and no MIDI/au/wav/aiff plug-ins are currently available for Solaris.
To enable background sounds for Solaris, a HTML page can define a main frame where the text is shown and a tiny frame that just loads the audio file that should play as a background sound. Pages authored this way work with both audio plug-ins and audio helper applications.
Try this background sound test page that uses a .wav file as background sound. The page sets up its frames like this
<FRAMESET ROWS="99%,*"> <NOFRAMES> This document must be viewed using a frame-enabled browser. </NOFRAMES> <FRAME SRC="mainframe.html"> <FRAME SRC="audio/bgsound.wav"> </FRAMESET>
Most of the programs on this page are copyrighted by their
See the home and author links for more information.
This page copyright © 1996, 1997 by Johan Hagman.
Hosted by Tele2