Example Arts Modules
--------------------

This directory contains example arts modules. The examples fall into
several categories:

1. Effects which can be used as reusable building blocks (named
   effect_*.arts)

2. Standalone examples illustrating how to use each of the built-in
   arts modules (named example_*.arts). These typically send some
   output to a sound card.

3. Instruments built from lower level arts modules (named
   instrument_*.arts). These following a standard convention for
   input and output ports so they can be used by a (future) instrument
   manager.

4. Mixer elements used for creating mixers, including graphical
   controls (named mixer_element_*.arts).

5. Templates for creating new modules (names template_*.arts).

6. Miscellaneous modules that don't fit into any of the above
   categories.

Detailed Description Of Each Module
-----------------------------------

Examples
--------

example_stereo_beep.arts

Generates a 440Hz sine wave tone in the left channel and an 880Hz sine
wave tone in the right channel, and sends it to the sound card
output. This is referenced in the aRts documentation.

example_sine.arts

Generates a 440 Hz sine wave.

example_pulse.arts

Generates a 440 Hz pulse wave with a 20% duty cycle.

example_softsaw.arts

Generates a 440 Hz sawtooth wave.

example_square.arts

Generates a 440 Hz square wave.

example_tri.arts

Generates a 440 Hz triangle wave.

example_noise.arts

Generates white noise.

example_dtmf1.arts

Generates a dual tone by producing 697 and 1209 Hz sine waves, scaling
them by 0.5, and adding them together. This is the DTMF tone for the
digit "1" on a telephone keypad.

example_atan_saturate.arts

Runs a triangle wave through the atan saturate filter.

example_autopanner.arts

Uses an autopanner to pan a 400 Hz sine wave between the left and
right speakers at a 2 Hz rate.

example_brickwall.arts

Scales a sine wave by a factor of 5 and then runs it through a
brickwall limiter.

example_bus.arts

Downlinks from a bus called "Bus" and uplinks to the bus
"out_soundcard" with the left and right channels reversed.

example_cdelay.arts

Downlinks from a bus called "Delay", uplinks the right channel through
a 0.5 second cdelay, and the left channel unchanged. You can use
artscontrol to connect the effect to a sound player and observe the
results.

example_delay.arts

This is the same as example_cdelay but used the delay effect.

example_capture_wav.arts

This uses the Synth_CAPTURE_WAV to save a 400 Hz sine wave as a wav
file. Run the module for a few seconds, and then examine the file
created in /tmp. You can play the file with a player such as kaiman.

example_data.arts

This uses the Data module to generate a constant stream of the value
"3" and sends it to a Debug module to periodically display it. It
also contains a Nil module, illustrating how it can be used to
do nothing at all.

example_adsr.arts

Shows how to create a simple instrument sound using the Envelope Adsr
module, repetitively triggered by a square wave.

example_fm.arts

This uses the FM Source module to generate a 440 Hz sine
wave which is frequency modulated at a 5 Hz rate.

example_freeverb.arts

This connects the Freeverb effect from a bus downlink to a bus
outlink. You can use artscontrol to connect the effect to a sound
player and observe the results.

example_flanger.arts

This implements a simple flanger effect (it doesn't appear
to work yet, though).

example_moog.arts

This structure combines the two channels from a bus into
one, passes it though the Moog VCF filter, and sends
it out the out_soundcard bus.

example_pitch_shift.arts

This structure passes the left channel of sound card data through the
Pitch Shift effect. Adjust the speed parameter to vary the effect.

example_rc.arts

This structure passes a white noise generator though an RC filter and
out to the sound card. By viewing the FFT Scope display in artscontrol
you can see how this varies from an unfiltered noise waveform.

example_sequence.arts

This demonstrates the Sequence module by playing a sequence of notes.

example_shelve_cutoff.arts

This structure passes a white noise generator though a Shelve Cutoff
filter and out to the sound card. By viewing the FFT Scope display in
artscontrol you can see how this varies from an unfiltered noise
waveform.

example_equalizer.arts

This demonstrates the Std_Equalizer module. It boosts the low and high
frequencies by 6 dB.

example_tremolo.arts

This demonstrates the Tremolo effect. It modulates the left and right
channels using a 10 Hz tremolo.

example_xfade.arts

This example mixes 440 and 880 Hz sine waves using a cross fader.
Adjust the value of the cross fader's percentage input from -1 to 1 to
control the mixing of the two signals.

example_pscale.arts

This illustrates the Pscale module (I'm not sure if this is a
meaningful example).

example_play_wav.arts

This illustrates the Play Wave module. You will need to
enter the full path to a .wav file as the filename
parameter.

example_multi_add.arts

This shows the Multi Add module which accepts any number of inputs. It
sums three Data modules which produce inputs of 1, 2, and 3, and
displays the result 6.

Instruments
-----------

instrument_flexible_slide.arts

instrument_flexible_slide_GUI.arts

instrument_fm_horn.arts

instrument_full_square.arts

instrument_moog_vcf_tune.arts

instrument_moog_vcf_tune_GUI.arts

instrument_neworgan.arts

instrument_nokind.arts

instrument_organ2.arts

instrument_simple_sin.arts

instrument_simple_square.arts

instrument_simple_tri.arts

instrument_slide.arts

instrument_slide1.arts

instrument_square.arts

instrument_tri.arts

Effects
-------

effect_delay.arts

effect_delay_alone.arts

effect_flanger_alone.arts

Templates
---------

template_Empty_Structure.arts

template_Instrument.arts

template_Instrument_GUI.arts

template_Mixer_Element.arts

Mixer Elements
--------------

mixer_element_simple.arts

mixer_element_eq.arts

mixer_element_eqfx.arts
