У меня есть список аудиоданных, которые я хочу отобразить в записной книжке 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)
Любые идеи о том, как я могу управлять отображением отображения элементов управления аудио?