music.note_with_vibrato_seq_localization

music.note_with_vibrato_seq_localization(freqs=(220, 440, 330), durations=((2, 3), (2, 5, 3), (2, 5, 6, 1, 0.4), (4, 6, 1)), vibratos_freqs=((2, 6, 1), (0.5, 15, 2, 6, 3)), max_pitch_devs=((2, 1, 5), (4, 3, 7, 10, 3)), alpha=((1, 1), (1, 1, 1), (1, 1, 1, 1, 1), (1, 1, 1)), x=(-10, 10, 5, 3), y=(1, 1, 0.1, 0.1), method=('lin', 'exp', 'lin'), waveform_tables=((array([-1., -0.99975586, -0.99951172, ..., -0.99926758, -0.99951172, -0.99975586], shape=(16384,)), array([-1., -0.99975586, -0.99951172, ..., -0.99926758, -0.99951172, -0.99975586], shape=(16384,))), (array([0., 0.0003835, 0.00076699, ..., -0.00115049, -0.00076699, -0.0003835], shape=(16384,)), array([-1., -0.99975586, -0.99951172, ..., -0.99926758, -0.99951172, -0.99975586], shape=(16384,)), array([0., 0.0003835, 0.00076699, ..., -0.00115049, -0.00076699, -0.0003835], shape=(16384,))), (array([0., 0.0003835, 0.00076699, ..., -0.00115049, -0.00076699, -0.0003835], shape=(16384,)), array([0., 0.0003835, 0.00076699, ..., -0.00115049, -0.00076699, -0.0003835], shape=(16384,)), array([0., 0.0003835, 0.00076699, ..., -0.00115049, -0.00076699, -0.0003835], shape=(16384,)), array([0., 0.0003835, 0.00076699, ..., -0.00115049, -0.00076699, -0.0003835], shape=(16384,)), array([0., 0.0003835, 0.00076699, ..., -0.00115049, -0.00076699, -0.0003835], shape=(16384,)))), stereo=True, zeta=0.215, air_temp=20, number_of_samples=0, sample_rate=44100)[source]

A sound with arbitrary meta-vibratos, transitions of frequency and localization.

Parameters:
freqslist of lists of scalars

The frequencies of the note at each end of the transitions.

durationslist of lists of scalars

The durations of the pitch transitions and then of the vibratos and then of the position transitions.

vibratos_freqslist of lists of scalars

The frequencies of each vibrato.

max_pitch_devslist of lists of scalars

The maximum deviation of pitch in the vibratos in semitones.

alphalist of lists of scalars

Indexes to distort the pitch deviations of the transitions and the vibratos.

xlist of lists of scalars

The x positions at each end of the transitions.

ylist of lists of scalars

The y positions at each end of the transitions.

methodlist of strings

An entry for each transition of location: ‘exp’ for exponential and ‘lin’ (default) for linear.

stereobool

If True, returns a (2, nsamples) array representing a stereo sound. Else it returns a simple array for a mono sound.

waveform_tableslist of lists of array_likes

The tables with the waveforms to synthesize the sound and then for the oscillatory patterns of the vibratos. All the tables for f should have the same size.

zetascalar

The distance between the ears in meters.

air_tempscalar

The air temperature in Celsius. (Used to calculate the acoustic velocity.)

number_of_samplesscalar

The number of samples of the sound. If supplied, d is not used.

sample_ratescalar

The sample rate.

Returns:
sndarray

A numpy array where each value is a PCM sample of the sound.

See also

PV

A note with a glissando and a vibrato.

D

A note with a simple linear transition of location.

PVV

A note with a glissando and two vibratos.

VV

A note with a vibrato with two oscillatory patterns.

N

a basic musical note without vibrato.

V

a musical note with an oscillation of pitch.

T

a tremolo, an oscillation of loudness.

F

fade in and out.

L

a transition of loudness.

Notes

Check the functions above for more information about how each feature of this function is implemented.

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(note_with_pitch_vibratos_localization())