Я использую язык программирования Python, я хочу присоединиться в wav файл один в конце другого wav файла? У меня есть Вопрос на форуме, которые предлагают, как объединить два wav файла т.е. добавить содержание одного wav файла при определенном смещении, но я хочу присоединиться к двум wav файлам друг в конце друга...
И также у меня был prob проигрывание моего собственного wav файла, с помощью winsound модуль.. Я смог играть звук, но использование time.sleep в течение определенного времени прежде, чем играть любой звук окон, остроумие недостатка, которое это - то, если я хотел играть звук дольше thn time.sleep (N), N секунда также, окна, звучит как wil перекрытие JST после того, как N секунда играют, winsound без обозначения даты останавливаются..
Кто-либо может помочь?? предложите тому, как решить эти prob...
Заранее спасибо
Вы можете использовать аудиолабораторию
:
import audiolab, scipy
a, fs, enc = audiolab.wavread('file1.wav')
b, fs, enc = audiolab.wavread('file2.wav')
c = scipy.vstack((a,b))
audiolab.wavwrite(c, 'file3.wav', fs, enc)
Python поставляется с модулем wave , который сделает то, что вам нужно. Пример ниже работает, когда детали файлов (моно или стерео, частота кадров и т. Д.) Одинаковы:
import wave
infiles = ["sound_1.wav", "sound_2.wav"]
outfile = "sounds.wav"
data= []
for infile in infiles:
w = wave.open(infile, 'rb')
data.append( [w.getparams(), w.readframes(w.getnframes())] )
w.close()
output = wave.open(outfile, 'wb')
output.setparams(data[0][0])
output.writeframes(data[0][1])
output.writeframes(data[1][1])
output.close()
Я использую библиотеку SOX [1], а затем вызываю ее как
>>> import subprocess
>>> sound_output_path = /tmp
>>> sox_filenames = ['file.wav', 'file1.wav']
>>> subprocess.call(['sox'] + sox_filenames + ['%s/out.wav' % sound_output_path])