我需要注释大量的训练数据,为此,我需要听一堆声音片段并记下我听到的声音。我在笔记本上为此写了一个小脚本。
我的主要问题是IPython显示循环显示。例如:
import numpy
import IPython.display as ipd
sr = 22050# sample rate
T = 2.0# seconds
t = numpy.linspace(0, T, int(T*sr), endpoint=False)# time variable
x = 0.5*numpy.sin(2*numpy.pi*440*t)
ipd.Audio(x, rate=sr)
将出现一个音频框,我将可以播放正弦波。
但是尝试在for循环中播放任何内容都不会产生任何结果(例如:)
for i in range(10000000):
x = 0.5*numpy.sin(i*numpy.pi*440*t)
ipd.Audio(x, rate=sr)
如果有人有一个很好的解决方案来循环播放(和收听)一堆音频文件(一次,一个,因为我需要循环播放可能成千上万的声音片段),我将非常感激! >
答案 0 :(得分:2)
要在for循环中显示音频文件,您需要将IPython.display.display
与Audio
对象一起使用,如下所示:
import numpy
import IPython.display as ipd
for i in range(10000000):
x = 0.5*numpy.sin(i*numpy.pi*440*t)
ipd.display(ipd.Audio(x, rate=sr))