Я пытаюсь создать один аудиофайл из нескольких файлов WAV.Используя tkinter и pygame.mixer, я преобразовал нажатия клавиш в словарь, в котором хранятся аудиосэмплы и время их вызова.{sound1:10000, sound2:10001, ect...}
До сих пор я придумал способ добавить блоки молчания:
def change_speed(seconds):
'''modifies the metronome beat to loop at different speeds. This is done by creating a new wav file.'''
#original wav file is 0.1 seconds long, so subtract that from time added
seconds-=0.1
#read the original wav file
original = scipy.io.wavfile.read('Downloads\\sounds\\metronome_original.wav')
#use sample rate of the original file (should be 44100) to create a new block of silence
add_secs = np.array([[0]]*round(original[0]*seconds))
add_secs.dtype='int16'
#concatenate new block to original
new = np.concatenate((original[1], add_secs))
scipy.io.wavfile.write('Downloads\\sounds\\metronome.wav', original[0], new)
Есть ли способ объединить перекрывающиеся массивы, такие как [[0,0,1,1,2,0], [0,0,0,3,2,1]]
, в один файл WAV?
Обновление: если быть более точным, я пытаюсь объединить два аудиосэмпла, которые перекрываются во время воспроизведения, например, диджей, который начинает играть одну песню до того, как другая закончится.Есть ли способ сделать это с помощью целочисленных или байтовых массивов, созданных в Python?Вот так: