我认为还是做不到。 Mathematica 支持创建和修改MIDI http://reference.wolfram.com/mathematica/ref/format/MIDI.html对象,但将声音的生成从 MIDI 留给底层操作系统。目前,您必须导出到 midi,然后使用系统上的 midi 界面或在线服务转换为采样声音格式。
例如(来自文档)
t = Sound[SoundNote[DeleteCases[3 Range[31] Reverse[#], 0] - 48, .1] & /@
Transpose[CellularAutomaton[90, {{1}, 0}, 30]]]
Export["test.mid", t]
上传到http://free-midi-converter.com/Midi/Create http://free-midi-converter.com/Midi/Create给出link http://free-midi-converter.com/Midi/Details/5740.
也可以用以下方式转换TiMidity http://timidity.sourceforge.net/使用以下命令可在所有主要操作系统上使用(假设您已运行上述命令)
Run["timidity test.mid -Ow -o test.wav"]
可以使用以下命令将其导入回 MathematicaImport["test.wav"]
.
如果需要的话,这种转换可以自动化......
显然VLC 还可以将 midi 转换为 wav https://superuser.com/questions/230831/command-line-midi-to-wav-converter,对于某些专有操作系统来说,这可能是一个更简单的选择!另请参阅给出的选项here https://superuser.com/questions/145424/how-to-convert-from-midi-to-wav.