The stars in parenthesis are an evaluation of the difficulty.
- Add tests. (**)
- A function converting dB to linear scale would be useful to set the sound level. (*)
- Synthesis: a bell (**)
- Compressor/expander effect (**)
- Scientific data sonification: by reading a data file? or by passing an array? (**)
- Simulating a radioactive decay, heard with a Geiger counter (a tribute to Kraftwerk). (**)
- An example using bells.
- A first version of a FORD documentation. (**)
- Transforming comments into FORD comments !>
- The problem of the Shepard–Risset glissando. (***)
- ?
- Add more audio effects
- Flanger (**)
- Phaser (***)
- Chorus (***)
- Reverb (***): https://freeverb3-vst.sourceforge.io/
- Could Doppler effect be used to obtain a Leslie speaker effect?
- Improve the compressor/expander
apply_dynamic_effect()
with attack, release, make-up gain, soft knee. (**)
- A Risset rhythm, ever accelerating. (**)
- Find algorithms for good drums, especially bass drums.
- Physical modelling (***)
- Soustractive synthesis: add filters (FFT?) (***)
- A drum pattern object to ease programming rhythms, inspired by the pattern system used in
example/drum_machine.f90
. Could be also used by ForMIDI. (***) - A note sequencer repeating a pattern. Could be also used by ForMIDI. (***)
- A sequence object, accepting a string with notes, with methods to obtain one by one their parameters (physical or MIDI). Could be also used by ForMIDI. (***)
- The sequence could for example be coded as "A4,Q.,pf;A#4,Q,pf;..." (note, length, intensity).