[英]How to write an audio file that is inside a for loop in python
我必须写一个回显代码。 所以我写了这段代码。 我想知道如何将这些中的每一个添加到单独的 wav 文件中。 有人可以给我一个答案。 提前致谢。
import sounddevice as sd
from scipy.io import wavfile
import numpy as np
from scipy.io.wavfile import write
fs,x=wavfile.read('hello.wav')
amp=1
for i in range (2,6):
nx=(amp/i**3)*x
sd.play(nx,fs)
sd.wait()
write('hello[i]',fs,myrecording)
您需要在这里做两件事:
将myrecording
(未在您的代码片段中定义)替换为您要写入文件的声音数据数组。 检查你的代码让我觉得你想写的实际上是nx
。
您需要为每个写出的文件使用不同的文件名,否则您将只覆盖同一个文件,而您只会留下最后一个写出的文件。 有很多方法可以生成/构造该文件名的字符串,但是根据您所拥有的,我使用了一种方法,它将 label 文件诸如“hello_2.wav”等。
我已经将这两个东西集成到这里的代码中:
import sounddevice as sd
from scipy.io import wavfile
from scipy.io.wavfile import write
fs, x = wavfile.read('hello.wav')
AMP = 1
for i in range(2, 6):
nx = (AMP/i**3) * x
sd.play(nx, fs)
sd.wait()
filename = f'hello_{i}.wav'
write(filename, fs, nx)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.