Как я могу расположить список объектов IPython.display.Audio в блокноте Jupyter? - PullRequest
0 голосов
/ 28 сентября 2018

У меня есть список аудиоданных, которые я хочу отобразить в записной книжке Jupyter, используя IPython.display.Audio, так что эти элементы управления перемещаются слева направо рядом друг с другом.Я попытался использовать ipywidgets.HBox, но я получаю сообщение об ошибке, поскольку IPython.display.Audio не является экземпляром Widget.

Мой список аудиоданных выглядит следующим образом, где y - это аудиоdata и sr - частота дискретизации.

data = [(y1, sr1), (y2, sr2), ..., (yN, srN)]

Я пытался сделать что-то вроде следующего.

audio_widgets = [display.Audio(audio[0], sr=audio[1]) for audio in data]
audio_hbox = widgets.HBox(audio_widgets) # TraitError happens here

Я получаю следующую ошибку.

TraitError: Element of the 'children' trait of a HBox instance must be a Widget, but a value of <IPython.lib.display.Audio object> <class 'IPython.lib.display.Audio'> was specified.

Один из способов показать аудио-дисплеи состоит в том, чтобы просто показать их друг над другом (что занимает много места по вертикали при большом количестве аудиоданных).

for audio in data:
     audio_widget = display.Audio(audio[0], sr=audio[1])
     display(audio_widget)

Любые идеи о том, как я могу управлять отображением отображения элементов управления аудио?

...