Short Version Instructions: Drag any file you think has sound data in it onto the icon and listen.
Environment: Needs System 7 and Apple Events. Uses Speech Manager if present (will select Boris [can change by hacking a STR# resource]). Currently requires a 68020
or better and an Apple Sound Chip (ASC). I recommend that you use the new Sound
Manager 3.0.
What is it?: Primarily a low memory background ╡-law (ulaw or mu-law) sound player for both Sun ╡-law and headerless ╡-law files. Uses a custom double buffering technique to play arbitrarily large files continuously from disk. It relies on other applications being multitasking friendly to give a continuous sound output. The size of the buffers it allocates depends on the application memory size; increase this if you think there is a problem with the quality of the sound (especially if use use very high sampling rates eg 44.1kHz (CD) or 48.0kHz (DAT)). The minimum size is 256K and is suitable for most 8kHz ╡-law sounds.
Current sound format support:
1a// Headerless ╡-law (CCITT G711) and
1b// ╡-law (with Sun header; i.e., the data fork begins '.snd', etc)
This representation has a nonlinear distortion to permit 8 bits to give comparable
performance to 14 bits linear (for speech of typical distribution). However, on most Macintoshes the sound output is 8 bit linear so the quality won't be as high as on a Sun workstation for example. Note that standard ╡-law is a 1's complement of a sign magnitude representation in case you've seen a conversion table and realized it looks a bit odd (see the end of this file). The sampling rate is almost always 8kHz. There is provision for other sampling rates but seems to be rarely used. Improved conversion for quiet ╡-law files (using volume up and down buttons; amplifies and attenuates in 3dB increments; at the possible exprense of some clipping).
2// Headerless A-law (CCITT G711)
Related to ╡-law but somewhat different. It is defined in the same Telephony standard. (If someone has an A-law file please send it to me.)
3// FSSD non-compressed files
These are linear, i.e., 8 bits representing levels from 0 to 255 with 128 playing the role of the 'zero' point, (the same as a Mac sound 'snd ' resource format) but the information is in the data fork (offset binary). The sampling rate varies across the most popular Mac rates: 5.6kHz, 7KHz, 11kHz and 22kHz. SoundMachine recognises FSSD files by an 'info' or 'INFO' resourse which acts as a header. (If someone has the definition of this sound format please send it to me.)
4// Linear 8 bit mono (with Sun header; i.e., the data fork begins '.snd')
Rare, offset binary 8 bits. (If someone has an AU linear file please send it to me.)
5// AIFF and AIFC files (sampled data chunk)
Currently only 8 bit. Can be stereo or mono or compressed. Note that playing a compressed file backwards is a bit bizarre.
Sounds can be fastforwarded; reversed and sped-up; paused and looped. Clicking within the progress bar skips to that portion of the sound. There are some keyboard equivalents like:
Ñ g (go) meaning play
Ñ p (pause)
Ñ f (fast forward)
Ñ b (backwards)
Ñ <right arrow> next file in queue
Ñ <left arrow> previous file in queue
Ñ <down arrow> volume down (unrelated to the control panel setting; A and ╡-law only)
Ñ <up arrow> volume up
Ñ s (stop)
Ñ l (loop)
Ñ u (uh?) sound format change
Ñ command period
If you forget just use balloon help.
Usage: Any number of files (max 100) can be dragged and dropped onto the application icon and SoundMachine will queue and (try to) play every file. For help on how to drive SoundMachine use Balloon Help. If there is no data in the data fork of the file, then the file is just skipped.
New Features: 1. Record AIFF or AIFC files. 2. Popup sample rate selection. 3. Enhanced controls. 4. New aesthetics.
Bugs fixed from Version 1.0:
Application memory size needed to be boosted to 512K if the Speech Manager was used.
Be warely to increase this if needed. Now SoundMachine tries its best to reorganise buffers sizes, etc, to cater for memory. An alert box will tell (especially if Speech is enabled) you to increase the application memory size from the finder if things are hopeless.
The largest file size that could be played was approximately 2^31/200 = 10M (where
200 is the approximate width of the progrss bar in pixels). Now the limit is 2.1G.
All files from the queue playing from the start has been changed to something more
sensible (I can't remember what).
The Preferences file stuff is a lot more robust.
Future Things to do:
1. ADPCM formats; can conversion be done in real time? Reckon so.
2. Numerical time display and sound level display (virtually finished).
3. 'snd ' resource playing capability.
4. Record AU files (half done; really need 16 bit input).
5. Play text files using the Speech voice (not hard).
Information desired:
There will be inevitable bugs.
Please report any bugs or info on any other sound format you want supported (no promises). With bugs try and describe a precisely as possible the nature of the problem. Also forward a binhexed version of the sound file if you think this might be the problem.
SoundMachine is freeware. The author retains the copyright, including the right to alter or sell the program. You may use and copy SoundMachine freely only on a non-commercial basis. SoundMachine cannot be distributed with any commercial package without my permission. You may not alter or sell this program without the author's permission.
Many thanks to a bunch of Northern Hemispherian beta testers including:
This table is actually not the best if higher quality sound is desired. After
conversion of a ╡-law to 16 bit linear, SoundMachine has a facility to scale this number (up) and extract the best 8 bits (with saturation) to send to the speaker.