Jupyter - 在图形上使用播放头播放音频的小部件

Posted

技术标签:

【中文标题】Jupyter - 在图形上使用播放头播放音频的小部件【英文标题】:Jupyter - widget to play audio with playhead on graph 【发布时间】:2020-01-08 07:38:18 【问题描述】:

是否有任何 Jupyter 小部件用于可视化与时间序列图上的播放头同步的音频?

我想可视化从音频样本(例如频谱图和各种计算信号)中获得的数据,在收听音频样本的同时看到播放头在图上移动。

我发现了这个老 gist https://gist.github.com/deeplycloudy/2152643,它在 Python 后端使用 pyaudio 来播放声音。任何不那么老套的好解决方案,例如理想情况下完全基于 javascript 并在浏览器中完全运行播放?

【问题讨论】:

【参考方案1】:

您现在可以:)。我花了大约 10 分钟来整理一个演示,使用 Jupyter 代理小部件将 wavesurfer 控件加载到笔记本中。它适用于 Chrome,但我没有在其他任何地方测试过。它应该可以在 wavesurfer 和 Jupyter 工作的任何地方工作。

这是截图

在此处查看笔记本中的可粘贴文本:

https://github.com/AaronWatters/jp_doodle/blob/master/notebooks/misc/wavesurfer%20demo.ipynb

有关 jp_proxy 小部件的信息,请查看此处:

https://github.com/AaronWatters/jp_proxy_widget

【讨论】:

非常好...让我现在想知道是否有 js 包可以支持像 youtube.com/watch?v=JEOxKMEfsQc 这样的可视化...啊哈..wavesurfer-js.org/example/spectrogram/index.html 所以也许...只需要想想例如 15s 片段的分块...... 谢谢!这很接近,但它直接显示了音频的波形。我想要做的是从音频中计算出我自己的各种信号(例如“平均节拍强度”的 numpy 时间序列,每秒 10 个样本),并让它与音频并行显示/滚动。 “滚动”模式下的频谱图插件更接近!我希望显示我自己的自定义数据。 我已经完成了一个快速发布和 MyBinder 演示,展示了如何在此处使用带有 jp_proxy_widget 的频谱图插件:blog.ouseful.info/2020/01/11/… 在 JupyterLab 中不起作用,至少在我安装的情况下不起作用。一些依赖关系的概念(并且由于 JupyterLab 与小部件的交互很敏感,可能包括已知可以工作的包组合的版本号)是必要的。太糟糕了,否则它看起来是个不错的工具。 不幸的是,大多数小部件在 colab 中不起作用

以上是关于Jupyter - 在图形上使用播放头播放音频的小部件的主要内容,如果未能解决你的问题,请参考以下文章

使用 IPython.display.audio 在 jupyter notebook 中播放音频在函数内使用时不起作用

在IOS核心音频中,如何找到文件播放器音频单元的真实当前播放头位置?

使用 C 播放音频文件

开源FFMpeg——使用SDL进行音频播放下(使用篇)

使用Javascript播放数组序列音频文件[重复]

在 openTK 中播放音频