Program | Source File | Description |
---|---|---|
all_signals | all_signals.f90 | Plays sequentially each type of available signal. |
arpeggios | arpeggios.f90 | Arpeggios played in various ways using the circles of fifths https://en.wikipedia.org/wiki/Arpeggio |
blues | blues.f90 | A random walk on a blues scale. |
chords_and_melody | chords_and_melody.f90 | A sequence of synth chords is repeated, and the corresponding notes are played randomly by plucked strings. |
demo_effects | demo_effects.f90 | All available audio effects are applied sequentially on a chord sequence. |
doppler_effect | doppler_effect.f90 | A simulation of Doppler effect, with a car passing in front of you. https://fr.wikipedia.org/wiki/Effet_Doppler The Observer is static at the origin, the car is Moving along x at a constant velocity v ^ y | *M*y0**> | ----x0-----------------O-------------------> x | The frequency perceived by the observer (Doppler effect) is fobs = f / (1 - vr/c) but we don't need to compute it. The signal heard by the observer at tobs was emitted earlier by the car at t, from a distance r(t): tobs = t + r(t) / c By developing r(t) we can finally obtain a quadratic equation: (c*2-v2) * t2 - (2tobsc2 + 2x0v) t + (tobs2 * c2 - x02 - y*2) = 0 The time t is the unique physical solution of that equation: |
drone_music | drone_music.f90 | Experimental drone music. |
drum_machine | drum_machine.f90 | A rhythm following a pattern stored in an array. |
four_thirty_three | four_thirty_three.f90 | A minimalist Forsynth file! And a double tribute to John Cage and Joy Division. |
misc_sounds | misc_sounds.f90 | Miscellaneous signals, especially obtained by frequency or phase modulation. A WAV file is created for each sound. |
multiplication_bells | multiplication_bells.f90 | An example with a lot of bells, either periodic or random. https://en.wikipedia.org/wiki/Campanology |
radioactivity | radioactivity.f90 | Radioactive decay of a population of atoms. A tribute to Kraftwerk. Chords are played on a 2nd track and Morse code on a third track. |
shepard_risset_glissando | shepard_risset_glissando.f90 | A Shepard-Risset glissando, giving the illusion of an ever increasing or decreasing pitch. It is the continuous version of the Shepard scale. Obtaining a good glissando is not easy, as you need to understand that each sin(omega * t) is in fact sin(omega(t) * t). Using a common time for all causes problems as t increases. In this version, each new component has its own time: sin(omega(tj) * tj). https://en.wikipedia.org/wiki/Shepard_tone |
shepard_scale | shepard_scale.f90 | A Shepard scale, giving the illusion of an ever increasing pitch in the first half of the tape and an ever decreasing pitch in the 2nd half. Shepard, Roger N. "Circularity in Judgments of Relative Pitch", The Journal of the Acoustical Society of America 36, no. 12, (December 1, 1964): 2346–53. https://doi.org/10.1121/1.1919362. https://en.wikipedia.org/wiki/Shepard_tone |
sonify | sonify.f90 | A command to sonify a data file. Example: $ fpm run sonify -- -i mydata.txt (supposing the file is in the main directory of ForSynth) You can get help by typing: $ fpm run sonify -- --help |