问题描述
我想在 Music21 中以不属于 12 音西方音阶的频率播放音乐。有没有办法做到这一点? .show('midi') 将频率四舍五入到最接近的半音。有没有其他方法可以播放特定频率的音乐?
解决方法
如果您的计算机上有功能齐全的 MIDI 应用程序,请尝试:
n = note.Note(type='whole')
n.pitch.frequency = 428.0 # A-half-flat
n.show('midi') # or n.write('midi') if you do not have MIDI playback configured at all.
在 Catalina 之前的 Mac 上,QuickTime 7 播放器可以正确播放。从 Catalina 开始,我没有好的免费解决方案(伟大的免费 MIDI 替代品 APPlay.app 似乎不支持弯音。Windows Media Player 支持。许多符号应用程序也是如此)。
或者安装 pygame
并查看 music21.midi.realtime
演示,了解如何使用它进行非 12 音播放。
不幸的是,过去十年中 MIDI 支持越来越糟糕; 2010 年容易的事情在 2021 年变得更加困难。