music.note_with_phase

music.note_with_phase(freq=220, duration=2, phase=0, waveform_table=array([-1., -0.99975586, -0.99951172, ..., -0.99926758, -0.99951172, -0.99975586], shape=(16384,)), number_of_samples=0, sample_rate=44100)[source]

Synthesize a basic musical note with a phase.

It’s useful in more complex synthesis routines. For synthesizing a musical note directly, you probably want to use note() and disconsider the phase.

Parameters:
freqscalar

The frequency of the note in Hertz.

durationscalar

The duration of the note in seconds.

phasescalar

The phase of the wave in radians.

waveform_tablearray_like

The table with the waveform to synthesize the sound.

number_of_samplesinteger

The number of samples in the sound. If not 0, d is ignored.

sample_rateinteger

The sample rate.

Returns:
resultndarray

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

See also

synth_note

A basic note.

V

A note with vibrato.

T

A tremolo envelope.

Notes

In the MASS framework implementation, for a sound with a vibrato (or FM) to be synthesized using LUT, the vibrato pattern is considered when performing the lookup calculations.

The tremolo and AM patterns are implemented as separate amplitude envelopes.

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(synth_note_with_phase())  # writes a WAV file of a note
>>> s = H([synth_note_with_phase(i, j) for i, j in zip([200, 500, 100],
                                                       [2, 1, 2])])
>>> s2 = synth_note_with_phase(440, 1.5, waveform_table=Sa)