$Id: README,v 1.9 2003/09/19 13:17:49 andete Exp $

lemux - LADSPA instrument plugins based on openMSX devices

(c) 2003 Joost Yervante Damad <joost@lumatec.be>

Currently the following plugins are provided:

2061: CV to Frequency convertor
===============================

	Plugin Name: "CV to Frequency convertor"
	Plugin Label: "CVFreq"
	Plugin Unique ID: 2061

A simple plugin that is useful when using the others in a modular
synth that uses Frequency in Control Voltage (1V/Octave) instead
of Frequency in Hz. In particular, the author uses it in alsamodular.

Ports:
	"Freq (CV)" input, audio, 0 to 10, default 0
	"Freq (Hz)" output, audio, 0 to 0.5*srate, default 440, logarithmic


2062: SCC Channel
=================

	Plugin Name: "SCC channel"
	Plugin Label: "SCC"
	Plugin Unique ID: 2062

This emulates one channel of Konami's SCC chip, which works with
8 bit, 32 byte samples. A large collection of "preset" samples are
provided, with many thanks to Patriek Lesparre & Maarten ter Huurne
who provided me with readily dumped samples and valuable hints on how
to obtain more samples.
More info about this chip:
http://www.msxnet.org/tech/scc

Ports:
	"Freq (Hz)" input, audio, 0 to 0.5*srate, default 440, logarithmic
	"Amplitude" input, control, 0 to ..., default 1, logarithmic

	"Preset" input, control, 0 to 341, default 0, integer
		=> Selects the instrument preset, a generated list of presets is available
		   in the scc_presets.txt file

	"Output" output, audio
		=> [-1,1]

2063: PSG Channel
=================

	Plugin Name: "PSG channel"
	Plugin Label: "PSG"
	Plugin Unique ID: 2063

This emulates one channel of the AY-3-8910, better known as the PSG,
the standard soundchip in the MSX1(and higher). It uses simple square
waves and optional noise by turning the audio on/off. It also features
Amplitude modulation with 16 steps, and the shape is also configurable.
More info about this chip:
http://www.howell1964.freeserve.co.uk/parts/ay3891x_datasheet.htm

Ports:

	"Freq (Hz)" input, audio, 0 to 0.5*srate, default 440, logarithmic
	"Amplitude" input, control, 0 to 15, default 0

	"Noise Control" input, control, 0 to 1, default 0
		=> controls the shape of the noise

	"Audio On" input, control, toggled, default 1
		=> enables square wave audio signal
	
	"Noise On" input, control, toggled, default 0
		=> enables noise

	"AM On" input, control, toggled, default 0
		=> enables Amplitude Modulation, which overrides the "Amplitude
		   setting above

	"AM Freq (Hz)" input, control, 0.213361 to 13982.6, default 1, logarithmic

	"AM Env CONT" input, control, toggled, default 0
	"AM Env ATT" input, control, toggled, default 0
	"AM Env ALT" input, control, toggled, default 0
	"AM Env HOLD" input, control, toggled, default 0
		=> these 4 parameters make the shape of the AM envelope

			Con Att Alt Hol
			0ff On  xxx xxx  \___
			Off Off xxx xxx  /___
			On  On  Off Off  \\\\
			On  On  Off On   \___
			On  On  On  Off  \/\/
			On  On  On  On   \
			On  Off Off Off  ////
			On  Off Off On   /
			On  Off On  Off  /\/\
			On  Off On  On   /___


	"Output" output, audio

	"Gate" input, audio, 0 to 1, default 0
		=> this input port can be connected to a gate of a midi module in
		   order to reset the AM Env shape when a new key is pressed

2064: MUSIC Channel
===================

	Plugin Name: "MUSIC channel"
	Plugin Label: "MUSIC"
	Plugin Unique ID: 2064

This emulates a channel of the YM2413 2-operator FM sound generator type OPLL.
More info about this chip:
http://www.smspower.org/maxim/forumstuff/ym2413am/

Ports:

	"Freq (Hz)" input, audio, 0 to 0.5*srate, default 440, logarithmic
	"Amplitude" input, control, 0 to 15, default 0
	"Preset" input, control, 0 to 15, default 0, integer
		=> 0: Original (custom, use other ports to configure!)
		   1-15: "default instruments":
			1 Violin
			2 Guitar
			3 Piano
			4 Flute
			5 Clarinet
			6 Oboe
			7 Trumpet
			8 Organ
			9 Horn
			A Synthesizer
			B Harpsichord
			C Vibraphone
			D Synthesizer Bass
			E Acoustic Bass
			F Electric Guitar

	"Sustain" input, control, toggled, default 0
		=> When this bit is '1', the Release Rate with the key off will be 5

	"Carrier AM" input, control, toggled, default 0
		=> Amplitude Modulation: the frequency is 3.7 Hz
	
	"Carrier Vibrato" input, control, toggled, default 0
		=> vibrato: the frequency is 6.4 Hz

	"Carrier Percussive" input, control, toggled, default 0
		=> switching between sustained tone and Percussive tone
	
	"Carrier Rate Key Scale" input, control, toggled, default 0
		=> When on, ADSR is scaled going faster when freq is higher
	
	"Carrier Wave Multiply" input, control, 0 to 15, default 0, integer
	"Carrier Key Scale Level" input, control, 0 to 3, default 0, integer
		=> In key scale mode, the level of attenuation increases as pitch
		   rises, to 1.5 dB/oct, 3 dB/oct, 6 dB/oct, and 0 dB/oct

	"Carrier Distortion Waveform" input, control, toggled, default 0
		=> The modulated wave is rectified to half wave

	"Carrier Env A" input, control, 0 to 15, default 0, integer
	"Carrier Env D" input, control, 0 to 15, default 0, integer
	"Carrier Env S" input, control, 0 to 15, default 0, integer
	"Carrier Env R" input, control, 0 to 15, default 0, integer
		=> ADSR volume for Carrier waveform

	"Modulator AM" input, control, toggled, default 0
		=> Amplitude Modulation: the frequency is 3.7 Hz

	"Modulator Vibrato" input, control, toggled, default 0
		=> vibrato: the frequency is 6.4 Hz

	"Modulator Percussive" input, control, toggled, default 0
		=> switching between sustained tone and Percussive tone

	"Modulator Rate Key Scale" input, control, toggled, default 0
		=> When on, ADSR is scaled going faster when freq is higher

	"Modulator Wave Multiply" input, control, 0 to 15, default 0, integer
		=> The frequencies of the carrier wave and the modulated wave are
		   controlled according to the following multiplying factors:

			0	=> 1/2
			1	=> 1
			2	=> 2
			3	=> 3
			4	=> 4
			5	=> 5
			6	=> 6
			7	=> 7
			8	=> 8
			9	=> 9
			10	=> 10
			11	=> 10
			12	=> 12
			13	=> 12
			14	=> 15
			15	=> 15

	"Modulator Key Scale Level" input, control, 0 to 3, default 0, integer
		=> ensures that the output level of natural instruments lowers
		   as the freq of sound rises

	"Modulator Total Level" input, control, 0 to 63, default 0, integer
	"Modulator Distortion Waveform" input, control, toggled, default 0
		=> The modulated wave is rectified to half wave

	"Modulator FM feedback" input, control, 0 to 7, default 0, integer
		=> For the modulated wave do feedback FM modulation

	                 0 1     2    3    4    5   6    7
	Modulation index 0 PI/16 PI/8 PI/4 PI/2 PI  2PI  4PI

	"Modulator Env A" input, control, 0 to 15, default 0, integer
	"Modulator Env D" input, control, 0 to 15, default 0, integer
	"Modulator Env S" input, control, 0 to 15, default 0, integer
	"Modulator Env R" input, control, 0 to 15, default 0, integer
		=> ADSR volume for Modulator waveform

	"Output" output, audio

	"Gate" input, audio, 0 to 1, default 0
		=> this input port has to be connected to a gate of a midi module in
		   order to reset the ADSR envelopes

2065: MUSIC Drum instruments
============================

	Plugin Name: "MUSIC Drum instruments"
	Plugin Label: "MUSICDrum"
	Plugin Unique ID: 2065

This emulates the buildin drum sounds of the YM2413 2-operator FM sound generator
type OPLL. More info about this chip:
http://www.smspower.org/maxim/forumstuff/ym2413am/

