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)¶