chromebookにmusic21を入れる
結構変わったことをやります。でも困ってる人は助かるとおもうので参考にしてください😉
Music21とは
pythonで音楽解析をするためにMITが作ったライブラリです。
公式ページ:http://web.mit.edu/music21/
※英語です。
MusicXMLという楽譜のデータをを保存するためのファイルを使います。また、lilypondやmusescoreなどの楽譜編集ソフトのインストールも必要となります。
MusicXMLとは:https://ja.wikipedia.org/wiki/MusicXML
lilypond公式ページ:http://lilypond.org/unix.ja.html
musescore公式ページ:https://musescore.org/ja
環境
- HP Chromebook x360 14
- Microsoft Visual Studio Code
pipでmusic21をインストール
pythonにmusic21をインストールします。
pip install music21
python3にインストールされているか心配な人、python3だけにインストールしてメモリーを節約したい人はこっち:
pip3 install music21
インストールされているかpythonインタプリタで確認
XXX@penguin:~$ python3 #今回はpython3(どっちでもいいが、、、)
Python 3.5.3 (default, Sep 27 2018, 17:25:39)
[GCC 6.3.0 20170516] on Linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import music21
>>> #何も出てこなかったらOK
環境設定-Lilypondのダウンロード編
music21はこのままでは使えないので、環境設定をします。chromebook(debian)での環境設定のため、Windows、Macの人は他のサイトを見てください。
Lilypondのインストーラーをダウンロードします。
ターミナルにて
XXX@penguin:~$ wget http://lilypond.org/download/binaries/linux-64/lilypond-2.18.2-1.linux-64.sh
Lilypondのインストール
XXX@penguin:~$ sh lilypond-2.18.2-1.linux-64.sh
/home/XXX/に新たにbin、lilypondフォルダーができると思います。
binフォルダーに行ってlilypondがダウンロードされているかテストする。
XXX@penguin:~$ cd bin
XXX@penguin:~/bin$ ls
abc2ly etf2ly lilypond-book lilypond-wrapper.guile midi2ly musicxml2ly
convert-ly lilypond lilypond-invoke-editor lilypond-wrapper.python mup2ly uninstall-lilypond
XXX@penguin:~/bin$ sh lilypond
GNU LilyPond 2.18.2
Usage: lilypond [OPTION]... FILE...
Typeset music and/or produce MIDI from FILE.
LilyPond produces beautiful music notation.
For more information, see http://lilypond.org
Options:
-d, --define-default=SYM[=VAL] set Scheme option SYM to VAL (default: #t).
Use -dhelp for help.
-e, --evaluate=EXPR evaluate scheme code
-f, --formats=FORMATs dump FORMAT,... Also as separate options:
--pdf generate PDF (default)
--png generate PNG
--ps generate PostScript
-h, --help show this help and exit
-H, --header=FIELD dump header field FIELD to file
named BASENAME.FIELD
-I, --include=DIR add DIR to search path
-i, --init=FILE use FILE as init file
-j, --jail=USER, GROUP, JAIL, DIR chroot to JAIL, become USER:GROUP
and cd into DIR
-l, --loglevel=LOGLEVEL print log messages according to LOGLEVEL. Possible values are:
NONE, ERROR, WARNING, BASIC, PROGRESS, INFO (default) and DEBUG.
-o, --output=FILE write output to FILE (suffix will be added)
--relocate relocate using directory of lilypond program
-s, --silent no progress, only error messages (equivalent to loglevel=ERROR)
-v, --version show version number and exit
-V, --verbose be verbose (equivalent to loglevel=DEBUG)
-w, --warranty show warranty and copyright
Report bugs via http://post.gmane.org/post.php?group=gmane.comp.gnu.lilypond.bugs
XXX@penguin:~/bin$
エラーが出てこなかったら正常です。
環境設定-musescoreのダウンロード編
musescoreの [.appimage] ファイルをダウンロード。
ここを押す:https://musescore.org/ja/download/musescore-x86_64.AppImage
このファイルを [Linuxファイル] に移す
インストールされているかcheck!
ターミナルにて
まず、.appimageファイルに実行権限をつけます
XXX@penguin:~$ chmod 777 ./MuseScore-3.4.2-x86_64.AppImage
ディレクトリは先程ダウンロードしたファイルのディレクトリにすること。
XXX@penguin:~$ ./MuseScore-3.4.2-x86_64.AppImage
使い方は知らなくてもいいですが、使い方はここを見てください:https://drumimicopy.com/musescore/
環境設定-music21編集
python3でmusic21にlilypondパスと、musescoreパスを設定します。
from music21 import *
us = environment.UserSettings()
us.create() # us.create()は最初の一回だけ実行する
us['lilypondPath'] = '/home/XXX/bin/lilypond' # 先程実行したlilypondファイル
us['musescoreDirectPNGPath'] = '/home/XXX/MuseScore-3.4.2-x86_64.AppImage' # 先程実行したmusescoreファイル
us['musicxmlPath'] = '/home/XXX/MuseScore-3.4.2-x86_64.AppImage' # 上と同じ
これでOK!
動作確認
pythonで以下を実行:
from music21 import note,stream,corpus,chord,environment,converter,midi
note = note.Note("C4", quarterLength = 1)
note.show()
Author And Source
この問題について(chromebookにmusic21を入れる), 我々は、より多くの情報をここで見つけました https://qiita.com/temps1101/items/f33de282441a1d8bff56著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .