繁体   English   中英

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

[英]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)        

您需要在这里做两件事:

  1. myrecording (未在您的代码片段中定义)替换为您要写入文件的声音数据数组。 检查你的代码让我觉得你想写的实际上是nx

  2. 您需要为每个写出的文件使用不同的文件名,否则您将只覆盖同一个文件,而您只会留下最后一个写出的文件。 有很多方法可以生成/构造该文件名的字符串,但是根据您所拥有的,我使用了一种方法,它将 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.

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