demos.lib

This library contains a set of demo functions based on examples located in the /examples folder. Its official prefix is dm.

References

Analyzers


(dm.)mth_octave_spectral_level_demo

Demonstrate mth_octave_spectral_level in a standalone GUI.

Usage

_ : mth_octave_spectral_level_demo(BandsPerOctave) : _
_ : spectral_level_demo : _ // 2/3 octave

Filters


(dm.)parametric_eq_demo

A parametric equalizer application.

Usage:

_ : parametric_eq_demo : _

(dm.)spectral_tilt_demo

A spectral tilt application.

Usage

_ : spectral_tilt_demo(N) : _ 

Where:

  • N: filter order (integer)

All other parameters interactive


(dm.)mth_octave_filterbank_demo and (dm.)filterbank_demo

Graphic Equalizer: each filter-bank output signal routes through a fader.

Usage

_ : mth_octave_filterbank_demo(M) : _
_ : filterbank_demo : _

Where:

  • M: number of bands per octave

Effects


(dm.)cubicnl_demo

Distortion demo application.

Usage:

_ : cubicnl_demo : _

(dm.)gate_demo

Gate demo application.

Usage

_,_ : gate_demo : _,_

(dm.)compressor_demo

Compressor demo application.

Usage

_,_ : compressor_demo : _,_

(dm.)moog_vcf_demo

Illustrate and compare all three Moog VCF implementations above.

Usage

_ : moog_vcf_demo : _

(dm.)wah4_demo

Wah pedal application.

Usage

_ : wah4_demo : _

(dm.)crybaby_demo

Crybaby effect application.

Usage

_ : crybaby_demo : _

(dm.)flanger_demo

Flanger effect application.

Usage

_,_ : flanger_demo : _,_

(dm.)phaser2_demo

Phaser effect demo application.

Usage

_,_ : phaser2_demo : _,_

(dm.)tapeStop_demo

Stereo tape-stop effect.

Usage

_,_ : tapeStop_demo : _,_

Reverbs


(dm.)freeverb_demo

Freeverb demo application.

Usage

_,_ : freeverb_demo : _,_

(dm.)stereo_reverb_tester

Handy test inputs for reverberator demos below.

Usage

_,_ : stereo_reverb_tester(gui_group) : _,_

For suppressing the gui_group input, pass it as !. (See (dm.)fdnrev0_demo for an example of its use).


(dm.)fdnrev0_demo

A reverb application using fdnrev0.

Usage

_,_,_,_ : fdnrev0_demo(N,NB,BBSO) : _,_

Where:

  • N: feedback Delay Network (FDN) order / number of delay lines used = order of feedback matrix / 2, 4, 8, or 16 [extend primes array below for 32, 64, ...]
  • NB: number of frequency bands / Number of (nearly) independent T60 controls / Integer 3 or greater
  • BBSO : butterworth band-split order / order of lowpass/highpass bandsplit used at each crossover freq / odd positive integer

(dm.)zita_rev_fdn_demo

Reverb demo application based on zita_rev_fdn.

Usage

si.bus(8) : zita_rev_fdn_demo : si.bus(8)

(dm.)zita_light

Light version of dm.zita_rev1 with only 2 UI elements.

Usage

_,_ : zita_light : _,_

(dm.)zita_rev1

Example GUI for zita_rev1_stereo (mostly following the Linux zita-rev1 GUI).

Only the dry/wet and output level parameters are "dezippered" here. If parameters are to be varied in real time, use smooth(0.999) or the like in the same way.

Usage

_,_ : zita_rev1 : _,_

Reference


(dm.)vital_rev_demo

Example GUI for vital_rev with all parameters exposed.

Usage

_,_ : vital_rev_demo : _,_

(dm.)reverbTank_demo

This is a stereo reverb following the "ReverbTank" example in [1], although some parameter ranges and scaling have been adjusted. It is an unofficial version of the Spin Semiconductor® Reverb. Other relevant instructional material can be found in [2-4].

Usage

_,_ : reverbTank_demo : _,_

References


(dm.)dattorro_rev_demo

Example GUI for dattorro_rev with all parameters exposed and additional dry/wet and output gain control.

Usage

_,_ : dattorro_rev_demo : _,_

(dm.)jprev_demo

Example GUI for jprev with all parameters exposed.

Usage

_,_ : jprev_demo : _,_

(dm.)greyhole_demo

Example GUI for greyhole with all parameters exposed.

Usage

_,_ : greyhole_demo : _,_

Generators


(dm.)sawtooth_demo

An application demonstrating the different sawtooth oscillators of Faust.

Usage

sawtooth_demo : _

(dm.)virtual_analog_oscillator_demo

Virtual analog oscillator demo application.

Usage

virtual_analog_oscillator_demo : _

(dm.)oscrs_demo

Simple application demoing filter based oscillators.

Usage

oscrs_demo : _

(dm.)velvet_noise_demo

Listen to velvet_noise!

Usage

velvet_noise_demo : _

(dm.)latch_demo

Illustrate latch operation.

Usage

echo 'import("stdfaust.lib");' > latch_demo.dsp
echo 'process = dm.latch_demo;' >> latch_demo.dsp
faust2octave latch_demo.dsp
Octave:1> plot(faustout);

(dm.)envelopes_demo

Illustrate various envelopes overlaid, including their gate * 1.1.

Usage

echo 'import("stdfaust.lib");' > envelopes_demo.dsp
echo 'process = dm.envelopes_demo;' >> envelopes_demo.dsp
faust2octave envelopes_demo.dsp
Octave:1> plot(faustout);

(dm.)fft_spectral_level_demo

Make a real-time spectrum analyzer using FFT from analyzers.lib.

Usage

echo 'import("stdfaust.lib");' > fft_spectral_level_demo.dsp
echo 'process = dm.fft_spectral_level_demo;' >> fft_spectral_level_demo.dsp
Mac:
  faust2caqt fft_spectral_level_demo.dsp
  open fft_spectral_level_demo.app
Linux GTK:
  faust2jack fft_spectral_level_demo.dsp
  ./fft_spectral_level_demo
Linux QT:
  faust2jaqt fft_spectral_level_demo.dsp
  ./fft_spectral_level_demo

(dm.)reverse_echo_demo(nChans)

Multichannel echo effect with reverse delays.

Usage

echo 'import("stdfaust.lib");' > reverse_echo_demo.dsp
echo 'nChans = 3; // Any integer > 1 should work here' >> reverse_echo_demo.dsp
echo 'process = dm.reverse_echo_demo(nChans);' >> reverse_echo_demo.dsp
Mac:
  faust2caqt reverse_echo_demo.dsp
  open reverse_echo_demo.app
Linux GTK:
  faust2jack reverse_echo_demo.dsp
  ./reverse_echo_demo
Linux QT:
  faust2jaqt reverse_echo_demo.dsp
  ./reverse_echo_demo
Etc.

(dm.)pospass_demo

Use Positive-Pass Filter pospass() to frequency-shift a sine tone. First, a real sinusoid is converted to its analytic-signal form using pospass() to filter out its negative frequency component. Next, it is multiplied by a modulating complex sinusoid at the shifting frequency to create the frequency-shifted result. The real and imaginary parts are output to channels 1 & 2. For a more interesting frequency-shifting example, check the "Use Mic" checkbox to replace the input sinusoid by mic input. Note that frequency shifting is not the same as frequency scaling. A frequency-shifted harmonic signal is usually not harmonic. Very small frequency shifts give interesting chirp effects when there is feedback around the frequency shifter.

Usage

echo 'import("stdfaust.lib");' > pospass_demo.dsp
echo 'process = dm.pospass_demo;' >> pospass_demo.dsp
Mac:
  faust2caqt pospass_demo.dsp
  open pospass_demo.app
Linux GTK:
  faust2jack pospass_demo.dsp
  ./pospass_demo
Linux QT:
  faust2jaqt pospass_demo.dsp
  ./pospass_demo
Etc.

(dm.)exciter

Psychoacoustic harmonic exciter, with GUI.

Usage

_ : exciter : _

References


(dm.)vocoder_demo

Use example of the vocoder function where an impulse train is used as excitation.

Usage

_ : vocoder_demo : _

(dm.)colored_noise_demo

A coloured noise signal generator.

Usage

colored_noise_demo : _