diff --git a/doc/source/track.rst b/doc/source/track.rst index c06ff8d..3ef3b30 100644 --- a/doc/source/track.rst +++ b/doc/source/track.rst @@ -2,7 +2,7 @@ Track Class =========== -Pypianoroll provides the `pypianoroll.Track`, `pypianoroll.BinaryTrack` and `pypianoroll.StandardTrack` classes for handling single-track piano rolls. +Pypianoroll provides three classes (`pypianoroll.Track`, `pypianoroll.BinaryTrack` and `pypianoroll.StandardTrack`) for handling single-track piano rolls. .. autoclass:: pypianoroll.Track :noindex: diff --git a/doc/source/visualization.rst b/doc/source/visualization.rst index e878855..55d747c 100644 --- a/doc/source/visualization.rst +++ b/doc/source/visualization.rst @@ -2,9 +2,7 @@ Visualization ============= -Pypianoroll supports visualizing piano rolls. - -Here are some examples. +Pypianoroll provides tools for visualizing piano rolls. Here are some examples. .. image:: images/visualization_track.png :alt: Track visualization @@ -15,9 +13,6 @@ Here are some examples. .. image:: images/visualization_multitrack_closeup.png :alt: Multitrack visualization closeup -.. note:: - We assume the piano roll is in symbolic timing. You may visualize traditional piano rolls in absolute timing by setting up x-axis properties in the plotting function. - Functions ========= diff --git a/docs/_modules/pypianoroll/visualization.html b/docs/_modules/pypianoroll/visualization.html index 6e4c9d4..4655fbc 100644 --- a/docs/_modules/pypianoroll/visualization.html +++ b/docs/_modules/pypianoroll/visualization.html @@ -216,7 +216,7 @@

Source code for pypianoroll.visualization

     ----------
     ax : :class:`matplotlib.axes.Axes`
         Axes to plot the piano roll on.
-    pianoroll : ndarray, shape=(?, 128) or (?, 128, 3) or (?, 128, 4)
+    pianoroll : ndarray, shape=(?, 128), (?, 128, 3) or (?, 128, 4)
         Piano roll to plot. For a 3D piano-roll array, the last axis can
         be either RGB or RGBA.
     is_drum : bool
diff --git a/docs/_sources/track.rst.txt b/docs/_sources/track.rst.txt
index c06ff8d..3ef3b30 100644
--- a/docs/_sources/track.rst.txt
+++ b/docs/_sources/track.rst.txt
@@ -2,7 +2,7 @@
 Track Class
 ===========
 
-Pypianoroll provides the `pypianoroll.Track`, `pypianoroll.BinaryTrack` and `pypianoroll.StandardTrack` classes for handling single-track piano rolls.
+Pypianoroll provides three classes (`pypianoroll.Track`, `pypianoroll.BinaryTrack` and `pypianoroll.StandardTrack`) for handling single-track piano rolls.
 
 .. autoclass:: pypianoroll.Track
     :noindex:
diff --git a/docs/_sources/visualization.rst.txt b/docs/_sources/visualization.rst.txt
index e878855..55d747c 100644
--- a/docs/_sources/visualization.rst.txt
+++ b/docs/_sources/visualization.rst.txt
@@ -2,9 +2,7 @@
 Visualization
 =============
 
-Pypianoroll supports visualizing piano rolls.
-
-Here are some examples.
+Pypianoroll provides tools for visualizing piano rolls. Here are some examples.
 
 .. image:: images/visualization_track.png
     :alt: Track visualization
@@ -15,9 +13,6 @@ Here are some examples.
 .. image:: images/visualization_multitrack_closeup.png
     :alt: Multitrack visualization closeup
 
-.. note::
-    We assume the piano roll is in symbolic timing. You may visualize traditional piano rolls in absolute timing by setting up x-axis properties in the plotting function.
-
 
 Functions
 =========
diff --git a/docs/doc.html b/docs/doc.html
index 9b6dd2d..de6a77b 100644
--- a/docs/doc.html
+++ b/docs/doc.html
@@ -1580,7 +1580,7 @@ 

