Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Contact Us
Online Help
Domain Status
Man Pages

Virtual Servers

Topology Map

Server Agreement
Year 2038

USA Flag



Man Pages

Manual Reference Pages  -  WMRECORD (1)


WMRecord - General Purpose Recording Utility for Linux


To Be Done


wmrecord [-d <dsp>] [-m <mixer>] [-h]


WMRecord is a general purpose recording utility for Linux systems running X11, currently using the Open Sound System (OSS) to access the audio subsystem. The interface is designed to work in conjunction with WindowMaker’s Dock or AfterStep’s Wharf, two popular window managers for the X Window System. An alternative interface incorporating a more general purpose GUI toolkit is planned but not imminent.

WMRecord was originally conceived as a tool for recording memos, interviews and meetings, and this approach is reflected somewhat in the interface. Recordings are made to one of 99 numbered slots or tracks which the user may browse through. There is no limit (other than the constraints of the file system) to the size of recording you make. Recordings are automatically saved to disk, but may be erased or recorded over as necessary.

The user may select the input source, line quality and bit rate of the recording as well as determining whether or not to record in stereo. All settings are automatically saved by the program, so there need be no fiddling with configuration files in order to manipulate the settings.

Version 1.0.5 now uses the WAVE file format for recording samples. This should allow users to import recordings into other applications and therefore increase the usefulness of WMRecord. However, recordings made with version 1.0.0 will no longer be playable with the new release.


By default, WMRecord uses the devices /dev/dsp and /dev/mixer to manipulate the audio hardware. There is currently no way to change this from the interface, but it is possible to override these settings at the command line using the following switches:

-d <dsp> Set the DSP audio device.
-m <mixer>
  Set the Mixer device.

The main display area of the interface shows the length of the recording in seconds (or in playback mode, the number of seconds elapsed), the recording source (icons representing either a microphone, a line jack or a CD) and the sample rate. Two green LEDs represent mono or stereo mode and two red LEDs represent 8-bit or 16-bit sound quality.

Directly underneath are the Record, Stop and Playback buttons and underneath that is the track selection which comprises a display of the current track number, Previous Track and Next Track buttons, and the Erase track button. Using the right mouse button on the Previous and Next track buttons changes the volume.

Arranged from top to bottom on the right hand side of the interface are controls for selecting the Input Source (either Mic, Line or CD), the Sample Rate (either 8000, 11025, 22050 or 44100), the Mono / Stereo toggle and the 8-bit / 16-bit toggle.


All files are stored in the directory $HOME/.wmrecord. Recordings are listed "rec01.wav" ... "rec99.wav", while the configuration file is called "wmrecordrc".


WMRecord uses the OSS (Open Sound System) as its interface to the audio hardware. WMRecord also assumes that samples are little-endian. As such, this means that WMRecord is probably limited to the x86 architecture.

There is no processing of the recorded audio. This means that there is no noise filtering, and data is written to disk uncompressed.

8-bit data does not appear to be recorded correctly.

There is no more space on the interface for new buttons. *sigh*


The interface is based on an excellent dockapp called WMTune, with the input source icons being taken from another excellent app called WMMixer. Well, I’m not too good at drawing fiddly little things and these applications look great. The sources for WMTune (and other dockapps for that matter) also came with a general purpose dockapp library which I have also used for creating the window and copying pixmaps around. I think that this should be packaged up into a separate library for WindowMaker / Afterstep as it really cuts down the number of hoops you have to jump through in order to please Xlib.


- Find a better way to update the configuration file. Normally I would have left all updates until the program received a signal or a DestroyNotify event but this does not seem to achieve the desired effect in WindowMaker.

- Implement a method for selecting the dsp and mixer devices without the need for command line switches.

- Fix the playback timing bug: the playback counter updates more rapidly than the rate at which the recording is being output, unless high quality settings are specified.

- Allow a user to impose a maximum recording time.

- A configure script or Imake setup, perhaps?


Malcolm Cowe <>

Search for    or go to Top of page |  Section 1 |  Main Index

Linux WMRECORD (1) 4th October 1999

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.