Procedure | Location | Procedure Type | Description |
---|---|---|---|
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_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_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. |
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 | |
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. |