【问题标题】:Playing a sound in a ipython notebook在 ipython 笔记本中播放声音
【发布时间】:2013-04-20 22:52:02
【问题描述】:

我希望能够在 ipython 笔记本中播放声音文件。 我的目标是能够直接从笔记本中听到应用于声音的不同处理的结果。 这可能吗?如果是,最好的解决方案是什么?

【问题讨论】:

    标签: audio ipython ipython-notebook


    【解决方案1】:

    以前的答案很老了。您现在可以使用IPython.display.Audio。像这样:

    import IPython
    IPython.display.Audio("my_audio_file.mp3")
    

    请注意,您还可以处理任何类型的音频内容,并将其作为 numpy 数组传递给此函数。

    如果要显示多个音频文件,请使用以下命令:

    IPython.display.display(IPython.display.Audio("my_audio_file.mp3"))
    IPython.display.display(IPython.display.Audio("my_audio_file.mp3"))
    

    【讨论】:

    • 值得注意的是,如果您希望声音真正自动播放,请添加autoplay=True 参数。像这样:IPython.display.Audio("my_audio_file.mp3", autoplay=True)
    【解决方案2】:

    一个可能相关的小例子:http://nbviewer.ipython.org/5507501/the%20sound%20of%20hydrogen.ipynb

    应该可以避免通过base64编码像PNG/jpg一样通过外部文件...

    【讨论】:

    • 感谢您的回答,我不管理使用外部文件。 (尽管改变了路径,我得到 WARNING:root:404 GET /files/440.wav (127.0.0.1) )。我来看看如何避免使用外部文件。
    • 哼,奇怪,你换CWD了吗?运行 notebook 时,是否创建了 440.wav 文件?
    • 抱歉耽搁了。我使用的是旧版本的 ipython。现在一切都很好。直接在笔记本中播放播放器可以很好地播放声音
    • 顺便说一句,我更新(几个小时前)以避免通过文件系统:nbviewer.ipython.org/urls/raw.github.com/Carreau/posts/master/… 巧合:-)
    • @Matt:为什么需要重新实现 scipy.io.wavfile.write?它已经接受字符串缓冲区......即buffer = StringIO.StringIO();wavfile.write(buffer, sample_rate, samples)
    【解决方案3】:

    代码:

    import IPython
    
    IPython.display.Audio("my_audio_file.mp3")
    

    在 IE11 中可能会报“Invalid Source”错误,在其他浏览器中尝试应该可以正常工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-03
      • 1970-01-01
      • 1970-01-01
      • 2021-01-08
      • 1970-01-01
      • 2015-08-21
      相关资源
      最近更新 更多