【问题标题】:Is there a way to play a specific tone using python3?有没有办法使用 python3 播放特定的音调?
【发布时间】:2021-02-26 11:39:45
【问题描述】:

我正在开发一个 python3 项目(在 PyCharm 中,使用 Windows 10),我正在尝试播放一系列音调并将它们全部保存到一个 mp3 文件中。

我可以让它用 winsound 播放一系列音符:

import winsound
while True:
    winsound.Beep(1000, 1000)

但我无法保存它。

感谢所有帮助!

【问题讨论】:

    标签: python windows pycharm


    【解决方案1】:

    如果您想将输出保存到文件中,而不仅仅是播放它,最理想的方法可能是生成 MIDI 文件。有一些软件包可以帮助您以类似的方式创建 MIDI 文件。

    本例使用名为mido的包

    from mido import Message, MidiFile, MidiTrack
    
    mid = MidiFile()
    track = MidiTrack()
    mid.tracks.append(track)
    
    track.append(Message('note_on', note=64, velocity=64, time=32))
    
    mid.save('new_song.mid')
    

    如果需要,您可以轻松地将 midi 文件转换为 MP3(许多程序甚至在线工具都可以做到这一点),但大多数应用程序通常都很好地支持 midi 文件。

    See also

    虽然可能已经过时,但您也可以查看 PythonInMusic wiki 以获取更多 MIDI 和其他音频库的参考。

    或者,您可以在使用winsound 运行python 脚本时使用单独的程序来记录音频输出。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-12-05
      • 1970-01-01
      • 2023-03-28
      • 1970-01-01
      • 2020-08-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多