pyglet.media.synthesis
- class ADSREnvelope(attack, decay, release, sustain_amplitude=0.5)
一个由攻击、腐烂、暂停、释放四部分组成的封套。
这是一个四部分的ADSR信封。攻击、衰减和释放参数应以秒为单位提供。例如,值0.1将是100ms。IMPORT_AMPLATE参数会影响维持音量。该默认为0.5,但可以在0.0到1.0的范围内提供。
- 参数:
- attack浮动
攻击时间,以秒为单位。
- decay浮动
衰减时间,以秒为单位。
- release浮动
释放时间,以秒为单位。
- sustain_amplitude浮动
维持幅度(音量),从0.0到1.0。
- get_generator(sample_rate, duration)
- class FlatEnvelope(amplitude=0.5)
平坦的包络,提供基本的幅度设置。
- 参数:
- amplitude浮动
波的幅度(体积),从0.0到1.0。超出此范围的值将被钳制。
- get_generator(sample_rate, duration)
- class LinearDecayEnvelope(peak=1.0)
线性腐烂的信封。
该包络在整个波形长度上线性地将幅度从峰值衰减到0。
- 参数:
- peak浮动
包络的初始峰值,从0.0到1.0。超出此范围的值将被钳制。
- 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 SynthesisSource(generator, duration, sample_rate=44800, envelope=None)
合成波形的基类。
- 参数:
- generator未实例化的生成器对象
从(-1,1)产生浮点流的波形产生器
- duration浮动
要生成的音频的长度,以秒为单位。
- sample_rate集成
每秒音频样本数。(CD质量为44100)。
- envelope
pyglet.media.synthesis._Envelope
要应用于波形的可选信封。
- get_audio_data(num_bytes, compensation_time=0.0)
返回 num_bytes 音频数据的字节数。
- is_precise() bool
布尔:这个消息来源是否被认为是准确的。
x
源上的字节数s
如果符合以下条件,则被视为对齐x % s.audio_format.bytes_per_frame == 0
,因此在返回的数据中不会有部分音频帧。源是精确的If-对于对齐的请求
x
字节-它返回:如果
x
或更多字节可用,x
字节。如果不再有足够的字节可用,
r
字节数,其中r < x
和r
是对齐的。
一个消息来源是 not 如果它执行以下任一操作,则精确:
返回值小于
x
的对齐请求的字节数x
字节,但数据仍然保留,因此其他请求将返回AudioData
/NOTNone
。返回的字节数多于请求的字节数。
为对齐的请求返回未对齐的字节数。
可以保证,pyglet的内部永远不会发出未对齐的请求或小于1024字节的请求。
如果此方法返回
False
,pyglet将把源代码包装在一个强制对齐的缓冲区中,从而产生额外的开销。如果重写此方法以返回
True
虽然信号源不符合上述要求,但在最好的情况下,音频播放可能会受到负面影响,在最坏的情况下,可能会发生内存访问违规。- 退货:
布尔:消息来源是否准确。
- class TremoloEnvelope(depth, rate, amplitude=0.5)
一种用于调制幅度的颤音包络。
一种用正弦模式调制波形幅度的颤音包络。可以指定调制的深度和速率。深度以最大幅度的百分比计算。例如:深度为0.2,振幅为0.5将使振幅在0.4和0.5之间波动。
- 参数:
- depth浮动
波动量,从0.0到1.0。
- rate浮动
波动频率,以秒为单位。
- amplitude浮动
峰值幅度(音量),从0.0到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(sample_rate=44800, frequency=440, index=1, modulator=None, envelope=None)
一种正弦波发生器,可以选择用另一台发电机进行调制。
该生成器代表单个调频运算符。它可以单独用作简单的正弦波,也可以由另一个波形发生器进行调制。可以通过这种方式将多个运算符链接在一起。例如::
operator1 = sine_operator(samplerate=44800, frequency=1.22) operator2 = sine_operator(samplerate=44800, frequency=99, modulator=operator1) operator3 = sine_operator(samplerate=44800, frequency=333, modulator=operator2) operator4 = sine_operator(samplerate=44800, frequency=545, modulator=operator3)
- 参数:
- sample_rate集成
每秒音频样本数。(CD质量为44100)。
- frequency浮动
要生成的波形的频率,以赫兹为单位。
- index浮动
调制指数。默认为1
- modulatorsine_operator
一个可选的运算符来调制这个。
- envelope
pyglet.media.synthesis._Envelope
要应用于波形的可选信封。
- triangle_generator(frequency, sample_rate)