Воспроизведение аудио в Jupyter, в течение цикла - PullRequest
0 голосов
/ 29 января 2019

У меня есть тонна тренировочных данных, которые мне нужно аннотировать, для этого мне нужно прослушать несколько звуковых фрагментов и записать то, что я слышу.Я написал небольшой скрипт для этого в блокноте.

Моя главная проблема заключается в том, что 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 голосов
/ 29 января 2019

Чтобы отобразить аудиофайлы в цикле 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))
...