Updating/appending 到 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)
我的 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)