FeaturesParameters
  • ax (matplotlib.axes.Axes) – Axes to plot the piano roll on.

  • -
  • pianoroll (ndarray, shape=(?, 128) or (?, 128, 3) or (?, 128, 4)) – Piano roll to plot. For a 3D piano-roll array, the last axis can +

  • pianoroll (ndarray, shape=(?, 128), (?, 128, 3) or (?, 128, 4)) – Piano roll to plot. For a 3D piano-roll array, the last axis can be either RGB or RGBA.

  • is_drum (bool) – Whether it is a percussion track. Defaults to False.

  • resolution (int) – Time steps per quarter note. Required if xtick is ‘beat’.

  • diff --git a/docs/searchindex.js b/docs/searchindex.js index 8913bd1..938056e 100644 --- a/docs/searchindex.js +++ b/docs/searchindex.js @@ -1 +1 @@ -Search.setIndex({docnames:["doc","getting_started","index","metrics","multitrack","read_write","save_load","track","visualization"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":3,"sphinx.domains.index":1,"sphinx.domains.javascript":2,"sphinx.domains.math":2,"sphinx.domains.python":2,"sphinx.domains.rst":2,"sphinx.domains.std":1,"sphinx.ext.intersphinx":1,"sphinx.ext.viewcode":1,sphinx:56},filenames:["doc.rst","getting_started.rst","index.rst","metrics.rst","multitrack.rst","read_write.rst","save_load.rst","track.rst","visualization.rst"],objects:{"":{pypianoroll:[0,0,0,"-"]},"pypianoroll.BinaryTrack":{is_drum:[0,2,1,""],name:[0,2,1,""],pianoroll:[0,2,1,""],program:[0,2,1,""],set_nonzeros:[0,3,1,""]},"pypianoroll.Multitrack":{append:[0,3,1,""],binarize:[0,3,1,""],blend:[0,3,1,""],clip:[0,3,1,""],copy:[0,3,1,""],count_downbeat:[0,3,1,""],downbeat:[0,2,1,""],get_downbeat_steps:[0,3,1,""],get_length:[0,3,1,""],get_max_length:[0,3,1,""],is_valid:[0,3,1,""],is_valid_type:[0,3,1,""],name:[0,2,1,""],pad:[0,3,1,""],pad_to_multiple:[0,3,1,""],pad_to_same:[0,3,1,""],plot:[0,3,1,""],remove_empty:[0,3,1,""],resolution:[0,2,1,""],save:[0,3,1,""],set_nonzeros:[0,3,1,""],set_resolution:[0,3,1,""],stack:[0,3,1,""],tempo:[0,2,1,""],to_pretty_midi:[0,3,1,""],tracks:[0,2,1,""],transpose:[0,3,1,""],trim:[0,3,1,""],validate:[0,3,1,""],validate_type:[0,3,1,""],write:[0,3,1,""]},"pypianoroll.StandardTrack":{binarize:[0,3,1,""],clip:[0,3,1,""],is_drum:[0,2,1,""],name:[0,2,1,""],pianoroll:[0,2,1,""],program:[0,2,1,""],set_nonzeros:[0,3,1,""]},"pypianoroll.Track":{copy:[0,3,1,""],get_length:[0,3,1,""],is_drum:[0,2,1,""],is_valid:[0,3,1,""],is_valid_type:[0,3,1,""],name:[0,2,1,""],pad:[0,3,1,""],pad_to_multiple:[0,3,1,""],pianoroll:[0,2,1,""],plot:[0,3,1,""],program:[0,2,1,""],standardize:[0,3,1,""],transpose:[0,3,1,""],trim:[0,3,1,""],validate:[0,3,1,""],validate_type:[0,3,1,""]},pypianoroll:{BinaryTrack:[0,1,1,""],Multitrack:[0,1,1,""],StandardTrack:[0,1,1,""],Track:[0,1,1,""],binarize:[0,4,1,""],clip:[0,4,1,""],drum_in_pattern_rate:[0,4,1,""],empty_beat_rate:[0,4,1,""],from_pretty_midi:[0,4,1,""],in_scale_rate:[0,4,1,""],load:[0,4,1,""],n_pitch_classes_used:[0,4,1,""],n_pitches_used:[0,4,1,""],pad:[0,4,1,""],pad_to_multiple:[0,4,1,""],pad_to_same:[0,4,1,""],pitch_range:[0,4,1,""],pitch_range_tuple:[0,4,1,""],plot:[0,4,1,""],plot_multitrack:[0,4,1,""],plot_pianoroll:[0,4,1,""],plot_track:[0,4,1,""],polyphonic_rate:[0,4,1,""],qualified_note_rate:[0,4,1,""],read:[0,4,1,""],save:[0,4,1,""],set_nonzeros:[0,4,1,""],set_resolution:[0,4,1,""],to_pretty_midi:[0,4,1,""],tonal_distance:[0,4,1,""],transpose:[0,4,1,""],trim:[0,4,1,""],write:[0,4,1,""]}},objnames:{"0":["py","module","Python module"],"1":["py","class","Python class"],"2":["py","attribute","Python attribute"],"3":["py","method","Python method"],"4":["py","function","Python function"]},objtypes:{"0":"py:module","1":"py:class","2":"py:attribute","3":"py:method","4":"py:function"},terms:{"19th":2,"1st":[0,3],"32nd":[0,3],"boolean":[0,4,8],"break":2,"class":[0,2,3],"default":[0,3,4,5,6,7,8],"float":[0,3,4,5,7,8],"import":1,"int":[0,3,4,5,7,8],"long":2,"new":2,"return":[0,3,4,5,7,8],"true":[0,4,5,6,7,8],"while":[0,4,7],And:1,Axes:[0,4,7,8],For:[0,4,8],The:[0,1,3,4,5,6,7],There:[0,5],These:3,Will:[0,8],_are:[0,3],_ax:[0,4,7,8],_beat:[0,3],_csc_data:6,_csc_indic:6,_csc_indptr:6,_in:[0,3],_longer:[0,3],_multipl:[0,3],_multitrack:[0,4],_multitrackortrack:[0,8],_note:[0,3],_on:[0,3],_pattern:[0,3],_pitch:[0,3],_rate:[0,3],_scale:[0,3],_standardtrack:[0,7],_step:[0,3],_than:[0,3],_the:[0,3],_threshold:[0,3],_track:[0,7],_where:[0,3],aaai:[0,3],abc:5,absolut:8,accompani:[0,3],accord:[0,7],acm:[0,3],acoust:[0,7],activ:[0,3,4,7],add:[0,8],added:[0,5],addit:[0,5],adjac:[0,5],adversari:[0,3],affect:[0,4],aim:2,algorithm:[0,5],all:[0,4,5,7,8],along:[0,4,7,8],also:2,ani:[0,4],anoth:1,another_track:1,append:[0,4],appli:[0,4],archiv:6,argument:[0,5,8],arrai:[0,1,4,5,6,7,8],artifici:[0,3],assign:[0,1,4,5,7],assum:8,attr:[0,4,7],attribut:[0,4,5,7],audio:[0,3],auto:[0,8],automat:[0,5],avail:2,awesom:1,axes:[0,1,4,7,8],axi:[0,4,7,8],axs:[0,1,4,8],bar:[0,4,8],base:[0,4],basic:6,beat:[0,1,3,5,6,8],beautifulli:[0,2],been:2,befor:[0,5],between:[0,3],binar:[0,4,5,7],binari:[0,4,7],binarytrack:[0,7],blend:[0,4,8],blue:[0,8],bool:[0,1,4,5,6,7,8],both:[0,8],bottom:[0,8],bound:[0,4,7],build:2,built:5,c_maj:1,calcul:[0,4],call:[0,3,8],can:[0,8],cast:[0,4,7],ceil:[0,4],certain:[0,3],chang:[0,3,5],chia:[0,3],chord:1,christoph:[0,3],circl:[0,3],cite:5,clip:[0,4,5,7],cmap:[0,8],code:2,collect:[0,5,6],collect_onsets_onli:[0,5],color:[0,8],colormap:[0,8],column:6,compar:3,compon:[0,6],compos:1,compress:[0,4,6],comput:[0,3],confer:[0,2,3],consid:[0,2,3,5],consist:1,constant:[0,4,7],contain:[0,4,6,7,8],conveni:2,convert:[0,5,6,7],copi:[0,1,4,7],core:[0,4],could:3,count:[0,3],count_downbeat:[0,4],creat:[0,1,8],csc_matrix:[0,6],current:[1,5],custom:[0,5],data:[0,2,3,4,5,6,7],default_tempo:[0,5],default_veloc:[0,5],defin:[0,3],demo:2,demonstr:1,design:2,detail:1,detect:[0,3],determin:[0,5],differ:[0,3],dimens:[0,7],direct:[0,8],discard:[0,5],distanc:[0,3],docstr:2,document:[4,7,8],dong:[0,2,3],down:[1,6],downbeat:[0,1,4,5,6,8],download:2,downsampl:0,drop:[0,5],drum:[0,1,2,3,4,8],drum_in_pattern_r:[0,3],dtype:[0,4,7],due:2,duplic:[0,5],durat:[0,5],each:[0,4,8],effect:[0,5,8],effici:[0,2,6],either:[0,8],element:[0,5],empti:[0,3,4],empty_beat_r:[0,3],end:[0,4,7],entri:[0,4,7],equat:[0,3],error:[0,4,7],essenti:[0,2],estim:[0,5],estimate_beat_start:[0,5],evalu:[0,2,3],event:[0,5],exampl:8,extend:1,factor:[0,4,7],fals:[0,1,5,7,8],famili:[0,8],fig:1,file:[0,1,2,4,5,6],find:[0,5],first:[0,1,3,4,5,6,7,8],first_beat_tim:[0,5],floor:[0,4],follow:[2,6],format:[0,2,5,6,8],found:[0,3,5],frac:[0,3],frame:[0,8],from:[0,1,2,5],from_pretty_midi:[0,5],full:[0,4,7,8],gasser:[0,3],gca:[0,8],gener:[0,3,7],get:2,get_downbeat_step:[0,4],get_length:[0,4,7],get_max_length:[0,4],given:[0,5,8],grand:[0,7],green:[0,8],grei:[0,8],grid:[0,8],grid_axi:[0,8],grid_linestyl:[0,8],grid_linewidth:[0,8],guarante:[0,4],guitar:1,handl:[0,2,4,7],hao:[0,2,3],harmon:[0,3],hart:[0,3],has:[0,4,7],have:[0,2,4],here:[1,2,5,8],higher:0,highest:[0,3],homepag:2,how:1,howev:[0,5],hsiao:[0,2,3],hsuan:[0,2,3],hsv:[0,8],html:1,http:[0,7],hybrid:[0,8],ignor:[0,3],imag:[0,8],imshow:[0,8],in_scale_r:[0,3],includ:[0,1,2],incomplet:[0,5],index:6,indic:[0,1,2,4,8],ineffici:2,info:6,inform:[0,2,5,6],inout:[0,8],input:[0,3],instanc:[0,1,4,6],instruct:5,integ:[0,4],intellig:[0,3],intern:2,intuit:[0,2],invalid:[0,4,7],is_drum:[0,1,7,8],is_valid:[0,4,7],is_valid_typ:[0,4,7],ismir:2,item:[0,7],its:[0,5,7],itself:[0,4,7],json:6,kei:0,keyword:[0,5,8],kwarg:[0,4,5,7,8],label:[0,8],largest:[0,3],last:[0,8],late:2,left:[0,8],length:[0,3,4,7],level:[0,7],librari:[0,2],like:[1,2],limit:[0,4,7],line:[0,8],list:[0,1,4,8],literatur:3,load:[0,1,2,5],locat:[0,5,8],longer:[0,3],look:1,lower:[0,4,7],lowest:[0,3],lpd:2,mai:8,main:1,major:[0,1,3],make:[0,4,7],manipul:[0,2],mark:[0,3],martin:[0,3],matplotlib:[0,1,4,7,8],matric:6,matrix:[0,1,2,7],max:[0,4,5],maximum:[0,4],mean:[0,5],merg:[0,5],meta:6,metadata:1,metric:[0,2],mid:1,midi:[0,1,2,4,5,6,7],minimum:[0,4,7],minor:[0,3],mode:[0,3,4,5,8],modifi:0,more:[0,5],multi:[0,3],multimedia:[0,3],multipl:[0,3,4,7,8],multitrack:[0,1,2,5,6,8],musegan:[0,2,3],music:[0,2,3,4],musicxml:5,muspi:[0,3],n_pitch_class_us:[0,3],n_pitch_classes_us:[0,3],n_pitches_us:[0,3],name:[0,1,2,4,7,8],nan:[0,3],natur:2,ndarrai:[0,3,4,7,8],necessarili:[0,4],neg:[0,4,7],network:[0,3],none:[0,4,5,7,8],nonzero:[0,4,5,7],normal:[0,5],note:[0,3,4,5,6,7,8],npy:6,npz:[0,1,4,5,6],number:[0,1,2,3,4,7,8],numer:[0,3],numpi:[0,1,3,4,7,8],obj:[0,8],object:[0,3,4,5,6,7,8],octav:[0,8],off:[0,5,8],one:[0,5],onli:[0,1,3,4,5,6,8],onset:[0,5],open:[0,2],option:[0,4,5,7,8],orang:[0,8],org:[0,7],origin:[0,5],other:[0,8],otherwis:[0,8],our:2,out:[0,8],output:1,packag:2,pad:[0,4,7],pad_length:[0,4,7],pad_to_multipl:[0,4,7],pad_to_sam:[0,4],paper:2,paramet:[0,3,4,5,6,7,8],pars:[0,1,2,5],pass:[0,5,8],path:[0,4,5,6],pathlib:[0,5,6],pattern:[0,3],per:[0,3,4,8],percuss:[0,7,8],perform:[0,4],piano:[0,1,2,3,4,5,6,7,8],pianorol:[0,1,3,4,7,8],pianoroll_1:[0,3],pianoroll_2:[0,3],pianoroll_:6,pip:2,pitch:[0,1,3,4,5,7,8],pitch_rang:[0,3],pitch_range_tupl:[0,3],plai:[0,3],plain:[0,8],plan:5,pleas:[2,5],plot:[0,1,4,7,8],plot_multitrack:[0,4,8],plot_pianorol:[0,8],plot_track:[0,7,8],plt:[0,1,8],polyphon:[0,3],polyphoni:[0,3],polyphonic_r:[0,3],posit:[0,4,7],poster:2,preset:[0,8],pretty_midi:[0,5],prettymidi:[0,4,5],previous:[0,6],proceed:[0,3],program:[0,1,2,7,8],project:2,properti:8,propos:3,provid:[0,2,3,4,7],publish:[2,5],purpl:[0,8],pypianorol:[0,1,3,4,5,6,7,8],pyplot:[0,1,8],python:[0,2],qpm:[0,4],qualifi:[0,3],qualified_note_r:[0,3],quarter:[0,4,8],radii:[0,3],rais:[0,4,5,7],rang:[0,3],rate:[0,3],ratio:[0,3],read:[0,1,2,6],read_writ:1,red:[0,8],reduc:[0,6],refer:[0,3,4,7],regular:[0,5],remov:[0,4],remove_empti:[0,4],repres:[0,1,7],requir:[0,5,8],resolut:[0,1,3,4,5,8],respect:1,result:[0,4,5,7],retriev:2,rgb:[0,8],rgba:[0,8],right:[0,8],roll:[0,1,2,3,4,5,6,7,8],root:[0,3],round:[0,4],run:2,runtimeerror:[0,5],same:[0,4,5],sampl:3,sandler:[0,3],save:[0,1,2,4,5],scale:[0,3],scale_consist:[0,3],scipi:[0,6],sec:[0,5],second:[0,1,3,7],see:[0,1,3,5,8],semiton:[0,3,4,7],separ:[0,8],sequenc:[0,3,4,8],sequenti:[0,3],set:[0,4,5,7,8],set_nonzero:[0,4,7],set_resolut:[0,4],setup:2,sever:3,shape:[0,4,7,8],shorter:[0,4],should:1,show:1,signatur:[0,5],silenc:[0,4,7],sinc:2,singl:[0,5,7],size:[0,6],skip:[0,4],societi:2,some:[0,4,7,8],song:[0,3],sound:[0,7],sourc:[0,2,3,4,5,6,7,8],space:[0,2],spars:[0,2,6],specif:[0,6,7],stack:[0,4],standard:[0,7],standardtrack:[0,4,7],start:[0,2,4,5,7],statist:3,step:[0,3,4,7,8],store:[2,6],str:[0,3,4,5,6,7,8],strategi:[0,4,5,8],strict:[0,5],style:[0,8],sum:[0,4,5],summat:[0,4],support:[0,1,5,6,8],symbol:[0,3,8],system:3,target:[0,4],technic:2,tempo:[0,1,4,5,6],tensor:[0,4],test:1,than:[0,3,5,8],thei:[0,4],theme:[0,8],thi:[0,3,4],three:[0,3,5],threshold:[0,3,4,5,7],tick:[0,8],tick_direct:[0,8],tick_loc:[0,8],tile:1,time:[0,1,3,4,5,7,8],to_pretty_midi:[0,4,5],toler:[0,3],tonal:[0,3],tonal_dist:[0,3],tool:[0,2],top:[0,5,8],total:[0,3,4],track:[0,1,2,3,4,5,6,8],track_label:[0,8],tradit:8,trail:[0,4,7],train:[2,3],transpos:[0,4,7],trim:[0,4,7],tupl:[0,3,8],two:[0,3,8],type:[0,3,4,5,7,8],uint8:[0,5,7],union:[0,5,6],uniqu:[0,3],upper:[0,4,7],usag:1,use:[0,2,5,8],used:[0,2,3],using:[0,2,4,5,7],valid:[0,4,7],validate_typ:[0,4,7],valu:[0,4,5,7],valueerror:[0,5],veloc:[0,5,7],visual:[0,2],wai:2,well:[0,2],wen:[0,2,3],what:1,when:[0,5,8],where:[0,1,3,4,5],whether:[0,4,6,7,8],which:[0,2,4,6,7],width:[0,8],without:[0,4,7],work:[0,1,2,5],workshop:[0,3],write:[0,1,2,4,6],www:[0,7],xtick:[0,8],xticklabel:[0,8],yang:[0,2,3],yet:5,you:[2,5,8],ytick:[0,8],yticklabel:[0,8],zero:[0,1,3,4,5],zip:6},titles:["Technical Documentation","Getting Started","Pypianoroll","Metrics","Multitrack Class","Read & Write","Save & Load","Track Class","Visualization"],titleterms:{"class":[4,7],"function":[3,5,6,8],cite:2,content:2,dataset:2,document:[0,2],exampl:1,featur:[0,2],get:1,instal:2,lakh:2,load:6,metric:3,multitrack:4,object:1,pianorol:2,pypianorol:2,read:5,save:6,start:1,technic:0,track:7,visual:8,why:2,write:5}}) \ No newline at end of file +Search.setIndex({docnames:["doc","getting_started","index","metrics","multitrack","read_write","save_load","track","visualization"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":3,"sphinx.domains.index":1,"sphinx.domains.javascript":2,"sphinx.domains.math":2,"sphinx.domains.python":2,"sphinx.domains.rst":2,"sphinx.domains.std":1,"sphinx.ext.intersphinx":1,"sphinx.ext.viewcode":1,sphinx:56},filenames:["doc.rst","getting_started.rst","index.rst","metrics.rst","multitrack.rst","read_write.rst","save_load.rst","track.rst","visualization.rst"],objects:{"":{pypianoroll:[0,0,0,"-"]},"pypianoroll.BinaryTrack":{is_drum:[0,2,1,""],name:[0,2,1,""],pianoroll:[0,2,1,""],program:[0,2,1,""],set_nonzeros:[0,3,1,""]},"pypianoroll.Multitrack":{append:[0,3,1,""],binarize:[0,3,1,""],blend:[0,3,1,""],clip:[0,3,1,""],copy:[0,3,1,""],count_downbeat:[0,3,1,""],downbeat:[0,2,1,""],get_downbeat_steps:[0,3,1,""],get_length:[0,3,1,""],get_max_length:[0,3,1,""],is_valid:[0,3,1,""],is_valid_type:[0,3,1,""],name:[0,2,1,""],pad:[0,3,1,""],pad_to_multiple:[0,3,1,""],pad_to_same:[0,3,1,""],plot:[0,3,1,""],remove_empty:[0,3,1,""],resolution:[0,2,1,""],save:[0,3,1,""],set_nonzeros:[0,3,1,""],set_resolution:[0,3,1,""],stack:[0,3,1,""],tempo:[0,2,1,""],to_pretty_midi:[0,3,1,""],tracks:[0,2,1,""],transpose:[0,3,1,""],trim:[0,3,1,""],validate:[0,3,1,""],validate_type:[0,3,1,""],write:[0,3,1,""]},"pypianoroll.StandardTrack":{binarize:[0,3,1,""],clip:[0,3,1,""],is_drum:[0,2,1,""],name:[0,2,1,""],pianoroll:[0,2,1,""],program:[0,2,1,""],set_nonzeros:[0,3,1,""]},"pypianoroll.Track":{copy:[0,3,1,""],get_length:[0,3,1,""],is_drum:[0,2,1,""],is_valid:[0,3,1,""],is_valid_type:[0,3,1,""],name:[0,2,1,""],pad:[0,3,1,""],pad_to_multiple:[0,3,1,""],pianoroll:[0,2,1,""],plot:[0,3,1,""],program:[0,2,1,""],standardize:[0,3,1,""],transpose:[0,3,1,""],trim:[0,3,1,""],validate:[0,3,1,""],validate_type:[0,3,1,""]},pypianoroll:{BinaryTrack:[0,1,1,""],Multitrack:[0,1,1,""],StandardTrack:[0,1,1,""],Track:[0,1,1,""],binarize:[0,4,1,""],clip:[0,4,1,""],drum_in_pattern_rate:[0,4,1,""],empty_beat_rate:[0,4,1,""],from_pretty_midi:[0,4,1,""],in_scale_rate:[0,4,1,""],load:[0,4,1,""],n_pitch_classes_used:[0,4,1,""],n_pitches_used:[0,4,1,""],pad:[0,4,1,""],pad_to_multiple:[0,4,1,""],pad_to_same:[0,4,1,""],pitch_range:[0,4,1,""],pitch_range_tuple:[0,4,1,""],plot:[0,4,1,""],plot_multitrack:[0,4,1,""],plot_pianoroll:[0,4,1,""],plot_track:[0,4,1,""],polyphonic_rate:[0,4,1,""],qualified_note_rate:[0,4,1,""],read:[0,4,1,""],save:[0,4,1,""],set_nonzeros:[0,4,1,""],set_resolution:[0,4,1,""],to_pretty_midi:[0,4,1,""],tonal_distance:[0,4,1,""],transpose:[0,4,1,""],trim:[0,4,1,""],write:[0,4,1,""]}},objnames:{"0":["py","module","Python module"],"1":["py","class","Python class"],"2":["py","attribute","Python attribute"],"3":["py","method","Python method"],"4":["py","function","Python function"]},objtypes:{"0":"py:module","1":"py:class","2":"py:attribute","3":"py:method","4":"py:function"},terms:{"19th":2,"1st":[0,3],"32nd":[0,3],"boolean":[0,4,8],"break":2,"class":[0,2,3],"default":[0,3,4,5,6,7,8],"float":[0,3,4,5,7,8],"import":1,"int":[0,3,4,5,7,8],"long":2,"new":2,"return":[0,3,4,5,7,8],"true":[0,4,5,6,7,8],"while":[0,4,7],And:1,Axes:[0,4,7,8],For:[0,4,8],The:[0,1,3,4,5,6,7],There:[0,5],These:3,Will:[0,8],_are:[0,3],_ax:[0,4,7,8],_beat:[0,3],_csc_data:6,_csc_indic:6,_csc_indptr:6,_in:[0,3],_longer:[0,3],_multipl:[0,3],_multitrack:[0,4],_multitrackortrack:[0,8],_note:[0,3],_on:[0,3],_pattern:[0,3],_pitch:[0,3],_rate:[0,3],_scale:[0,3],_standardtrack:[0,7],_step:[0,3],_than:[0,3],_the:[0,3],_threshold:[0,3],_track:[0,7],_where:[0,3],aaai:[0,3],abc:5,accompani:[0,3],accord:[0,7],acm:[0,3],acoust:[0,7],activ:[0,3,4,7],add:[0,8],added:[0,5],addit:[0,5],adjac:[0,5],adversari:[0,3],affect:[0,4],aim:2,algorithm:[0,5],all:[0,4,5,7,8],along:[0,4,7,8],also:2,ani:[0,4],anoth:1,another_track:1,append:[0,4],appli:[0,4],archiv:6,argument:[0,5,8],arrai:[0,1,4,5,6,7,8],artifici:[0,3],assign:[0,1,4,5,7],attr:[0,4,7],attribut:[0,4,5,7],audio:[0,3],auto:[0,8],automat:[0,5],avail:2,awesom:1,axes:[0,1,4,7,8],axi:[0,4,7,8],axs:[0,1,4,8],bar:[0,4,8],base:[0,4],basic:6,beat:[0,1,3,5,6,8],beautifulli:[0,2],been:2,befor:[0,5],between:[0,3],binar:[0,4,5,7],binari:[0,4,7],binarytrack:[0,7],blend:[0,4,8],blue:[0,8],bool:[0,1,4,5,6,7,8],both:[0,8],bottom:[0,8],bound:[0,4,7],build:2,built:5,c_maj:1,calcul:[0,4],call:[0,3,8],can:[0,8],cast:[0,4,7],ceil:[0,4],certain:[0,3],chang:[0,3,5],chia:[0,3],chord:1,christoph:[0,3],circl:[0,3],cite:5,clip:[0,4,5,7],cmap:[0,8],code:2,collect:[0,5,6],collect_onsets_onli:[0,5],color:[0,8],colormap:[0,8],column:6,compar:3,compon:[0,6],compos:1,compress:[0,4,6],comput:[0,3],confer:[0,2,3],consid:[0,2,3,5],consist:1,constant:[0,4,7],contain:[0,4,6,7,8],conveni:2,convert:[0,5,6,7],copi:[0,1,4,7],core:[0,4],could:3,count:[0,3],count_downbeat:[0,4],creat:[0,1,8],csc_matrix:[0,6],current:[1,5],custom:[0,5],data:[0,2,3,4,5,6,7],default_tempo:[0,5],default_veloc:[0,5],defin:[0,3],demo:2,demonstr:1,design:2,detail:1,detect:[0,3],determin:[0,5],differ:[0,3],dimens:[0,7],direct:[0,8],discard:[0,5],distanc:[0,3],docstr:2,document:[4,7,8],dong:[0,2,3],down:[1,6],downbeat:[0,1,4,5,6,8],download:2,downsampl:0,drop:[0,5],drum:[0,1,2,3,4,8],drum_in_pattern_r:[0,3],dtype:[0,4,7],due:2,duplic:[0,5],durat:[0,5],each:[0,4,8],effect:[0,5,8],effici:[0,2,6],either:[0,8],element:[0,5],empti:[0,3,4],empty_beat_r:[0,3],end:[0,4,7],entri:[0,4,7],equat:[0,3],error:[0,4,7],essenti:[0,2],estim:[0,5],estimate_beat_start:[0,5],evalu:[0,2,3],event:[0,5],exampl:8,extend:1,factor:[0,4,7],fals:[0,1,5,7,8],famili:[0,8],fig:1,file:[0,1,2,4,5,6],find:[0,5],first:[0,1,3,4,5,6,7,8],first_beat_tim:[0,5],floor:[0,4],follow:[2,6],format:[0,2,5,6,8],found:[0,3,5],frac:[0,3],frame:[0,8],from:[0,1,2,5],from_pretty_midi:[0,5],full:[0,4,7,8],gasser:[0,3],gca:[0,8],gener:[0,3,7],get:2,get_downbeat_step:[0,4],get_length:[0,4,7],get_max_length:[0,4],given:[0,5,8],grand:[0,7],green:[0,8],grei:[0,8],grid:[0,8],grid_axi:[0,8],grid_linestyl:[0,8],grid_linewidth:[0,8],guarante:[0,4],guitar:1,handl:[0,2,4,7],hao:[0,2,3],harmon:[0,3],hart:[0,3],has:[0,4,7],have:[0,2,4],here:[1,2,5,8],higher:0,highest:[0,3],homepag:2,how:1,howev:[0,5],hsiao:[0,2,3],hsuan:[0,2,3],hsv:[0,8],html:1,http:[0,7],hybrid:[0,8],ignor:[0,3],imag:[0,8],imshow:[0,8],in_scale_r:[0,3],includ:[0,1,2],incomplet:[0,5],index:6,indic:[0,1,2,4,8],ineffici:2,info:6,inform:[0,2,5,6],inout:[0,8],input:[0,3],instanc:[0,1,4,6],instruct:5,integ:[0,4],intellig:[0,3],intern:2,intuit:[0,2],invalid:[0,4,7],is_drum:[0,1,7,8],is_valid:[0,4,7],is_valid_typ:[0,4,7],ismir:2,item:[0,7],its:[0,5,7],itself:[0,4,7],json:6,kei:0,keyword:[0,5,8],kwarg:[0,4,5,7,8],label:[0,8],largest:[0,3],last:[0,8],late:2,left:[0,8],length:[0,3,4,7],level:[0,7],librari:[0,2],like:[1,2],limit:[0,4,7],line:[0,8],list:[0,1,4,8],literatur:3,load:[0,1,2,5],locat:[0,5,8],longer:[0,3],look:1,lower:[0,4,7],lowest:[0,3],lpd:2,main:1,major:[0,1,3],make:[0,4,7],manipul:[0,2],mark:[0,3],martin:[0,3],matplotlib:[0,1,4,7,8],matric:6,matrix:[0,1,2,7],max:[0,4,5],maximum:[0,4],mean:[0,5],merg:[0,5],meta:6,metadata:1,metric:[0,2],mid:1,midi:[0,1,2,4,5,6,7],minimum:[0,4,7],minor:[0,3],mode:[0,3,4,5,8],modifi:0,more:[0,5],multi:[0,3],multimedia:[0,3],multipl:[0,3,4,7,8],multitrack:[0,1,2,5,6,8],musegan:[0,2,3],music:[0,2,3,4],musicxml:5,muspi:[0,3],n_pitch_class_us:[0,3],n_pitch_classes_us:[0,3],n_pitches_us:[0,3],name:[0,1,2,4,7,8],nan:[0,3],natur:2,ndarrai:[0,3,4,7,8],necessarili:[0,4],neg:[0,4,7],network:[0,3],none:[0,4,5,7,8],nonzero:[0,4,5,7],normal:[0,5],note:[0,3,4,5,6,7,8],npy:6,npz:[0,1,4,5,6],number:[0,1,2,3,4,7,8],numer:[0,3],numpi:[0,1,3,4,7,8],obj:[0,8],object:[0,3,4,5,6,7,8],octav:[0,8],off:[0,5,8],one:[0,5],onli:[0,1,3,4,5,6,8],onset:[0,5],open:[0,2],option:[0,4,5,7,8],orang:[0,8],org:[0,7],origin:[0,5],other:[0,8],otherwis:[0,8],our:2,out:[0,8],output:1,packag:2,pad:[0,4,7],pad_length:[0,4,7],pad_to_multipl:[0,4,7],pad_to_sam:[0,4],paper:2,paramet:[0,3,4,5,6,7,8],pars:[0,1,2,5],pass:[0,5,8],path:[0,4,5,6],pathlib:[0,5,6],pattern:[0,3],per:[0,3,4,8],percuss:[0,7,8],perform:[0,4],piano:[0,1,2,3,4,5,6,7,8],pianorol:[0,1,3,4,7,8],pianoroll_1:[0,3],pianoroll_2:[0,3],pianoroll_:6,pip:2,pitch:[0,1,3,4,5,7,8],pitch_rang:[0,3],pitch_range_tupl:[0,3],plai:[0,3],plain:[0,8],plan:5,pleas:[2,5],plot:[0,1,4,7,8],plot_multitrack:[0,4,8],plot_pianorol:[0,8],plot_track:[0,7,8],plt:[0,1,8],polyphon:[0,3],polyphoni:[0,3],polyphonic_r:[0,3],posit:[0,4,7],poster:2,preset:[0,8],pretty_midi:[0,5],prettymidi:[0,4,5],previous:[0,6],proceed:[0,3],program:[0,1,2,7,8],project:2,propos:3,provid:[0,2,3,4,7,8],publish:[2,5],purpl:[0,8],pypianorol:[0,1,3,4,5,6,7,8],pyplot:[0,1,8],python:[0,2],qpm:[0,4],qualifi:[0,3],qualified_note_r:[0,3],quarter:[0,4,8],radii:[0,3],rais:[0,4,5,7],rang:[0,3],rate:[0,3],ratio:[0,3],read:[0,1,2,6],read_writ:1,red:[0,8],reduc:[0,6],refer:[0,3,4,7],regular:[0,5],remov:[0,4],remove_empti:[0,4],repres:[0,1,7],requir:[0,5,8],resolut:[0,1,3,4,5,8],respect:1,result:[0,4,5,7],retriev:2,rgb:[0,8],rgba:[0,8],right:[0,8],roll:[0,1,2,3,4,5,6,7,8],root:[0,3],round:[0,4],run:2,runtimeerror:[0,5],same:[0,4,5],sampl:3,sandler:[0,3],save:[0,1,2,4,5],scale:[0,3],scale_consist:[0,3],scipi:[0,6],sec:[0,5],second:[0,1,3,7],see:[0,1,3,5,8],semiton:[0,3,4,7],separ:[0,8],sequenc:[0,3,4,8],sequenti:[0,3],set:[0,4,5,7,8],set_nonzero:[0,4,7],set_resolut:[0,4],setup:2,sever:3,shape:[0,4,7,8],shorter:[0,4],should:1,show:1,signatur:[0,5],silenc:[0,4,7],sinc:2,singl:[0,5,7],size:[0,6],skip:[0,4],societi:2,some:[0,4,7,8],song:[0,3],sound:[0,7],sourc:[0,2,3,4,5,6,7,8],space:[0,2],spars:[0,2,6],specif:[0,6,7],stack:[0,4],standard:[0,7],standardtrack:[0,4,7],start:[0,2,4,5,7],statist:3,step:[0,3,4,7,8],store:[2,6],str:[0,3,4,5,6,7,8],strategi:[0,4,5,8],strict:[0,5],style:[0,8],sum:[0,4,5],summat:[0,4],support:[0,1,5,6],symbol:[0,3],system:3,target:[0,4],technic:2,tempo:[0,1,4,5,6],tensor:[0,4],test:1,than:[0,3,5,8],thei:[0,4],theme:[0,8],thi:[0,3,4],three:[0,3,5,7],threshold:[0,3,4,5,7],tick:[0,8],tick_direct:[0,8],tick_loc:[0,8],tile:1,time:[0,1,3,4,5,7,8],to_pretty_midi:[0,4,5],toler:[0,3],tonal:[0,3],tonal_dist:[0,3],tool:[0,2,8],top:[0,5,8],total:[0,3,4],track:[0,1,2,3,4,5,6,8],track_label:[0,8],trail:[0,4,7],train:[2,3],transpos:[0,4,7],trim:[0,4,7],tupl:[0,3,8],two:[0,3,8],type:[0,3,4,5,7,8],uint8:[0,5,7],union:[0,5,6],uniqu:[0,3],upper:[0,4,7],usag:1,use:[0,2,5,8],used:[0,2,3],using:[0,2,4,5,7],valid:[0,4,7],validate_typ:[0,4,7],valu:[0,4,5,7],valueerror:[0,5],veloc:[0,5,7],visual:[0,2],wai:2,well:[0,2],wen:[0,2,3],what:1,when:[0,5,8],where:[0,1,3,4,5],whether:[0,4,6,7,8],which:[0,2,4,6,7],width:[0,8],without:[0,4,7],work:[0,1,2,5],workshop:[0,3],write:[0,1,2,4,6],www:[0,7],xtick:[0,8],xticklabel:[0,8],yang:[0,2,3],yet:5,you:[2,5],ytick:[0,8],yticklabel:[0,8],zero:[0,1,3,4,5],zip:6},titles:["Technical Documentation","Getting Started","Pypianoroll","Metrics","Multitrack Class","Read & Write","Save & Load","Track Class","Visualization"],titleterms:{"class":[4,7],"function":[3,5,6,8],cite:2,content:2,dataset:2,document:[0,2],exampl:1,featur:[0,2],get:1,instal:2,lakh:2,load:6,metric:3,multitrack:4,object:1,pianorol:2,pypianorol:2,read:5,save:6,start:1,technic:0,track:7,visual:8,why:2,write:5}}) \ No newline at end of file diff --git a/docs/track.html b/docs/track.html index b94f5e6..bb5d934 100644 --- a/docs/track.html +++ b/docs/track.html @@ -162,7 +162,7 @@

    Track Class

    -

    Pypianoroll provides the pypianoroll.Track, pypianoroll.BinaryTrack and pypianoroll.StandardTrack classes for handling single-track piano rolls.

    +

    Pypianoroll provides three classes (pypianoroll.Track, pypianoroll.BinaryTrack and pypianoroll.StandardTrack) for handling single-track piano rolls.

    class pypianoroll.Track(name: Optional[str] = None, program: Optional[int] = None, is_drum: Optional[bool] = None, pianoroll: Optional[numpy.ndarray] = None)[source]
    diff --git a/docs/visualization.html b/docs/visualization.html index 61d9e3c..7ccd01e 100644 --- a/docs/visualization.html +++ b/docs/visualization.html @@ -162,15 +162,10 @@

    Visualization

    -

    Pypianoroll supports visualizing piano rolls.

    -

    Here are some examples.

    +

    Pypianoroll provides tools for visualizing piano rolls. Here are some examples.

    Track visualization Multitrack visualization Multitrack visualization closeup -
    -

    Note

    -

    We assume the piano roll is in symbolic timing. You may visualize traditional piano rolls in absolute timing by setting up x-axis properties in the plotting function.

    -

    Functions

    @@ -249,7 +244,7 @@

    FunctionsParameters
    • ax (matplotlib.axes.Axes) – Axes to plot the piano roll on.

    • -
    • pianoroll (ndarray, shape=(?, 128) or (?, 128, 3) or (?, 128, 4)) – Piano roll to plot. For a 3D piano-roll array, the last axis can +

    • pianoroll (ndarray, shape=(?, 128), (?, 128, 3) or (?, 128, 4)) – Piano roll to plot. For a 3D piano-roll array, the last axis can be either RGB or RGBA.

    • is_drum (bool) – Whether it is a percussion track. Defaults to False.

    • resolution (int) – Time steps per quarter note. Required if xtick is ‘beat’.

    • diff --git a/pypianoroll/visualization.py b/pypianoroll/visualization.py index 83048cd..131ecf4 100644 --- a/pypianoroll/visualization.py +++ b/pypianoroll/visualization.py @@ -57,7 +57,7 @@ def plot_pianoroll( ---------- ax : :class:`matplotlib.axes.Axes` Axes to plot the piano roll on. - pianoroll : ndarray, shape=(?, 128) or (?, 128, 3) or (?, 128, 4) + pianoroll : ndarray, shape=(?, 128), (?, 128, 3) or (?, 128, 4) Piano roll to plot. For a 3D piano-roll array, the last axis can be either RGB or RGBA. is_drum : bool