Я предлагаю создавать экземпляры AudioSegment()
объектов, например, так:
from pydub import AudioSegment
sound = AudioSegment(
# raw audio data (bytes)
data=b'…',
# 2 byte (16 bit) samples
sample_width=2,
# 44.1 kHz frame rate
frame_rate=44100,
# stereo
channels=2
)
addendum: я вижу, что вы генерируете звук в своем фрагменте связанного кода.Возможно, вас заинтересуют звуковые генераторы pydub
from pydub.generators import Sine
from pydub import AudioSegment
sine_generator = Sine(300)
# 0.1 sec silence
silence = AudioSegment.silent(duration=100)
dot = sine_generator.to_audio_segment(duration=150)
dash = sine_generator.to_audio_segment(duration=300)
signal = [dot, dot, dot, dash, dash, dash, dot, dot, dot]
output = AudioSegment.empty()
for piece in signal:
output += piece + silence
и одно последнее замечание: итеративное расширение AudioSegment
может привести к замедлению.Возможно, вы захотите сделать что-то вроде этот пример микшера