pyglet.media.synthesis

class ADSREnvelope(attack, decay, release, sustain_amplitude=0.5)

A four part Attack, Decay, Suspend, Release envelope.

This is a four part ADSR envelope. The attack, decay, and release parameters should be provided in seconds. For example, a value of 0.1 would be 100ms. The sustain_amplitude parameter affects the sustain volume. This defaults to a value of 0.5, but can be provided on a scale from 0.0 to 1.0.

Parameters:
attack : float

The attack time, in seconds.

decay : float

The decay time, in seconds.

release : float

The release time, in seconds.

sustain_amplitude : float

The sustain amplitude (volume), from 0.0 to 1.0.

get_generator(sample_rate, duration)
class Encoder(operator, duration, frequency=440, sample_rate=44800, envelope=None)
class FlatEnvelope(amplitude=0.5)

A flat envelope, providing basic amplitude setting.

Parameters:
amplitude : float

The amplitude (volume) of the wave, from 0.0 to 1.0. Values outside this range will be clamped.

get_generator(sample_rate, duration)
class LinearDecayEnvelope(peak=1.0)

A linearly decaying envelope.

This envelope linearly decays the amplitude from the peak value to 0, over the length of the waveform.

Parameters:
peak : float

The Initial peak value of the envelope, from 0.0 to 1.0. Values outside this range will be clamped.

get_generator(sample_rate, duration)
class Sawtooth(duration, frequency=440, sample_rate=44800, envelope=None)
class Silence(duration, frequency=440, sample_rate=44800, envelope=None)
class Sine(duration, frequency=440, sample_rate=44800, envelope=None)
class Square(duration, frequency=440, sample_rate=44800, envelope=None)
class TremoloEnvelope(depth, rate, amplitude=0.5)

A tremolo envelope, for modulation amplitude.

A tremolo envelope that modulates the amplitude of the waveform with a sinusoidal pattern. The depth and rate of modulation can be specified. Depth is calculated as a percentage of the maximum amplitude. For example: a depth of 0.2 and amplitude of 0.5 will fluctuate the amplitude between 0.4 an 0.5.

Parameters:
depth : float

The amount of fluctuation, from 0.0 to 1.0.

rate : float

The fluctuation frequency, in seconds.

amplitude : float

The peak amplitude (volume), from 0.0 to 1.0.

get_generator(sample_rate, duration)
class Triangle(duration, frequency=440, sample_rate=44800, envelope=None)
class WhiteNoise(duration, frequency=440, sample_rate=44800, envelope=None)
composite_operator(*operators)
noise_generator(frequency, sample_rate)
pulse_generator(frequency, sample_rate, duty_cycle=50)
sawtooth_generator(frequency, sample_rate)
silence_generator(frequency, sample_rate)
sine_generator(frequency, sample_rate)
sine_operator(samplerate=44800, frequency=440, index=1, modulator=None, envelope=None)
triangle_generator(frequency, sample_rate)