【发布时间】:2021-02-26 11:39:45
【问题描述】:
我正在开发一个 python3 项目(在 PyCharm 中,使用 Windows 10),我正在尝试播放一系列音调并将它们全部保存到一个 mp3 文件中。
我可以让它用 winsound 播放一系列音符:
import winsound
while True:
winsound.Beep(1000, 1000)
但我无法保存它。
感谢所有帮助!
【问题讨论】:
我正在开发一个 python3 项目(在 PyCharm 中,使用 Windows 10),我正在尝试播放一系列音调并将它们全部保存到一个 mp3 文件中。
我可以让它用 winsound 播放一系列音符:
import winsound
while True:
winsound.Beep(1000, 1000)
但我无法保存它。
感谢所有帮助!
【问题讨论】:
如果您想将输出保存到文件中,而不仅仅是播放它,最理想的方法可能是生成 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 文件。
虽然可能已经过时,但您也可以查看 PythonInMusic wiki 以获取更多 MIDI 和其他音频库的参考。
或者,您可以在使用winsound 运行python 脚本时使用单独的程序来记录音频输出。
【讨论】: