在for循环中以jupyter播放音频

时间:2019-01-29 09:21:52

标签: python audio jupyter-notebook ironpython

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

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

如果有人有一个很好的解决方案来循环播放(和收听)一堆音频文件(一次,一个,因为我需要循环播放可能成千上万的声音片段),我将非常感激! >

1 个答案:

答案 0 :(得分:2)

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