代码之家  ›  专栏  ›  技术社区  ›  NicolaiF

在Jupyter中播放音频,在for循环中播放

  •  0
  • NicolaiF  · 技术社区  · 7 年前

    我有大量的培训数据需要注释,为了做到这一点,我需要通过一堆声音片段来听,并记下我听到的内容。我在笔记本上写了一个小剧本。

    我的主要问题是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 回复  |  直到 7 年前
        1
  •  1
  •   Anwarvic    7 年前

    要在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))
    
    推荐文章