music.trill¶
- music.trill(freqs=(440, 493.8833012561241), notes_per_second=17, duration=5, sample_rate=44100)[source]¶
Makes a trill.
This is just a simple function for exemplifying the synthesis of trills. The user is encouraged to make its own functions for trills and set e.g. ADSR envelopes, tremolos and vibratos as intended.
- Parameters:
- freqsiterable
ofscalars Frequencies to the iterated.
- notes_per_secondscalar
The number of notes per second. It may be one or fewer, for notes of a second or longer.
- durationscalar
The maximum duration of the trill in seconds.
- sample_rate
integer The sample rate. Each note is shaped by
adsr()with its default attack, decay and sustain and a 10 ms release, all timed at this rate.
- freqsiterable
- Returns:
- s
ndarray The PCM samples of the resulting sound.
- s
- Raises:
ValueErrorIf
notes_per_secondis not positive, or is abovesample_rate. Each note of the trill lastssample_rate / notes_per_secondsamples, so a rate of zero divided, and one above the sample rate left notes shorter than a sample.
See also
note_with_vibratoA note with vibrato.
note_with_vibratos_glissandosa note with an arbitrary sequence of pitch transition and a meta-vibrato.
tremoloA tremolo envelope.
Notes
Cite the following article whenever you use this function.
References
[1]Fabbri, Renato, et al. “Musical elements in the discrete-time representation of sound.” arXiv preprint arXiv:abs/1412.6853 (2017)
Examples
>>> write_wav_mono(trill())