librosax.tone

tone(frequency: float, *, sr: float = 22050, length: int | None = None, duration: float | None = None, phi: float | None = None) Array[source]

Construct a pure tone (cosine) signal at a given frequency.

Parameters

frequencyfloat > 0

frequency

srnumber > 0

desired sampling rate of the output signal

lengthint > 0

desired number of samples in the output signal. When both duration and length are defined, length takes priority.

durationfloat > 0

desired duration in seconds. When both duration and length are defined, length takes priority.

phifloat or None

phase offset, in radians. If unspecified, defaults to -jnp.pi * 0.5.

Returns

tone_signaljnp.ndarray [shape=(length,), dtype=float64]

Synthesized pure sine tone signal

Raises

ParameterError
  • If frequency is not provided.

  • If neither length nor duration are provided.

Examples

Generate a pure sine tone A4

>>> tone = librosax.tone(440, duration=1, sr=22050)

Or generate the same signal using length

>>> tone = librosax.tone(440, sr=22050, length=22050)