
MODE_1.1 ExternalEnvironment Comments

Older versions of this system, known as the HyperScore ToolKit, strove to be maximally portable across UNIX and PC platforms. The low-level system interface to MIDI and sampled sound I/O were handled as much as possible in Smalltalk (e.g., having a Smalltalk MIDI scheduler), and using a small number of portable user primitives. The C code for these primitives was compiled and linked into a Smalltalk-80 virtual machine by the user, so I did not need to distribute virtual machines.

The MODE's current interface to the operating system for MIDI and sampled sound I/O uses methods like [UnixProcess spawn: cmd_string] or [UnixProcess spawn: cmd_name args: argArray] to execute external programs such as (see ../bin/README):

	play		(local sound file player)
	fromsnd	(sound file reader)
	tosnd		(sound file writer)
	cmusic		(for sound file mixing) 
	uumix		(for sound file mixing)
	pv			(FRM's phase vocoder) 
	lpc			(PL's linear prediction analysis) 
	lpcplay	(linear prediction re-synthesis) 
	cross		(linear prediction cross-synthesis) 
	mplay		(MIDI player output utility)
	mread		(MIDI input-to-ASCII reader).

One can use grep or browse references to class UnixProcess or the senders of its class example messages that fork and execute UNIX processes.

The sampled sound class can read NeXT-, SPARC-, BICSF- and cmixIRCAM-format sound file header and generate NeXT-, SPARC-, and BICSF-formats; in other cases, one can use the "fromsnd" and "tosnd" programs.

A simple set of binaries for the most useful utilities is included in the ../utilities directory.

stp - 5 May 1992
