在Jupyter Notebook中使用python循环播放声音

时间:2019-02-28 13:41:02

标签: python audio jupyter-notebook

我正在尝试使用ipython显示音频。我的想法是,我有一个循环执行一些任务,并且当该循环的任务完成时,我希望警报响起。因此,循环必定看起来像这样:

for i in range(5):
    if True:
        IPython.display.Audio("alarm.mp3", autoplay=True)
    else:
        pass

但是,这根本不会播放任何声音,也不会创建小部件。我还可以使用其他哪些库,或者如何使用ipython修复该库?

2 个答案:

答案 0 :(得分:2)

库声音设备可以解决问题。将音频文件转换为WAV,然后:

from scipy.io import wavfile
import sounddevice as sd

fs, data = wavfile.read('alarm.wav')
for i in range(5):
    if True:
        sd.play(data, fs)
    else:
        pass

这很完美。

答案 1 :(得分:1)

如果您仍在调查中。我刚刚发现了playsound。非常简单的裸露API,它是跨平台的,甚至没有任何依赖关系。

您可以在Jupyter笔记本中简单地以阻塞方式(即在主线程上)或异步调用它。

import playsound
playsound.playsound(path, block=True)

签出here