scipy.io.wavfile.write 当我写入与以前删除的文件具有相同文件名的文件时不起作用



当我使用wavfile.write((和以前使用但已删除的文件名时,而不是用新录制的音频写入wav文件,它似乎复活了已删除的文件。 即使我在不同的目录中录制,也会发生这种情况。 例如,如果我有一次有一个文件"/Users/folder1/test.wav",删除了这段录音,然后录制了一个新文件"/Users/folder2/test.wav",那么这个新录音就是我删除的音频。 现在,如果我完全使用一个新文件名,那就没有问题了。 谁能告诉我发生了什么?

_, data = record()
wavfile.write('/Users/folder1/test.wav', RATE, data)
def record():
"""
Record a word or words from the microphone and 
return the data as an array of signed shorts.
Normalizes the audio, trims silence from the 
start and end, and pads with 0.5 seconds of 
blank sound to make sure VLC et al can play 
it without getting chopped off.
"""
p = pyaudio.PyAudio()
stream = p.open(format=FORMAT, channels=1, rate=RATE,
input=True, output=True,
frames_per_buffer=CHUNK_SIZE)
num_silent = 0
snd_started = False
r = array('h')
while 1:
# little endian, signed short
snd_data = array('h', stream.read(CHUNK_SIZE))
if byteorder == 'big':
snd_data.byteswap()
r.extend(snd_data)
silent = is_silent(snd_data)
if silent and snd_started:
num_silent += 1
elif not silent and not snd_started:
snd_started = True
if snd_started and num_silent > 30:
break
sample_width = p.get_sample_size(FORMAT)
stream.stop_stream()
stream.close()
p.terminate()

r = normalize(r)
r = trim(r)
r = add_silence(r, 0.5)
return sample_width, np.asarray(r)

我是个傻瓜...问题出在iTunes上,而不是代码上。感谢所有看过这篇文章的人。

最新更新