繁体   English   中英

在Python中更新/附加到.wav文件

[英]Updating/appending to a .wav file in Python

我的Python脚本中包含PCM音频帧流,并且能够将这些帧的块保存为.wav文件,如下所示:

def update_wav():
    filename = "test.wav"
    wav_file = wave.open(filename, "wb")
    n_frames = len(audio)

    wav_file.setparams((n_channels, sample_width, sample_rate, n_frames, comptype, compname))
    for sample in audio:
        wav_file.writeframes(struct.pack('h', int(sample * 32767.0)))
    wav_file.close()

但是,我希望随着新框架的加入而不断更新。是否有办法以附加到现有.wav文件的方式写入框架? 现在,我只能完成覆盖。

我发现使用SciPy可以做到这一点,实际上这似乎是他们编写方法的默认功能。

import scipy.io.wavfile

def update_wav():
    numpy_data = numpy.array(audio, dtype=float)
    scipy.io.wavfile.write("test.wav", 8000, numpy_data)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM