/////////////////////////////////////////////
// Explo 4 D - Short version, less rumble
// Copyright (C) 2007 David Olofson
/////////////////////////////////////////////

w_format target, MONO16, 16000;
w_blank target, 16000, 0;

procedure ax(a)
{
	w_env AMPLITUDE,
			0,	a,
			.25,	a/2,
			.25,	a/4,
			.25,	a/8,
			.25,	0;
}

procedure f(tp, f0, res)
{
	w_env FREQUENCY, f0;
	w_env AMPLITUDE, res;
	w_filter target, tp;
}

// Rumble
w_env AMPLITUDE, .5;
w_env FREQUENCY, 150;
w_osc target, NOISE;

// Crackle
ax 1;
w_env FREQUENCY, 300;
w_osc target, NOISE;
w_env FREQUENCY, 50;
w_osc target, NOISE;

// Attack
w_env AMPLITUDE,
		0,	.7,
		.5,	.1;
w_env FREQUENCY, 6000;
w_osc target, NOISE;
w_env FREQUENCY, 2000;
w_osc target, NOISE;

// Mod
w_env AMPLITUDE, 1;
w_env FREQUENCY, 25;
w_env BALANCE,
		0,	.5,
		.5,	.2;
w_osc target, NOISE, MUL;

// Resonances
f PEAK_12, 110, 10;
f PEAK_12, 220, 10;
f PEAK_12, 400, 5;
f PEAK_12, 1700, 3;
f PEAK_12, 3000, 2;

// Treble damping
w_env FREQUENCY,
		0,	16000,
		.25,	4000,
		.75,	1000;
w_filter target, LOWPASS_6;
w_env FREQUENCY, 60;
w_env AMPLITUDE, 1;
w_env MOD1,
		0,	1,
		.2,	.2,
		.8,	0;
w_filter target, LOWPASS_12;

w_env AMPLITUDE,
		0, 	1,
		.3,	1,
		.7,	0;
w_gain target;
