Google Colaboratory에서 music21 사용
소개
Jupyter상에서 악보를 표시할 수 있다고 듣고, music21 라고 하는 패키지를 시험해 보았다.
Google 공동체 위에서 표시시키는데 수고를 했으므로 비망록으로 남겨 둔다.
설치 방법
X virtual framebuffer를 이하의 코드와 같이 설정을 하는 것으로, Colaboratory상에서도 악보가 표시되게 된다.
setup.py# music21のインストール(Jupyterと共通)
!pip install --upgrade music21
!apt-get install musescore
# 仮想フレームバッファの設定(Google Colaboratoryで必要な設定)
!apt-get install xvfb
!sh -e /etc/init.d/x11-common start
import os
os.putenv('DISPLAY', ':99.0')
!start-stop-daemon --start --pidfile /var/run/xvfb.pid --make-pidfile --background --exec /usr/bin/Xvfb -- :99 -screen 0 1024x768x24 -ac +extension GLX +render -noreset
# パスの設定(Jupyterと共通)
from music21 import *
us = environment.UserSettings()
us['musescoreDirectPNGPath'] = '/usr/bin/mscore'
us['musicxmlPath'] = '/usr/bin/mscore'
us['directoryScratch'] = '/tmp'
실행 결과
'개구리 노래'의 악보 등을 표시해 보았다.
plot.py#TinyNotation記法による『カエルの歌』
cp = converter.parse('tinyNotation: 4/4 c4 d4 e4 f4 e4 d4 c4 r e4 f4 g4 a4 g4 f4 e4 r c4 r c4 r c4 r c4 r c8 c8 d8 d8 e8 e8 f8 f8 e4 d4 c4 r')
#楽譜の表示
cp.show()
#ピアノロール式表示
cp.plot()
#ヒストグラム表示
cp.plot('histogram', 'pitch')
악보 표시
피아노 롤 표현 표시
히스토그램 표시
도전
MIDI 재생이 잘되지 않습니다.
Web Audio API와 연결하거나 로컬 머신의 디바이스를 이용할 수 있으면 들릴 것이며, 시간이 있을 때에도 검증하고 싶다.
play.py#リファレンス上は下記のコードで再生されはず...
cp.show('midi')
누군가 아는 사람이 있으면 꼭 알려주세요.
Reference
이 문제에 관하여(Google Colaboratory에서 music21 사용), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/Dr_Sin1/items/335999844e5a17fd7b6c
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
X virtual framebuffer를 이하의 코드와 같이 설정을 하는 것으로, Colaboratory상에서도 악보가 표시되게 된다.
setup.py
# music21のインストール(Jupyterと共通)
!pip install --upgrade music21
!apt-get install musescore
# 仮想フレームバッファの設定(Google Colaboratoryで必要な設定)
!apt-get install xvfb
!sh -e /etc/init.d/x11-common start
import os
os.putenv('DISPLAY', ':99.0')
!start-stop-daemon --start --pidfile /var/run/xvfb.pid --make-pidfile --background --exec /usr/bin/Xvfb -- :99 -screen 0 1024x768x24 -ac +extension GLX +render -noreset
# パスの設定(Jupyterと共通)
from music21 import *
us = environment.UserSettings()
us['musescoreDirectPNGPath'] = '/usr/bin/mscore'
us['musicxmlPath'] = '/usr/bin/mscore'
us['directoryScratch'] = '/tmp'
실행 결과
'개구리 노래'의 악보 등을 표시해 보았다.
plot.py#TinyNotation記法による『カエルの歌』
cp = converter.parse('tinyNotation: 4/4 c4 d4 e4 f4 e4 d4 c4 r e4 f4 g4 a4 g4 f4 e4 r c4 r c4 r c4 r c4 r c8 c8 d8 d8 e8 e8 f8 f8 e4 d4 c4 r')
#楽譜の表示
cp.show()
#ピアノロール式表示
cp.plot()
#ヒストグラム表示
cp.plot('histogram', 'pitch')
악보 표시
피아노 롤 표현 표시
히스토그램 표시
도전
MIDI 재생이 잘되지 않습니다.
Web Audio API와 연결하거나 로컬 머신의 디바이스를 이용할 수 있으면 들릴 것이며, 시간이 있을 때에도 검증하고 싶다.
play.py#リファレンス上は下記のコードで再生されはず...
cp.show('midi')
누군가 아는 사람이 있으면 꼭 알려주세요.
Reference
이 문제에 관하여(Google Colaboratory에서 music21 사용), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/Dr_Sin1/items/335999844e5a17fd7b6c
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
#TinyNotation記法による『カエルの歌』
cp = converter.parse('tinyNotation: 4/4 c4 d4 e4 f4 e4 d4 c4 r e4 f4 g4 a4 g4 f4 e4 r c4 r c4 r c4 r c4 r c8 c8 d8 d8 e8 e8 f8 f8 e4 d4 c4 r')
#楽譜の表示
cp.show()
#ピアノロール式表示
cp.plot()
#ヒストグラム表示
cp.plot('histogram', 'pitch')
MIDI 재생이 잘되지 않습니다.
Web Audio API와 연결하거나 로컬 머신의 디바이스를 이용할 수 있으면 들릴 것이며, 시간이 있을 때에도 검증하고 싶다.
play.py
#リファレンス上は下記のコードで再生されはず...
cp.show('midi')
누군가 아는 사람이 있으면 꼭 알려주세요.
Reference
이 문제에 관하여(Google Colaboratory에서 music21 사용), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/Dr_Sin1/items/335999844e5a17fd7b6c텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)