Music Transformation and Visualization | ||
---|---|---|
Previous | Next | |
Composition Language and Context Tree Models | Context-sensitive Search |
Music Processing Suite offers a transformation infrastructure to convert a number of music representation formats, including:
MIDI
filesMusicXML
filesMC3L
files, text files containing composition tree models specified using the domain-specific MPS composition languageDOT
representations of context tree modelsSVG
representations of context layer modelsLilyPond
score markupPDF
scoresSuperCollider
codeCSV
filesPDF
filesRefer to the following diagram for an overview:
Most of the transformations are covered in this chapter. For transformations regarding music analysis, refer to the corresponding chapter.
Visual representations of context tree models can be generated by clicking the button in the toolbar at the top of the application. The action is applicable to .mcl
files, which must be opened in an editor or selected before the button is clicked.
The resulting graph is stored as a .dot
file with the file name <source file>_TreeModel.svg
, which can be processed with Graphviz. If you want to open the resulting graphs, make sure Graphviz is installed and configured as described in section Graphviz Installation.
For rendering options, see section Visualization Options.
To transform a musical composition to a context layer model representation, simply select a source file and click the button in the toolbar at the top of the application.
Files with the following extensions can be converted to a context layer model:
.mid
or .midi
extension.xml
files with MusicXML content and .mxl
files (compressed MusicXML).mcl
extension containing context tree composition models in the domain-specific language of MPSIn case of .mcl
files, the conversion can also be invoked if the file is currently opened in an editor which is currently focused.
As a result, an .svg
file with the name <source file>_StreamModel.svg
will be created next to the source file. It will automatically be opened using a suitable application or editor. To configure a custom application to open .svg
files, refer to the official Eclipse documentation.
Refer to the following section for rendering options.
To adjust visualization options for context layer models and context layer models, follow these steps:
The following preference page will be shown.
The following visualization options are available:
Parameter | Description |
---|---|
Omit Simple Reference Nodes in Context Tree Model Graphs | By default, references are visualized by means of a reference node and a dotted line to the referenced node. If this option is activated, only the dotted line will be displayed. This is only possible if the reference node does not contain additional child nodes. |
Render Context Layer Model SVGs in Monochrome Colors | Uses gray shades for stream model visualizations. |
Context Layer Model Scaling Factor | Defines the number of horizontal graphical units used to represent a whole note. Increase this value if labels overlap their container bounds in stream model SVG visualizations. |
MPS supports the generation of musical scores in .pdf
and .midi
format for various input formats. The music notation software LilyPond is used for this purpose. Before using this feature, make sure that LilyPond is installed and configured as described in section LilyPond Installation. Score generation is triggered using the button in the toolbar at the top of the application.
The following input file types are supported:
.mid
or .midi
extension.xml
files with MusicXML content and .mxl
files (compressed MusicXML).mcl
extension containing context tree composition models in the domain-specific language of MPSIn case of .mcl
files, the conversion can also be invoked if the file is currently opened in an editor which is currently focused.
The system will internally convert the input file to a context layer model and derive a score representation of that model. Subsequently, the score representation will be exported in the form of a LilyPond file with the file name pattern <source file base name>_Score.ly
. The Eclipse plugin Elysium, which is automatically installed with MPS, will take care of the compilation of the LilyPond file, resulting in <source file base name>_Score.pdf
and <source file base name>_Score.midi
files of the score.
When generating a score for the first time, a launch configuration is automatically generated and opened. Launch configurations allow the customization of the score generation for each source file individually. The launch configuration dialog looks like this:
After making the desired adjustments, click the Apply button and then click Run to generate the score.
To change launch configurations later, click the black arrow next to the button in the toolbar and click Run Configurations.... Open the category MPS Score Generation and select the desired launch configuration.
The following options are available:
Parameter | Description |
---|---|
Output Format | Available output formats are LilyPond (.ly files) and MusicXML (.musicxml or .mxl files, depending on whether compression is enabled). |
Generate Tempo Specifications | Indicates whether tempo specifications are generated at the beginning of the piece and when the tempo changes. |
Generate Chord Symbols | If activated, chord symbols are generated above the staves. |
Omit Instrument Names | Omits instrument names on the left hand side of the staves. Also removes indention at the beginning of the first staff or staff group. |
Omit Short Instrument Names | Short instrument names are usually instrument abbreviations printed at the left hand side of staves after the very first staff or staff group, for example Cl. instead of Clarinet. Check this box to omit these. |
Insert Line Breaks before each Musical Section | If set, labeled sections (e.g. Verse, Chorus) start in a new staff block. |
Generate Fret Board Diagrams | If activated, fret board diagrams for the selected instrument are rendered above the staves illustrating the fingering of the respective chords. |
Score launch configurations can be reused, edited and deleted at any time. Refer to section Launch Configurations for further details.
To convert a composition into executable code for the sound synthesis language SuperCollider, simply click the button in the toolbar at the top of the application. A file named <source file base name>.scd
will be created as a result, containing the code. It can be opened in SuperCollider or directly executed from MPS, as explained in the following section.
The generated SuperCollider code can directly be executed in a running SuperCollider instance. If you want to use this feature, a corresponding extension has to be installed in your SuperCollider Extensions
directory. To install the MPS extension, copy the file MusicProcessingSuiteInterface.scd
located in the directory SuperCollider
of your installation root directory (which is wrapped into a directory named Contents/Eclipse
in the MPS.app
container on Mac OS X) to your SuperCollider Extensions
directory. Refer to http://doc.sccode.org/Guides/UsingExtensions.html for help locating the Extensions
directory.
Once the extension is installed (and SuperCollider restarted if already running), the resulting SuperCollider code can directly be executed by clicking the button in the toolbar.
It is also possible to perform code execution with a key binding. It can be defined under Preferences → General → Keys. Search for the action Execute SuperCollider Code and define your own key binding. The recommended scope is In Windows. The configuration is shown in the following screenshot:
Context tree models can automatically be derived for existing compositions. To invoke this functionality, select an input file and click the button in the toolbar.
Supported input file types are:
.mid
or .midi
extension.xml
files with MusicXML content and .mxl
files (compressed MusicXML).mcl
files (which already contain context tree models) can be given as input, because it can be interesting to see whether the algorithm is able to construct an even more compact model representation of a given context tree.The resulting context tree model will be stored under the file name <source file base name>_DerivedModel.mcl
next to the input file.
Eclipse stores configuration parameters for runnable processes in so called Launch Configurations. MPS creates default launch configurations for the following processes automatically:
These launch configurations can be reused, edited and deleted at any time. To show available launch configurations, click the black arrow next to the button in the toolbar and click Run Configurations....
In the following dialog, all launch configurations are displayed grouped by launch types. All launch configurations can be run, edited and deleted. In the example below, a score generation launch configuration is shown.
Previous | Top | Next |
Composition Language and Context Tree Models | Context-sensitive Search |