Ports:
	"Freq (Hz) BD" input, control, 0 to 0.5*srate, default 440, logarithmic
	"Freq (Hz) SD,T-CY,HH" input, control, 0 to 0.5*srate, default 440, logarithmic
	"Freq (Hz) TOM,T-CY,HH" input, control, 0 to 0.5*srate, default 440, logarithmic
	"Amplitude BD" input, control, 0 to 15, default 0
	"Amplitude SD,T-CY,HH" input, control, 0 to 15, default 0
	"Amplitude TOM,T-CY,HH" input, control, 0 to 15, default 0
		=> Freq and Amp are not used yet!

	"Output" output, audio

	"Gate Bass Drum" input, audio, 0 to 1, default 0
	"Gate Snare Drum" input, audio, 0 to 1, default 0
	"Gate Tom-Tom" input, audio, 0 to 1, default 0
	"Gate Top Cymbal" input, audio, 0 to 1, default 0
	"Gate High-Hat" input, audio, 0 to 1, default 0
		=> gates for triggering the individual sounds

2066: SID Chip
==============

	Plugin Name: "SID chip"
	Plugin Label: "SID"
	Plugin Unique ID: 2066

This emulates the famous C64 audio chip SID aka MOS6581 (and MOS8580).
The emulation uses the "resid" engine from sidplay2.

Ports:

	"Amplitude" input, control, 0 to 15, default 0
	"Freq (Hz) 1" input, audio, 0 to 0.5*srate, default 440, logarithmic
	"Freq (Hz) 2" input, audio, 0 to 0.5*srate, default 440, logarithmic
	"Freq (Hz) 3" input, audio, 0 to 0.5*srate, default 440, logarithmic
	"MOS8580" input, control, toggled, default 0
	"Filter On" input, control, toggled, default 1
	"Filter External On" input, control, toggled, default 0
	"Filter LP" input, control, toggled, default 0
	"Filter BP" input, control, toggled, default 0
	"Filter HP" input, control, toggled, default 0
	"Filter Cutoff Freq" input, control, 0 to 2047, default 0
	"Filter Resonance" input, control, 0 to 15, default 0
	"3 Off" input, control, toggled, default 0
	"Noise 1" input, control, toggled, default 0
	"Pulse 1" input, control, toggled, default 0
	"Pulse Width 1" input, control, 0 to 4095, default 0
	"Saw 1" input, control, toggled, default 0
	"Tri 1" input, control, toggled, default 0
	"Ringmod 1" input, control, toggled, default 0
	"Sync 1" input, control, toggled, default 0
	"Filter On 1" input, control, toggled, default 0
	"ENV A 1" input, control, 0 to 15, default 0
	"ENV D 1" input, control, 0 to 15, default 0
	"ENV S 1" input, control, 0 to 15, default 0
	"ENV R 1" input, control, 0 to 15, default 0
	"Noise 2" input, control, toggled, default 0
	"Pulse 2" input, control, toggled, default 0
	"Pulse Width 2" input, control, 0 to 4095, default 0
	"Saw 2" input, control, toggled, default 0
	"Tri 2" input, control, toggled, default 0
	"Ringmod 2" input, control, toggled, default 0
	"Sync 2" input, control, toggled, default 0
	"Filter On 2" input, control, toggled, default 0
	"ENV A 2" input, control, 0 to 15, default 0
	"ENV D 2" input, control, 0 to 15, default 0
	"ENV S 2" input, control, 0 to 15, default 0
	"ENV R 2" input, control, 0 to 15, default 0
	"Noise 3" input, control, toggled, default 0
	"Pulse 3" input, control, toggled, default 0
	"Pulse Width 3" input, control, 0 to 4095, default 0
	"Saw 3" input, control, toggled, default 0
	"Tri 3" input, control, toggled, default 0
	"Ringmod 3" input, control, toggled, default 0
	"Sync 3" input, control, toggled, default 0
	"Filter On 3" input, control, toggled, default 0
	"ENV A 3" input, control, 0 to 15, default 0
	"ENV D 3" input, control, 0 to 15, default 0
	"ENV S 3" input, control, 0 to 15, default 0
	"ENV R 3" input, control, 0 to 15, default 0
	"Output" output, audio
	"Gate 1" input, audio, 0 to 1, default 0
	"Gate 2" input, audio, 0 to 1, default 0
	"Gate 3" input, audio, 0 to 1, default 0


