Procedure | Location | Procedure Type | Description |
---|---|---|---|
add_bell | signals | Subroutine | Adds a Risset bell sound on the track at t1. Jean-Claude Risset, An Introductory Catalogue Of Computer Synthesized Sounds, Bell Telephone Laboratories Murray Hill, New Jersey, 1969. |
add_broken_chord | music | Subroutine | Writes a broken chord using an array containing the intervals (see the music_common module). It uses plucked strings (Karplus-Strong). For the moment, each note has the same duration. https://en.wikipedia.org/wiki/Arpeggio |
add_chord | music | Subroutine | Writes a chord using an array containing the intervals (see the music_common module) |
add_geiger_ping | radioactivity | Subroutine | Adds the signal of a radioactive decay heard with a Geiger counter. |
add_karplus_strong | signals | Subroutine | Karplus and Strong algorithm (1983), for plucked-string http://crypto.stanford.edu/~blynn/sound/karplusstrong.html https://en.wikipedia.org/wiki/Karplus%E2%80%93Strong_string_synthesis |
add_karplus_strong_drum | signals | Subroutine | Karplus and Strong (1983) algorithm for obtaining a percussion sound. Typically, P is taken to be between 150 and 1000. Caution: this algorithm overwrites what may have existed on the track at the chosen location. You may also want to modify the b parameter to make some weird sounds, somewhere between percussion and guitar... http://crypto.stanford.edu/~blynn/sound/karplusstrong.html https://en.wikipedia.org/wiki/Karplus%E2%80%93Strong_string_synthesis |
add_karplus_strong_drum_stretched | signals | Subroutine | |
add_karplus_strong_stretched | signals | Subroutine | |
add_misc_signal | misc_sounds | Subroutine | Add on the track a signal choosen by its number: |
add_morse_code | morse_code | Subroutine | Adds on the specified track a Morse code translation of the string, starting at time t1. The frequency f must correspond to a high tone, for example 880 Hz. |
add_noise | signals | Subroutine | Add white noise on the track: |
add_note | music | Subroutine | A note of fundamental frequency f with harmonics, based on sine waves. https://en.wikipedia.org/wiki/Harmonic |
add_sawtooth_wave | signals | Subroutine | Adds on the track a sawtooth wave with an ADSR envelope: |
add_sine_wave | signals | Subroutine | Adds on the track a sine wave with an ADSR envelope: |
add_square_wave | signals | Subroutine | Adds on the track a square wave with an ADSR envelope: |
add_triangle_wave | signals | Subroutine | Adds on the track a triangle wave with an ADSR envelope: |
add_weierstrass | signals | Subroutine | Add a fractal signal on the track with an envelope: |
ADSR_level | envelopes | Function | Returns the level in [0, 1] of the ADSR envelope at time t1 < t < t2 |
ADSR_new | envelopes | Subroutine | |
amplitude | shepard_risset_glissando | Function | Envelope of the glissando. A gaussian, plus linear sections at the extremities, to reach the 0 level. |
apply_autopan_effect | audio_effects | Subroutine | Make the sound move from one channel to the other one at a frequency f and with an amplitude AmpLFO in [0 ; 1]. |
apply_delay_effect | audio_effects | Subroutine | Add the sound from "delay" seconds before, and multiply by Amp<1 for dampening. |
apply_fade_in | envelopes | Subroutine | A linear fade in, from relative level 0 to 1: |
apply_fade_out | envelopes | Subroutine | A linear fade out, from relative level 1 to 0: |
apply_fuzz_effect | audio_effects | Subroutine | Apply distorsion with hard clipping https://en.wikipedia.org/wiki/Distortion_(music) |
apply_reverse_effect | audio_effects | Subroutine | Copy the samples at the same t1 but in reverse order: |
apply_tremolo_effect | audio_effects | Subroutine | A sinusoidal modulation of the amplitude of a signal (tremolo) : f : tremolo frequency (typically a few Hz) AmpLFO : tremolo amplitude in [0 ; 1] https://en.wikipedia.org/wiki/Vibrato#Vibrato_and_tremolo/ |
auto_finalize | tape_recorder_class | Subroutine | An automatic finalizer, by security. |
clear_tracks | tape_recorder_class | Subroutine | Erase all tracks on all the channels of the tape. |
close_WAV_file | wav_file_class | Subroutine | Must be called at the end. It normalizes the channels, writes them in the WAV file and closes it. It also deallocate the tape arrays. |
copy_section | tape_recorder_class | Subroutine | Copy section t1...t2 at t3, either on the same track or another one. The content already present at t3 is overwritten. The code suppose that t1 < t2 < t3. |
create_WAV_file | wav_file_class | Subroutine | Create a WAV file with a header: |
finalize | tape_recorder_class | Subroutine | Called by the close_WAV_file() method. |
fit_exp | envelopes | Function | Returns an exponential interpolation y(x) between (x1,y1) and (x2,y2). Useful for computing an exponentially decreasing enveloppe. |
fr | music | Function | Returns the frequency of the note. The note name is composed of two or three characters, for example "A4", "A#4", "Ab4", where the final character is the octave. |
get_name | wav_file_class | Function | Returns the name of the WAV file: |
initialize_frequencies | shepard_risset_glissando | Subroutine | |
linear1 | shepard_risset_glissando | Function | Returns an amplitude rising from 0 to 1, from f1 to f2. And 0 outside. |
linear2 | shepard_risset_glissando | Function | Returns an amplitude falling from 1 to 0, from f1 to f2. And 0 outside. |
mix_tracks | tape_recorder_class | Subroutine | Tracks 1 to tracks-1 are mixed on track 0. |
new | tape_recorder_class | Subroutine | |
string_to_morse | morse_code | Function | This function receives a string and returns its Morse code translation. The input string can contain only alphabetic characters in upper or lower case, digits 0..9 and spaces. All other characters will be considered as spaces. Characters inside words are separated by one space, and words by two spaces. |
test_the_machine | forsynth | Subroutine | A WAV file contains 64, 32 and 16 bits data or metadata, so we need those kinds. |
the_solution | doppler_effect | Function | We solve the Quadratic equation, but physically one and only one solution can exist: we know the sound was emitted before we hear it!> |
weierstrass | signals | Function | https://en.wikipedia.org/wiki/Weierstrass_function |
write_amplitude_envelope | shepard_risset_glissando | Subroutine | Useful for debugging and setting the envelope parameters: |
write_header | wav_file_class | Subroutine | Creates the 44 bytes WAV header and prints some information: |
write_normalized_data | wav_file_class | Subroutine | This method normalizes the sound amplitude on track 0, before saving the left and right channels in the WAV file. |