diff --git a/doc/source/classes/base.rst b/doc/source/classes/base.rst new file mode 100644 index 00000000..9ab19682 --- /dev/null +++ b/doc/source/classes/base.rst @@ -0,0 +1,27 @@ +============ +Base Classes +============ + + +Base Class +========== + +All MusPy classes inherit from the :class:`muspy.Base` class. A :class:`muspy.Base` object supports the following operations. + +- :meth:`muspy.Base.to_ordered_dict`: convert the content into an ordered dictionary +- :meth:`muspy.Base.from_dict` (class method): create a MusPy object of a certain class +- :meth:`muspy.Base.print`: show the content in a YAML-like format +- :meth:`muspy.Base.validate`: validate the data stored in an object +- :meth:`muspy.Base.is_valid`: return a boolean indicating if the stored data is valid +- :meth:`muspy.Base.adjust_time`: adjust the timing of an object + + +ComplexBase Class +================= + +MusPy classes that contains list attributes also inherit from the :class:`muspy.ComplexBase` class. A :class:`muspy.ComplexBase` object supports the following operations. + +- :meth:`muspy.ComplexBase.append`: append an object to the corresponding list +- :meth:`muspy.ComplexBase.remove_invalid`: remove invalid items from the lists +- :meth:`muspy.ComplexBase.sort`: sort the lists +- :meth:`muspy.ComplexBase.remove_duplicate`: remove duplicate items from the lists diff --git a/doc/source/classes/index.rst b/doc/source/classes/index.rst index aa7b8137..aeee2865 100644 --- a/doc/source/classes/index.rst +++ b/doc/source/classes/index.rst @@ -2,9 +2,15 @@ MusPy Classes ============= +MusPy provides several classes for working with symbolic music. Here is an illustration of the relations between different MusPy classes. + +.. image:: ../images/classes.svg + + .. toctree:: :hidden: + base music track metadata @@ -15,31 +21,3 @@ MusPy Classes annotation note chord - -MusPy provides several classes for working with symbolic music. Here is an illustration of the relations between different MusPy classes. - -.. image:: ../images/classes.svg - - -Base Class -========== - -All MusPy classes inherit from the :class:`muspy.Base` class. A :class:`muspy.Base` object supports the following operations. - -- :meth:`muspy.Base.to_ordered_dict`: convert the content into an ordered dictionary -- :meth:`muspy.Base.from_dict` (class method): create a MusPy object of a certain class -- :meth:`muspy.Base.print`: show the content in a YAML-like format -- :meth:`muspy.Base.validate`: validate the data stored in an object -- :meth:`muspy.Base.is_valid`: return a boolean indicating if the stored data is valid -- :meth:`muspy.Base.adjust_time`: adjust the timing of an object - - -ComplexBase Class -================= - -MusPy classes that contains list attributes also inherit from the :class:`muspy.ComplexBase` class. A :class:`muspy.ComplexBase` object supports the following operations. - -- :meth:`muspy.ComplexBase.append`: append an object to the corresponding list -- :meth:`muspy.ComplexBase.remove_invalid`: remove invalid items from the lists -- :meth:`muspy.ComplexBase.sort`: sort the lists -- :meth:`muspy.ComplexBase.remove_duplicate`: remove duplicate items from the lists diff --git a/doc/source/conf.py b/doc/source/conf.py index 62c57d5d..ea191a5c 100644 --- a/doc/source/conf.py +++ b/doc/source/conf.py @@ -22,8 +22,6 @@ project = "MusPy" copyright = "2020, Hao-Wen Dong" author = "Hao-Wen Dong" -version = muspy.__version__ -release = muspy.__version__ # -- General configuration --------------------------------------------------- diff --git a/doc/source/datasets/datasets.rst b/doc/source/datasets/datasets.rst new file mode 100644 index 00000000..34681c5a --- /dev/null +++ b/doc/source/datasets/datasets.rst @@ -0,0 +1,23 @@ +================== +Supported Datasets +================== + +Here is a list of the supported datasets. + +============================ ======== ====== ======= ========= ====== ====== ========== +Dataset Format Hours Songs Genre Melody Chords Multitrack +============================ ======== ====== ======= ========= ====== ====== ========== +Lakh MIDI Dataset MIDI >5000 174,533 misc \* \* \* +MAESTRO Dataset MIDI 201.21 1,282 classical +Wikifonia Lead Sheet Dataset MusicXML 198.40 6,405 misc O O +Essen Folk Song Dataset ABC 56.62 9,034 folk O O +NES Music Database MIDI 46.11 5,278 game O O +Hymnal Tune Dataset MIDI 18.74 1,756 hymn O +Hymnal Dataset MIDI 17.50 1,723 hymn +music21's Corpus misc 16.86 613 misc \* \* +Nottingham Database ABC 10.54 1,036 folk O O +music21's JSBach Corpus MusicXML 3.46 410 classical O +JSBach Chorale Dataset MIDI 3.21 382 classical O +============================ ======== ====== ======= ========= ====== ====== ========== + +(Asterisk marks indicate partial support.) diff --git a/doc/source/datasets/index.rst b/doc/source/datasets/index.rst index fb8e7c71..695e1479 100644 --- a/doc/source/datasets/index.rst +++ b/doc/source/datasets/index.rst @@ -22,52 +22,11 @@ MusPy provides an easy-to-use dataset management system. Each supported dataset dataset = nes.to_pytorch_dataset(representation="pianoroll") -Iterating over a MusPy Dataset object -===================================== - -Here is an illustration of the two internal processing modes for iterating over -a MusPy Dataset object. - -.. image:: ../images/on_the_fly.svg - :align: center - :width: 475px - -.. image:: ../images/preconverted1.svg - :align: center - :width: 500px - -.. image:: ../images/preconverted2.svg - :align: center - :width: 475px - - -Supported Datasets -================== - -Here is a list of the supported datasets. - -============================ ======== ====== ======= ========= ====== ====== ========== -Dataset Format Hours Songs Genre Melody Chords Multitrack -============================ ======== ====== ======= ========= ====== ====== ========== -Lakh MIDI Dataset MIDI >5000 174,533 misc \* \* \* -MAESTRO Dataset MIDI 201.21 1,282 classical -Wikifonia Lead Sheet Dataset MusicXML 198.40 6,405 misc O O -Essen Folk Song Dataset ABC 56.62 9,034 folk O O -NES Music Database MIDI 46.11 5,278 game O O -Hymnal Tune Dataset MIDI 18.74 1,756 hymn O -Hymnal Dataset MIDI 17.50 1,723 hymn -music21's Corpus misc 16.86 613 misc \* \* -Nottingham Database ABC 10.54 1,036 folk O O -music21's JSBach Corpus MusicXML 3.46 410 classical O -JSBach Chorale Dataset MIDI 3.21 382 classical O -============================ ======== ====== ======= ========= ====== ====== ========== - -(Asterisk marks indicate partial support.) - - .. toctree:: :hidden: + iterator + datasets base local remote diff --git a/doc/source/datasets/iterator.rst b/doc/source/datasets/iterator.rst new file mode 100644 index 00000000..73587647 --- /dev/null +++ b/doc/source/datasets/iterator.rst @@ -0,0 +1,18 @@ +===================================== +Iterating over a MusPy Dataset object +===================================== + +Here is an illustration of the two internal processing modes for iterating over +a MusPy Dataset object. + +.. image:: ../images/on_the_fly.svg + :align: center + :width: 475px + +.. image:: ../images/preconverted1.svg + :align: center + :width: 500px + +.. image:: ../images/preconverted2.svg + :align: center + :width: 475px diff --git a/doc/source/io/index.rst b/doc/source/io/index.rst index a7d3ffb7..441c9cf3 100644 --- a/doc/source/io/index.rst +++ b/doc/source/io/index.rst @@ -8,10 +8,9 @@ MusPy provides three type of data I/O interfaces. - MusPy's native JSON and YAML formats: ``muspy.load_*`` and ``muspy.save_*`` - Other symbolic music libraries: ``muspy.from_*`` and ``muspy.to_*`` -Here is a list of the supported interfaces. .. toctree:: - :titlesonly: + :hidden: midi musicxml diff --git a/docs/.buildinfo b/docs/.buildinfo index 409dc823..9383a57b 100644 --- a/docs/.buildinfo +++ b/docs/.buildinfo @@ -1,4 +1,4 @@ # Sphinx build info version 1 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. -config: df18c40425533571f04d144c2a989f91 +config: b1e7048c2d42530d6d3e45917004b0ae tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/docs/_modules/index.html b/docs/_modules/index.html index 32f15b35..30878ea3 100644 --- a/docs/_modules/index.html +++ b/docs/_modules/index.html @@ -7,7 +7,7 @@ - Overview: module code — MusPy 0.0.0 documentation + Overview: module code — MusPy documentation @@ -62,10 +62,6 @@ -
- 0.0.0 -
- diff --git a/docs/_modules/muspy/base.html b/docs/_modules/muspy/base.html index bb0c6be7..a5639175 100644 --- a/docs/_modules/muspy/base.html +++ b/docs/_modules/muspy/base.html @@ -7,7 +7,7 @@ - muspy.base — MusPy 0.0.0 documentation + muspy.base — MusPy documentation @@ -62,10 +62,6 @@ -
- 0.0.0 -
- diff --git a/docs/_modules/muspy/classes.html b/docs/_modules/muspy/classes.html index 7bb0d314..a6a5f05a 100644 --- a/docs/_modules/muspy/classes.html +++ b/docs/_modules/muspy/classes.html @@ -7,7 +7,7 @@ - muspy.classes — MusPy 0.0.0 documentation + muspy.classes — MusPy documentation @@ -62,10 +62,6 @@ -
- 0.0.0 -
- diff --git a/docs/_modules/muspy/core.html b/docs/_modules/muspy/core.html index f54604c8..df24b0ad 100644 --- a/docs/_modules/muspy/core.html +++ b/docs/_modules/muspy/core.html @@ -7,7 +7,7 @@ - muspy.core — MusPy 0.0.0 documentation + muspy.core — MusPy documentation @@ -62,10 +62,6 @@ -
- 0.0.0 -
- diff --git a/docs/_modules/muspy/datasets/base.html b/docs/_modules/muspy/datasets/base.html index 21a8263a..5743c192 100644 --- a/docs/_modules/muspy/datasets/base.html +++ b/docs/_modules/muspy/datasets/base.html @@ -7,7 +7,7 @@ - muspy.datasets.base — MusPy 0.0.0 documentation + muspy.datasets.base — MusPy documentation @@ -62,10 +62,6 @@ -
- 0.0.0 -
- diff --git a/docs/_modules/muspy/datasets/essen.html b/docs/_modules/muspy/datasets/essen.html index e822d7db..80e828d4 100644 --- a/docs/_modules/muspy/datasets/essen.html +++ b/docs/_modules/muspy/datasets/essen.html @@ -7,7 +7,7 @@ - muspy.datasets.essen — MusPy 0.0.0 documentation + muspy.datasets.essen — MusPy documentation @@ -62,10 +62,6 @@ -
- 0.0.0 -
- diff --git a/docs/_modules/muspy/datasets/hymnal.html b/docs/_modules/muspy/datasets/hymnal.html index b14a320e..e43d5000 100644 --- a/docs/_modules/muspy/datasets/hymnal.html +++ b/docs/_modules/muspy/datasets/hymnal.html @@ -7,7 +7,7 @@ - muspy.datasets.hymnal — MusPy 0.0.0 documentation + muspy.datasets.hymnal — MusPy documentation @@ -62,10 +62,6 @@ -
- 0.0.0 -
- diff --git a/docs/_modules/muspy/datasets/jsb.html b/docs/_modules/muspy/datasets/jsb.html index 8d48ddfa..b2b16d5d 100644 --- a/docs/_modules/muspy/datasets/jsb.html +++ b/docs/_modules/muspy/datasets/jsb.html @@ -7,7 +7,7 @@ - muspy.datasets.jsb — MusPy 0.0.0 documentation + muspy.datasets.jsb — MusPy documentation @@ -62,10 +62,6 @@ -
- 0.0.0 -
- diff --git a/docs/_modules/muspy/datasets/lmd.html b/docs/_modules/muspy/datasets/lmd.html index 8e10e9d3..1ccd0782 100644 --- a/docs/_modules/muspy/datasets/lmd.html +++ b/docs/_modules/muspy/datasets/lmd.html @@ -7,7 +7,7 @@ - muspy.datasets.lmd — MusPy 0.0.0 documentation + muspy.datasets.lmd — MusPy documentation @@ -62,10 +62,6 @@ -
- 0.0.0 -
- diff --git a/docs/_modules/muspy/datasets/maestro.html b/docs/_modules/muspy/datasets/maestro.html index 2472724a..61ed1bc5 100644 --- a/docs/_modules/muspy/datasets/maestro.html +++ b/docs/_modules/muspy/datasets/maestro.html @@ -7,7 +7,7 @@ - muspy.datasets.maestro — MusPy 0.0.0 documentation + muspy.datasets.maestro — MusPy documentation @@ -62,10 +62,6 @@ -
- 0.0.0 -
- diff --git a/docs/_modules/muspy/datasets/music21.html b/docs/_modules/muspy/datasets/music21.html index fc4e54ba..4b6ffe3e 100644 --- a/docs/_modules/muspy/datasets/music21.html +++ b/docs/_modules/muspy/datasets/music21.html @@ -7,7 +7,7 @@ - muspy.datasets.music21 — MusPy 0.0.0 documentation + muspy.datasets.music21 — MusPy documentation @@ -62,10 +62,6 @@ -
- 0.0.0 -
- diff --git a/docs/_modules/muspy/datasets/nes.html b/docs/_modules/muspy/datasets/nes.html index cba59264..b71f1685 100644 --- a/docs/_modules/muspy/datasets/nes.html +++ b/docs/_modules/muspy/datasets/nes.html @@ -7,7 +7,7 @@ - muspy.datasets.nes — MusPy 0.0.0 documentation + muspy.datasets.nes — MusPy documentation @@ -62,10 +62,6 @@ -
- 0.0.0 -
- diff --git a/docs/_modules/muspy/datasets/nmd.html b/docs/_modules/muspy/datasets/nmd.html index dc4006bc..054386e7 100644 --- a/docs/_modules/muspy/datasets/nmd.html +++ b/docs/_modules/muspy/datasets/nmd.html @@ -7,7 +7,7 @@ - muspy.datasets.nmd — MusPy 0.0.0 documentation + muspy.datasets.nmd — MusPy documentation @@ -62,10 +62,6 @@ -
- 0.0.0 -
- diff --git a/docs/_modules/muspy/datasets/wikifonia.html b/docs/_modules/muspy/datasets/wikifonia.html index 223e0ec3..10661d28 100644 --- a/docs/_modules/muspy/datasets/wikifonia.html +++ b/docs/_modules/muspy/datasets/wikifonia.html @@ -7,7 +7,7 @@ - muspy.datasets.wikifonia — MusPy 0.0.0 documentation + muspy.datasets.wikifonia — MusPy documentation @@ -62,10 +62,6 @@ -
- 0.0.0 -
- diff --git a/docs/_modules/muspy/external.html b/docs/_modules/muspy/external.html index 02393995..58977276 100644 --- a/docs/_modules/muspy/external.html +++ b/docs/_modules/muspy/external.html @@ -7,7 +7,7 @@ - muspy.external — MusPy 0.0.0 documentation + muspy.external — MusPy documentation @@ -62,10 +62,6 @@ -
- 0.0.0 -
- diff --git a/docs/_modules/muspy/inputs/abc.html b/docs/_modules/muspy/inputs/abc.html index bc135a6d..619e71d7 100644 --- a/docs/_modules/muspy/inputs/abc.html +++ b/docs/_modules/muspy/inputs/abc.html @@ -7,7 +7,7 @@ - muspy.inputs.abc — MusPy 0.0.0 documentation + muspy.inputs.abc — MusPy documentation @@ -62,10 +62,6 @@ -
- 0.0.0 -
- diff --git a/docs/_modules/muspy/inputs/event.html b/docs/_modules/muspy/inputs/event.html index bab5ce8d..5ed47b94 100644 --- a/docs/_modules/muspy/inputs/event.html +++ b/docs/_modules/muspy/inputs/event.html @@ -7,7 +7,7 @@ - muspy.inputs.event — MusPy 0.0.0 documentation + muspy.inputs.event — MusPy documentation @@ -62,10 +62,6 @@ -
- 0.0.0 -
- diff --git a/docs/_modules/muspy/inputs/json.html b/docs/_modules/muspy/inputs/json.html index 152e47db..0b33400a 100644 --- a/docs/_modules/muspy/inputs/json.html +++ b/docs/_modules/muspy/inputs/json.html @@ -7,7 +7,7 @@ - muspy.inputs.json — MusPy 0.0.0 documentation + muspy.inputs.json — MusPy documentation @@ -62,10 +62,6 @@ -
- 0.0.0 -
- diff --git a/docs/_modules/muspy/inputs/midi.html b/docs/_modules/muspy/inputs/midi.html index 778e0b22..33d9cde4 100644 --- a/docs/_modules/muspy/inputs/midi.html +++ b/docs/_modules/muspy/inputs/midi.html @@ -7,7 +7,7 @@ - muspy.inputs.midi — MusPy 0.0.0 documentation + muspy.inputs.midi — MusPy documentation @@ -62,10 +62,6 @@ -
- 0.0.0 -
- diff --git a/docs/_modules/muspy/inputs/music21.html b/docs/_modules/muspy/inputs/music21.html index 38a78920..aa201656 100644 --- a/docs/_modules/muspy/inputs/music21.html +++ b/docs/_modules/muspy/inputs/music21.html @@ -7,7 +7,7 @@ - muspy.inputs.music21 — MusPy 0.0.0 documentation + muspy.inputs.music21 — MusPy documentation @@ -62,10 +62,6 @@ -
- 0.0.0 -
- diff --git a/docs/_modules/muspy/inputs/musicxml.html b/docs/_modules/muspy/inputs/musicxml.html index ad8b7dcf..f272ab5d 100644 --- a/docs/_modules/muspy/inputs/musicxml.html +++ b/docs/_modules/muspy/inputs/musicxml.html @@ -7,7 +7,7 @@ - muspy.inputs.musicxml — MusPy 0.0.0 documentation + muspy.inputs.musicxml — MusPy documentation @@ -62,10 +62,6 @@ -
- 0.0.0 -
- diff --git a/docs/_modules/muspy/inputs/note.html b/docs/_modules/muspy/inputs/note.html index 9dc94eb5..37930233 100644 --- a/docs/_modules/muspy/inputs/note.html +++ b/docs/_modules/muspy/inputs/note.html @@ -7,7 +7,7 @@ - muspy.inputs.note — MusPy 0.0.0 documentation + muspy.inputs.note — MusPy documentation @@ -62,10 +62,6 @@ -
- 0.0.0 -
- diff --git a/docs/_modules/muspy/inputs/pianoroll.html b/docs/_modules/muspy/inputs/pianoroll.html index a03bc058..c2e39139 100644 --- a/docs/_modules/muspy/inputs/pianoroll.html +++ b/docs/_modules/muspy/inputs/pianoroll.html @@ -7,7 +7,7 @@ - muspy.inputs.pianoroll — MusPy 0.0.0 documentation + muspy.inputs.pianoroll — MusPy documentation @@ -62,10 +62,6 @@ -
- 0.0.0 -
- diff --git a/docs/_modules/muspy/inputs/pitch.html b/docs/_modules/muspy/inputs/pitch.html index 5ace660b..f6da935a 100644 --- a/docs/_modules/muspy/inputs/pitch.html +++ b/docs/_modules/muspy/inputs/pitch.html @@ -7,7 +7,7 @@ - muspy.inputs.pitch — MusPy 0.0.0 documentation + muspy.inputs.pitch — MusPy documentation @@ -62,10 +62,6 @@ -
- 0.0.0 -
- diff --git a/docs/_modules/muspy/inputs/wrappers.html b/docs/_modules/muspy/inputs/wrappers.html index a4514b42..64964683 100644 --- a/docs/_modules/muspy/inputs/wrappers.html +++ b/docs/_modules/muspy/inputs/wrappers.html @@ -7,7 +7,7 @@ - muspy.inputs.wrappers — MusPy 0.0.0 documentation + muspy.inputs.wrappers — MusPy documentation @@ -62,10 +62,6 @@ -
- 0.0.0 -
- diff --git a/docs/_modules/muspy/inputs/yaml.html b/docs/_modules/muspy/inputs/yaml.html index fa2d586e..c849ae43 100644 --- a/docs/_modules/muspy/inputs/yaml.html +++ b/docs/_modules/muspy/inputs/yaml.html @@ -7,7 +7,7 @@ - muspy.inputs.yaml — MusPy 0.0.0 documentation + muspy.inputs.yaml — MusPy documentation @@ -62,10 +62,6 @@ -
- 0.0.0 -
- diff --git a/docs/_modules/muspy/metrics/metrics.html b/docs/_modules/muspy/metrics/metrics.html index eaf96a6e..15c840b3 100644 --- a/docs/_modules/muspy/metrics/metrics.html +++ b/docs/_modules/muspy/metrics/metrics.html @@ -7,7 +7,7 @@ - muspy.metrics.metrics — MusPy 0.0.0 documentation + muspy.metrics.metrics — MusPy documentation @@ -62,10 +62,6 @@ -
- 0.0.0 -
- diff --git a/docs/_modules/muspy/music.html b/docs/_modules/muspy/music.html index 9fed8ad3..c398af82 100644 --- a/docs/_modules/muspy/music.html +++ b/docs/_modules/muspy/music.html @@ -7,7 +7,7 @@ - muspy.music — MusPy 0.0.0 documentation + muspy.music — MusPy documentation @@ -62,10 +62,6 @@ -
- 0.0.0 -
- diff --git a/docs/_modules/muspy/outputs/abc.html b/docs/_modules/muspy/outputs/abc.html index eb28e36b..b5acc54f 100644 --- a/docs/_modules/muspy/outputs/abc.html +++ b/docs/_modules/muspy/outputs/abc.html @@ -7,7 +7,7 @@ - muspy.outputs.abc — MusPy 0.0.0 documentation + muspy.outputs.abc — MusPy documentation @@ -62,10 +62,6 @@ -
- 0.0.0 -
- diff --git a/docs/_modules/muspy/outputs/audio.html b/docs/_modules/muspy/outputs/audio.html index 4a3eaaf1..f6afa662 100644 --- a/docs/_modules/muspy/outputs/audio.html +++ b/docs/_modules/muspy/outputs/audio.html @@ -7,7 +7,7 @@ - muspy.outputs.audio — MusPy 0.0.0 documentation + muspy.outputs.audio — MusPy documentation @@ -62,10 +62,6 @@ -
- 0.0.0 -
- diff --git a/docs/_modules/muspy/outputs/event.html b/docs/_modules/muspy/outputs/event.html index cd176230..76749159 100644 --- a/docs/_modules/muspy/outputs/event.html +++ b/docs/_modules/muspy/outputs/event.html @@ -7,7 +7,7 @@ - muspy.outputs.event — MusPy 0.0.0 documentation + muspy.outputs.event — MusPy documentation @@ -62,10 +62,6 @@ -
- 0.0.0 -
- diff --git a/docs/_modules/muspy/outputs/json.html b/docs/_modules/muspy/outputs/json.html index fba6f7fe..413a599d 100644 --- a/docs/_modules/muspy/outputs/json.html +++ b/docs/_modules/muspy/outputs/json.html @@ -7,7 +7,7 @@ - muspy.outputs.json — MusPy 0.0.0 documentation + muspy.outputs.json — MusPy documentation @@ -62,10 +62,6 @@ -
- 0.0.0 -
- diff --git a/docs/_modules/muspy/outputs/midi.html b/docs/_modules/muspy/outputs/midi.html index 49e2b685..f15613ef 100644 --- a/docs/_modules/muspy/outputs/midi.html +++ b/docs/_modules/muspy/outputs/midi.html @@ -7,7 +7,7 @@ - muspy.outputs.midi — MusPy 0.0.0 documentation + muspy.outputs.midi — MusPy documentation @@ -62,10 +62,6 @@ -
- 0.0.0 -
- diff --git a/docs/_modules/muspy/outputs/music21.html b/docs/_modules/muspy/outputs/music21.html index ce545a11..ffb180d1 100644 --- a/docs/_modules/muspy/outputs/music21.html +++ b/docs/_modules/muspy/outputs/music21.html @@ -7,7 +7,7 @@ - muspy.outputs.music21 — MusPy 0.0.0 documentation + muspy.outputs.music21 — MusPy documentation @@ -62,10 +62,6 @@ -
- 0.0.0 -
- diff --git a/docs/_modules/muspy/outputs/musicxml.html b/docs/_modules/muspy/outputs/musicxml.html index e384ac5d..091ec722 100644 --- a/docs/_modules/muspy/outputs/musicxml.html +++ b/docs/_modules/muspy/outputs/musicxml.html @@ -7,7 +7,7 @@ - muspy.outputs.musicxml — MusPy 0.0.0 documentation + muspy.outputs.musicxml — MusPy documentation @@ -62,10 +62,6 @@ -
- 0.0.0 -
- diff --git a/docs/_modules/muspy/outputs/note.html b/docs/_modules/muspy/outputs/note.html index 8702fa66..081df90d 100644 --- a/docs/_modules/muspy/outputs/note.html +++ b/docs/_modules/muspy/outputs/note.html @@ -7,7 +7,7 @@ - muspy.outputs.note — MusPy 0.0.0 documentation + muspy.outputs.note — MusPy documentation @@ -62,10 +62,6 @@ -
- 0.0.0 -
- diff --git a/docs/_modules/muspy/outputs/pianoroll.html b/docs/_modules/muspy/outputs/pianoroll.html index 833e3ed5..021eca68 100644 --- a/docs/_modules/muspy/outputs/pianoroll.html +++ b/docs/_modules/muspy/outputs/pianoroll.html @@ -7,7 +7,7 @@ - muspy.outputs.pianoroll — MusPy 0.0.0 documentation + muspy.outputs.pianoroll — MusPy documentation @@ -62,10 +62,6 @@ -
- 0.0.0 -
- diff --git a/docs/_modules/muspy/outputs/pitch.html b/docs/_modules/muspy/outputs/pitch.html index 79dd8ab4..d80ba2b3 100644 --- a/docs/_modules/muspy/outputs/pitch.html +++ b/docs/_modules/muspy/outputs/pitch.html @@ -7,7 +7,7 @@ - muspy.outputs.pitch — MusPy 0.0.0 documentation + muspy.outputs.pitch — MusPy documentation @@ -62,10 +62,6 @@ -
- 0.0.0 -
- diff --git a/docs/_modules/muspy/outputs/wrappers.html b/docs/_modules/muspy/outputs/wrappers.html index 26512259..84a36a0f 100644 --- a/docs/_modules/muspy/outputs/wrappers.html +++ b/docs/_modules/muspy/outputs/wrappers.html @@ -7,7 +7,7 @@ - muspy.outputs.wrappers — MusPy 0.0.0 documentation + muspy.outputs.wrappers — MusPy documentation @@ -62,10 +62,6 @@ -
- 0.0.0 -
- diff --git a/docs/_modules/muspy/outputs/yaml.html b/docs/_modules/muspy/outputs/yaml.html index 69d11673..24256725 100644 --- a/docs/_modules/muspy/outputs/yaml.html +++ b/docs/_modules/muspy/outputs/yaml.html @@ -7,7 +7,7 @@ - muspy.outputs.yaml — MusPy 0.0.0 documentation + muspy.outputs.yaml — MusPy documentation @@ -62,10 +62,6 @@ -
- 0.0.0 -
- diff --git a/docs/_modules/muspy/processors.html b/docs/_modules/muspy/processors.html index 07935da6..67d46f84 100644 --- a/docs/_modules/muspy/processors.html +++ b/docs/_modules/muspy/processors.html @@ -7,7 +7,7 @@ - muspy.processors — MusPy 0.0.0 documentation + muspy.processors — MusPy documentation @@ -62,10 +62,6 @@ -
- 0.0.0 -
- diff --git a/docs/_modules/muspy/schemas/utils.html b/docs/_modules/muspy/schemas/utils.html index 76da4d22..3110be2d 100644 --- a/docs/_modules/muspy/schemas/utils.html +++ b/docs/_modules/muspy/schemas/utils.html @@ -7,7 +7,7 @@ - muspy.schemas.utils — MusPy 0.0.0 documentation + muspy.schemas.utils — MusPy documentation @@ -62,10 +62,6 @@ -
- 0.0.0 -
- diff --git a/docs/_modules/muspy/visualization/pianoroll.html b/docs/_modules/muspy/visualization/pianoroll.html index 2a670106..fb107075 100644 --- a/docs/_modules/muspy/visualization/pianoroll.html +++ b/docs/_modules/muspy/visualization/pianoroll.html @@ -7,7 +7,7 @@ - muspy.visualization.pianoroll — MusPy 0.0.0 documentation + muspy.visualization.pianoroll — MusPy documentation @@ -62,10 +62,6 @@ -
- 0.0.0 -
- diff --git a/docs/_modules/muspy/visualization/score.html b/docs/_modules/muspy/visualization/score.html index cd117f7e..b53d9f62 100644 --- a/docs/_modules/muspy/visualization/score.html +++ b/docs/_modules/muspy/visualization/score.html @@ -7,7 +7,7 @@ - muspy.visualization.score — MusPy 0.0.0 documentation + muspy.visualization.score — MusPy documentation @@ -62,10 +62,6 @@ -
- 0.0.0 -
- diff --git a/docs/_modules/muspy/visualization/wrappers.html b/docs/_modules/muspy/visualization/wrappers.html index 732bed22..352dd754 100644 --- a/docs/_modules/muspy/visualization/wrappers.html +++ b/docs/_modules/muspy/visualization/wrappers.html @@ -7,7 +7,7 @@ - muspy.visualization.wrappers — MusPy 0.0.0 documentation + muspy.visualization.wrappers — MusPy documentation @@ -62,10 +62,6 @@ -
- 0.0.0 -
- diff --git a/docs/_sources/classes/base.rst.txt b/docs/_sources/classes/base.rst.txt new file mode 100644 index 00000000..9ab19682 --- /dev/null +++ b/docs/_sources/classes/base.rst.txt @@ -0,0 +1,27 @@ +============ +Base Classes +============ + + +Base Class +========== + +All MusPy classes inherit from the :class:`muspy.Base` class. A :class:`muspy.Base` object supports the following operations. + +- :meth:`muspy.Base.to_ordered_dict`: convert the content into an ordered dictionary +- :meth:`muspy.Base.from_dict` (class method): create a MusPy object of a certain class +- :meth:`muspy.Base.print`: show the content in a YAML-like format +- :meth:`muspy.Base.validate`: validate the data stored in an object +- :meth:`muspy.Base.is_valid`: return a boolean indicating if the stored data is valid +- :meth:`muspy.Base.adjust_time`: adjust the timing of an object + + +ComplexBase Class +================= + +MusPy classes that contains list attributes also inherit from the :class:`muspy.ComplexBase` class. A :class:`muspy.ComplexBase` object supports the following operations. + +- :meth:`muspy.ComplexBase.append`: append an object to the corresponding list +- :meth:`muspy.ComplexBase.remove_invalid`: remove invalid items from the lists +- :meth:`muspy.ComplexBase.sort`: sort the lists +- :meth:`muspy.ComplexBase.remove_duplicate`: remove duplicate items from the lists diff --git a/docs/_sources/classes/index.rst.txt b/docs/_sources/classes/index.rst.txt index aa7b8137..aeee2865 100644 --- a/docs/_sources/classes/index.rst.txt +++ b/docs/_sources/classes/index.rst.txt @@ -2,9 +2,15 @@ MusPy Classes ============= +MusPy provides several classes for working with symbolic music. Here is an illustration of the relations between different MusPy classes. + +.. image:: ../images/classes.svg + + .. toctree:: :hidden: + base music track metadata @@ -15,31 +21,3 @@ MusPy Classes annotation note chord - -MusPy provides several classes for working with symbolic music. Here is an illustration of the relations between different MusPy classes. - -.. image:: ../images/classes.svg - - -Base Class -========== - -All MusPy classes inherit from the :class:`muspy.Base` class. A :class:`muspy.Base` object supports the following operations. - -- :meth:`muspy.Base.to_ordered_dict`: convert the content into an ordered dictionary -- :meth:`muspy.Base.from_dict` (class method): create a MusPy object of a certain class -- :meth:`muspy.Base.print`: show the content in a YAML-like format -- :meth:`muspy.Base.validate`: validate the data stored in an object -- :meth:`muspy.Base.is_valid`: return a boolean indicating if the stored data is valid -- :meth:`muspy.Base.adjust_time`: adjust the timing of an object - - -ComplexBase Class -================= - -MusPy classes that contains list attributes also inherit from the :class:`muspy.ComplexBase` class. A :class:`muspy.ComplexBase` object supports the following operations. - -- :meth:`muspy.ComplexBase.append`: append an object to the corresponding list -- :meth:`muspy.ComplexBase.remove_invalid`: remove invalid items from the lists -- :meth:`muspy.ComplexBase.sort`: sort the lists -- :meth:`muspy.ComplexBase.remove_duplicate`: remove duplicate items from the lists diff --git a/docs/_sources/datasets/datasets.rst.txt b/docs/_sources/datasets/datasets.rst.txt new file mode 100644 index 00000000..34681c5a --- /dev/null +++ b/docs/_sources/datasets/datasets.rst.txt @@ -0,0 +1,23 @@ +================== +Supported Datasets +================== + +Here is a list of the supported datasets. + +============================ ======== ====== ======= ========= ====== ====== ========== +Dataset Format Hours Songs Genre Melody Chords Multitrack +============================ ======== ====== ======= ========= ====== ====== ========== +Lakh MIDI Dataset MIDI >5000 174,533 misc \* \* \* +MAESTRO Dataset MIDI 201.21 1,282 classical +Wikifonia Lead Sheet Dataset MusicXML 198.40 6,405 misc O O +Essen Folk Song Dataset ABC 56.62 9,034 folk O O +NES Music Database MIDI 46.11 5,278 game O O +Hymnal Tune Dataset MIDI 18.74 1,756 hymn O +Hymnal Dataset MIDI 17.50 1,723 hymn +music21's Corpus misc 16.86 613 misc \* \* +Nottingham Database ABC 10.54 1,036 folk O O +music21's JSBach Corpus MusicXML 3.46 410 classical O +JSBach Chorale Dataset MIDI 3.21 382 classical O +============================ ======== ====== ======= ========= ====== ====== ========== + +(Asterisk marks indicate partial support.) diff --git a/docs/_sources/datasets/index.rst.txt b/docs/_sources/datasets/index.rst.txt index fb8e7c71..695e1479 100644 --- a/docs/_sources/datasets/index.rst.txt +++ b/docs/_sources/datasets/index.rst.txt @@ -22,52 +22,11 @@ MusPy provides an easy-to-use dataset management system. Each supported dataset dataset = nes.to_pytorch_dataset(representation="pianoroll") -Iterating over a MusPy Dataset object -===================================== - -Here is an illustration of the two internal processing modes for iterating over -a MusPy Dataset object. - -.. image:: ../images/on_the_fly.svg - :align: center - :width: 475px - -.. image:: ../images/preconverted1.svg - :align: center - :width: 500px - -.. image:: ../images/preconverted2.svg - :align: center - :width: 475px - - -Supported Datasets -================== - -Here is a list of the supported datasets. - -============================ ======== ====== ======= ========= ====== ====== ========== -Dataset Format Hours Songs Genre Melody Chords Multitrack -============================ ======== ====== ======= ========= ====== ====== ========== -Lakh MIDI Dataset MIDI >5000 174,533 misc \* \* \* -MAESTRO Dataset MIDI 201.21 1,282 classical -Wikifonia Lead Sheet Dataset MusicXML 198.40 6,405 misc O O -Essen Folk Song Dataset ABC 56.62 9,034 folk O O -NES Music Database MIDI 46.11 5,278 game O O -Hymnal Tune Dataset MIDI 18.74 1,756 hymn O -Hymnal Dataset MIDI 17.50 1,723 hymn -music21's Corpus misc 16.86 613 misc \* \* -Nottingham Database ABC 10.54 1,036 folk O O -music21's JSBach Corpus MusicXML 3.46 410 classical O -JSBach Chorale Dataset MIDI 3.21 382 classical O -============================ ======== ====== ======= ========= ====== ====== ========== - -(Asterisk marks indicate partial support.) - - .. toctree:: :hidden: + iterator + datasets base local remote diff --git a/docs/_sources/datasets/iterator.rst.txt b/docs/_sources/datasets/iterator.rst.txt new file mode 100644 index 00000000..73587647 --- /dev/null +++ b/docs/_sources/datasets/iterator.rst.txt @@ -0,0 +1,18 @@ +===================================== +Iterating over a MusPy Dataset object +===================================== + +Here is an illustration of the two internal processing modes for iterating over +a MusPy Dataset object. + +.. image:: ../images/on_the_fly.svg + :align: center + :width: 475px + +.. image:: ../images/preconverted1.svg + :align: center + :width: 500px + +.. image:: ../images/preconverted2.svg + :align: center + :width: 475px diff --git a/docs/_sources/io/index.rst.txt b/docs/_sources/io/index.rst.txt index a7d3ffb7..441c9cf3 100644 --- a/docs/_sources/io/index.rst.txt +++ b/docs/_sources/io/index.rst.txt @@ -8,10 +8,9 @@ MusPy provides three type of data I/O interfaces. - MusPy's native JSON and YAML formats: ``muspy.load_*`` and ``muspy.save_*`` - Other symbolic music libraries: ``muspy.from_*`` and ``muspy.to_*`` -Here is a list of the supported interfaces. .. toctree:: - :titlesonly: + :hidden: midi musicxml diff --git a/docs/_static/documentation_options.js b/docs/_static/documentation_options.js index 0dcee420..2fa8c97f 100644 --- a/docs/_static/documentation_options.js +++ b/docs/_static/documentation_options.js @@ -1,6 +1,6 @@ var DOCUMENTATION_OPTIONS = { URL_ROOT: document.getElementById("documentation_options").getAttribute('data-url_root'), - VERSION: '0.0.0', + VERSION: '', LANGUAGE: 'None', COLLAPSE_INDEX: false, BUILDER: 'html', diff --git a/docs/classes/annotation.html b/docs/classes/annotation.html index ebd51342..151eea9e 100644 --- a/docs/classes/annotation.html +++ b/docs/classes/annotation.html @@ -7,7 +7,7 @@ - Annotation Class — MusPy 0.0.0 documentation + Annotation Class — MusPy documentation @@ -64,10 +64,6 @@ -
- 0.0.0 -
- @@ -93,6 +89,7 @@