scipy 如何在python中编写for循环内的音频文件

pgx2nnw8  于 2022-11-10  发布在  Python
关注(0)|答案(1)|浏览(142)

我必须写一个回显代码。所以我写了这段代码。我想知道如何在一个单独的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)
piv4azn7

piv4azn71#

您需要在此处执行两项操作:
1.将myrecording(代码片段中没有定义)替换为要写出到文件中的声音数据数组。检查代码后,我认为您要写出的实际上是nx
1.您需要为每个写出的文件指定一个不同的文件名,否则您将覆盖同一个文件,只留下最后写出的文件。有许多方法可以生成/构造此文件名的字符串,但基于您所拥有的,我使用了一种将文件标记为“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)

相关问题