music.note_with_glissando_vibrato

music.note_with_glissando_vibrato(start_freq=220, end_freq=440, duration=2, vibrato_freq=4, max_pitch_dev=2, alpha=1, alpha_vibrato=1, waveform_table=array([0., 0.0003835, 0.00076699, ..., -0.00115049, -0.00076699, -0.0003835], shape=(16384,)), vibrato_waveform_table=array([0., 0.0003835, 0.00076699, ..., -0.00115049, -0.00076699, -0.0003835], shape=(16384,)), number_of_samples=0, sample_rate=44100)[source]

A note with a pitch transition (a glissando) and a vibrato.

Parameters:
start_freqscalar

The starting frequency.

end_freqscalar

The final frequency.

durationscalar

The duration of the sound in seconds.

vibrato_freqscalar

The frequency of the vibrato oscillations in Hertz.

max_pitch_devscalar

The maximum deviation of pitch of the vibrato in semitones.

alphascalar

An index to begin the transitions faster or slower. If alpha != 1, the transition is not of linear pitch.

alpha_vibratoscalar

An index to distort the pitch deviation of the vibrato.

waveform_tablearray_like

The table with the waveform to synthesize the sound.

vibrato_waveform_tablearray_like

The table with the waveform for the vibrato oscillatory pattern.

number_of_samplesinteger

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

sample_rateinteger

The sample rate.

Returns:
sndarray

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

Parameters:
  • start_freq (float)

  • end_freq (float)

  • duration (float)

  • vibrato_freq (float)

  • max_pitch_dev (float)

  • alpha (float)

  • alpha_vibrato (float)

  • waveform_table (ArrayLike)

  • vibrato_waveform_table (ArrayLike)

  • number_of_samples (int)

  • sample_rate (int)

Return type:

NDArray[float64]

See also

note_with_glissando

A glissando.

note_with_vibrato

A musical note with an oscillation of pitch.

note

A basic musical note without vibrato.

tremolo

A tremolo, an oscillation of loudness.

fade

Fade in and out.

loud

A transition of loudness.

Examples

>>> write_wav_mono(note_with_glissando_vibrato())  # glissando + vibrato
>>> s = horizontal_stack(
...     *[adsr(sonic_vector=note_with_glissando_vibrato(i, j))
...      for i, j in zip([220, 440, 4000], [440, 220, 220])])
>>> write_wav_mono(s)  # writes a file with glissandi and vibratos