You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Librosa生成chirp音频无声音输出的问题求助

问题:VS环境下运行Librosa音频代码无声音输出

在Visual Studio中运行以下Python代码时,无法听到任何声音:

import librosa
from IPython.display import Audio
sr = 22050

y_sweep = librosa.chirp(fmin=librosa.note_to_hz('C3'),
                    fmax=librosa.note_to_hz('C5'),
                    sr=sr,
                    duration=5)

Audio(data=y_sweep, rate=sr)
  • Windows扬声器正常,音量已调至最大,Windows Media Player可正常播放音频
  • 代码无报错信息
  • 调用librosa.display.specshow的代码功能正常,但同样无声音输出
  • 该代码取自Librosa官方示例,官网示例的播放按钮可正常发声
解决方案

核心原因:IPython.display.Audio仅适配IPython环境

IPython.display.Audio是为Jupyter Notebook/Lab等IPython交互式环境设计的,在Visual Studio的普通Python脚本运行环境中,它无法直接触发系统音频播放。

可行解决方法:

  • 方法1:使用第三方音频播放库替代
    用simpleaudio这类专门的音频播放库,示例代码:

    import librosa
    import simpleaudio as sa
    
    sr = 22050
    y_sweep = librosa.chirp(fmin=librosa.note_to_hz('C3'),
                            fmax=librosa.note_to_hz('C5'),
                            sr=sr,
                            duration=5)
    
    # 将音频数据转换为16位整数格式(simpleaudio要求的格式)
    audio_data = (y_sweep * 32767).astype('int16')
    # 播放音频
    play_obj = sa.play_buffer(audio_data, 1, 2, sr)
    # 等待播放完成
    play_obj.wait_done()
    

    安装依赖:pip install simpleaudio

  • 方法2:在VS的Jupyter Notebook环境中运行代码
    在Visual Studio中创建Jupyter Notebook文件(.ipynb),将代码复制到笔记本单元格中运行,此时IPython.display.Audio会生成播放按钮,点击即可正常播放。

  • 方法3:将音频保存为文件后播放
    用Librosa配合soundfile将生成的音频保存为WAV文件,再用系统播放器打开:

    import librosa
    import soundfile as sf
    
    sr = 22050
    y_sweep = librosa.chirp(fmin=librosa.note_to_hz('C3'),
                            fmax=librosa.note_to_hz('C5'),
                            sr=sr,
                            duration=5)
    
    # 保存为WAV文件
    sf.write('sweep_audio.wav', y_sweep, sr)
    

    安装依赖:pip install soundfile

内容的提问来源于stack exchange,提问作者Jacob Stern

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 14:37:38