Windowsmusic21にMusescore・Lilypondのパスを通す
pythonで音楽情報処理をやる定番ライブラリのmusic21に、MusescoreとLilypondのパスを通す設定方法のメモです。
macの方はこちら: [Macmusic21にMusescore・Lilypondのパスを通す]
環境
Windows10 Pro 64bit
python 3.7.9
music21 v6.1.0
見やすさ重視で関数化しました。
code:python
import music21 as m2
# ファイルパスとLilypondのバージョン。環境に応じて変えてください
musescorePath = 'C:/Program Files/MuseScore 3/bin/MuseScore3.exe'
lilypondPath = 'C:/Program Files (x86)/LilyPond/usr/bin/lilypond.exe'
lilypondVersion = '2.20.0'
def initMusic21Path():
us = m2.environment.UserSettings()
# us.create() # これはその環境で一度だけ実行すればいい。2回目以降はエラーになる
us'musicxmlPath' = musescorePath
us'musescoreDirectPNGPath' = musescorePath
us'lilypondPath' = lilypondPath
us'lilypondVersion' = lilypondVersion
print("settings:")
print("\tmusicxmlPath: ", musescorePath)
print("\tmusescoreDirectPNGPath: ", musescorePath)
print("\tlilypondPath:", lilypondPath)
print("\tlilypondVersion:", lilypondVersion)
if __name__ == '__main__':
initMusic21Path()
上側の定数は使用している環境に応じて変えてください。まあ、Win10 64bit環境のデフォルトでは大体上のままで大丈夫のはずですが。
ディレクトリの階層分け記号はスラッシュです。バクスラではないので注意してください。
Lilypondのバージョンを正しく設定しないとパスが通っても動きません。自分はこれで数時間つまづきました…
パスの設定などを一度も行っていない場合は、us.create()を実行する必要があります。
#music21 #python