求Linux下无需音频文件的Python播放声音代码(适配Jupyter Notebook)
Linux下Jupyter Notebook操作完成提示音代码
方案1:调用系统自带提示音(无需额外依赖)
这个方案直接调用Linux系统自带的音频文件,通过paplay(PulseAudio默认工具)播放,适配绝大多数桌面Linux发行版,无需额外安装软件或音频文件。
import subprocess def play_completion_sound(): # 调用系统自带的完成提示音路径,多数Linux发行版通用 sound_path = "/usr/share/sounds/freedesktop/stereo/complete.ogg" # 使用paplay播放,自动使用当前选中的音频输出设备 subprocess.run(["paplay", sound_path], check=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) # 测试播放 play_completion_sound()
说明:
- 如果你的系统没有这个路径的音频文件,可以替换成其他系统自带提示音路径,比如
/usr/share/sounds/gnome/default/alerts/glass.ogg(GNOME)或/usr/share/sounds/kde/default/stereo/complete.ogg(KDE) stdout和stderr参数用来屏蔽命令输出,避免在Notebook里产生冗余信息
方案2:生成纯音频(无需任何外部文件)
如果系统没有自带提示音,或者你想要自定义声音,可以用Python生成简单的正弦波音频并播放,需要先安装依赖:
!pip install numpy sounddevice
然后运行以下代码:
import numpy as np import sounddevice as sd def play_custom_sound(frequency=800, duration=0.5, sample_rate=44100): # 生成正弦波音频数据 t = np.linspace(0, duration, int(sample_rate * duration), endpoint=False) audio = 0.5 * np.sin(2 * np.pi * frequency * t) # 播放音频,自动使用当前默认输出设备 sd.play(audio, sample_rate) sd.wait() # 等待播放完成 # 测试播放 play_custom_sound()
说明:
- 可以调整
frequency(频率,单位Hz)和duration(时长,单位秒)来改变声音的高低和长短 sounddevice会自动识别当前系统选中的音频输出设备,无需额外配置
内容的提问来源于stack exchange,提问作者user2741831
相关产品推荐
相关产品推荐

