public void randomize() {
		p_base_freq = Math.pow(frnd(2.0f) - 1.0f, 2.0f);
		if (rnd(1) > 0)
			p_base_freq = Math.pow(frnd(2.0f) - 1.0f, 3.0f) + 0.5f;
		p_freq_limit = 0.0f;
		p_freq_ramp = Math.pow(frnd(2.0f) - 1.0f, 5.0f);
		if (p_base_freq > 0.7f && p_freq_ramp > 0.2f)
			p_freq_ramp = -p_freq_ramp;
		if (p_base_freq < 0.2f && p_freq_ramp < -0.05f)
			p_freq_ramp = -p_freq_ramp;
		p_freq_dramp = Math.pow(frnd(2.0f) - 1.0f, 3.0f);
		p_duty = frnd(2.0f) - 1.0f;
		p_duty_ramp = Math.pow(frnd(2.0f) - 1.0f, 3.0f);
		p_vib_strength = Math.pow(frnd(2.0f) - 1.0f, 3.0f);
		p_vib_speed = frnd(2.0f) - 1.0f;
		p_env_attack = Math.pow(frnd(2.0f) - 1.0f, 3.0f);
		p_env_sustain = Math.pow(frnd(2.0f) - 1.0f, 2.0f);
		p_env_decay = frnd(2.0f) - 1.0f;
		p_env_punch = Math.pow(frnd(0.8f), 2.0f);
		if (p_env_attack + p_env_sustain + p_env_decay < 0.2f) {
			p_env_sustain += 0.2f + frnd(0.3f);
			p_env_decay += 0.2f + frnd(0.3f);
		}
		p_lpf_resonance = frnd(2.0f) - 1.0f;
		p_lpf_freq = 1.0f - Math.pow(frnd(1.0f), 3.0f);
		p_lpf_ramp = Math.pow(frnd(2.0f) - 1.0f, 3.0f);
		if (p_lpf_freq < 0.1f && p_lpf_ramp < -0.05f)
			p_lpf_ramp = -p_lpf_ramp;
		p_hpf_freq = Math.pow(frnd(1.0f), 5.0f);
		p_hpf_ramp = Math.pow(frnd(2.0f) - 1.0f, 5.0f);
		p_pha_offset = Math.pow(frnd(2.0f) - 1.0f, 3.0f);
		p_pha_ramp = Math.pow(frnd(2.0f) - 1.0f, 3.0f);
		p_repeat_speed = frnd(2.0f) - 1.0f;
		p_arp_speed = frnd(2.0f) - 1.0f;
		p_arp_mod = frnd(2.0f) - 1.0f;
	}