music21是python下最强大的乐理库了,没有之一。这个乐理库来源于MIT,而MIT开发并维护着一个著名的软件Csound(音乐界最强大的声音合成软件),可以说在音乐处理方面有深厚的积淀。这个库的功能多少,光从下载的安装包大小就能看出来。
music21库主要用来做乐理方面的事情,如查找一个音符的3度5度七度音,查找一个和弦的转位,查找每个和弦所包含的音符,处理和声进行,主要用来做乐理教学或自动作曲。你可以为乐谱上的每一个音符,创建独一无二的属性,然后把它按任何你想要的方式排列起来。它也有很强的分析现有乐谱的功能。但是它只能输出midi或music xml格式,也就是乐谱和歌词,如果想要得到声音,需要用别的程序库来做进一步处理。
楼主的错误主要出现在最后一个show函数上,music21会调用外部的软件作为五线谱的生成工具,可以调用MuseScore(开源打谱工具),或lilypond(没有界面的开源打谱工具,FL Studio就调用它来生成五线谱)。music21生成的midi文件或图片默认是在C盘的Temp文件夹下。
楼主图片中show( )函数找不到五线谱生成工具的路径,所以弹出错误信息。而路径是需要配置的:
这是我电脑上的路径配置:
#设置环境变量
#musicxml编辑器
music21.environment.set('musicxmlPath', 'D:\\firstobject_xml\\foxe.exe')
#五线谱图片生成器
music21.environment.set('musescoreDirectPNGPath', 'D:\\MuseScore\\bin\\Mu