在 jupyter 中以 for 循环播放音频

Playing audio in jupyter, in a for loop

我有大量需要注释的训练数据,为此我需要听一堆声音片段并记下我听到的内容。我在笔记本上为此写了一个小脚本。

我的主要问题是 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)

如果有人有循环播放(和收听)一堆音频文件(一次一个,因为我需要循环播放可能有数十万个声音片段)的好解决方案,我将不胜感激!

要在 for 循环中显示音频文件,您需要将 IPython.display.displayAudio 对象一起使用,如下所示:

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))