The ZIP archive exmaralda-dulko-<VERSION>.zip contains various files for the use of EXMARaLDA in the Dulko learner-corpus project of the German Linguistics chair at the Department of German Studies, University of Szeged. In particular, it provides an executable for Microsoft Windows (exmaralda-dulko.exe) as well as start-up scripts for Linux ( and MacOS (exmaralda-dulko.command) for running the Partitur-Editor with project-specific transformations scenarios, written in XSLT 1.0 or 2.0.

Installation instructions

  1. Unless already installed, install a recent Java runtime environment (JRE) or Java development kit (JDK), e.g. Oracle Java on Microsoft Windows and MacOS, or OpenJDK on Linux. Note that at least version 8 is required.

  2. Unless already installed, install TreeTagger into some directory <DIR1> (e.g into C:\Program Files\TreeTagger on Microsoft Windows, into /opt/treetagger on Linux, or into a directory called tree-tagger on the MacOS Desktop).

    Also download the German parameter file for TreeTagger and uncompress this gzipped file (on Microsoft Windows, 7-Zip can be used for uncompressing gzipped files). Create the directory <DIR1>/lib, copy the uncompressed parameter file there, and rename it to german-utf8.par.

  3. Unless already installed, install the release version of EXMARaLDA (1.6) into some directory <DIR2> (e.g. into C:\Program Files\EXMARaLDA on Microsoft Windows or into /opt/exmaralda on Linux; on MacOS, there should be an application called PartiturEditor in the Applications folder).

  4. Install EXMARaLDA (Dulko) into some directory <DIR3> (e.g. into C:\Program Files\EXMARaLDA (Dulko) on Microsoft Windows, into /opt/exmaralda-dulko on Linux, or onto the Desktop on MacOS).

    On Microsoft Windows, you can use for this task the setup program exmaralda-dulko-<VERSION>-setup.exe, which is included in the ZIP archive. Please note that on this system, <DIR3> must be a sister directory of <DIR2>, which is the setup program’s default.

    On Linux, extract the ZIP archive to <DIR3> and adapt the paths in, if needed.

    On MacOS, simply extract the ZIP archive onto the Desktop. There should be a directory called exmaralda-dulko-<VERSION>.

Configuration instructions

  1. Set the environment variable TREETAGGER_HOME to the <DIR1>.

    On Microsoft Windows, search for SystemPropertiesAdvanced and create a system environment variable with the name TREETAGGER_HOME and <DIR1> as its value.

    On Linux, add export TREETAGGER_HOME=<DIR1> to /etc/profile or $HOME/.profile.

    On MacOS, the environment variable TREETAGGER_HOME is set by the start-up script exmaralda-dulko.command to $HOME/Desktop/tree-tagger by default. This is the location of the directory tree-tagger on the MacOS desktop. If you installed TreeTagger into a different directory <DIR1>, you have to adapt the value of the environment variable in the start-up script accordingly.

  2. Run EXMARaLDA (Dulko).

    On Microsoft Windows, click on the EXMARaLDA (Dulko) icon on the desktop or run the application from the EXMARaLDA submenu in the start menu.

    On Linux, run the start-up script in <DIR3>.

    On MacOS, run the start-up script exmaralda-dulko.command in <DIR3>.

  3. Open the annotation panel (‘View’ > ‘Annotation panel’) and open the file <DIR3>/annotation-panel.xml.

  4. Optionally, open the preferences (‘Edit’ > ‘Preferences’), switch to the ‘Stylesheets’ tab, and set the ‘Transcription to format table’ stylesheet to <DIR3>/format-table.xsl.

Usage instructions

  1. Open <DIR3>/dulko.template.exb in EXMARaLDA (Dulko) (‘File’ > ‘Open’) and save it under a new name (‘File’ > ‘Save as’).1

  2. Open the metainformation dialog (‘Transcription’ > ‘Metainformation’) and edit general metadata.

  3. Open the speakertable (‘Transcription’ > ‘Speakertable’) and edit the speaker metadata.

  4. On the main window, write or paste the learner text into one or several cells of the first tier. You can also first work on a proper part of the learner text (e.g. the first sentence) and add further parts later on.

  5. Apply the transformation scenario ‘Dulko: tok-Spur (Lernertext)’ (‘Transcription’ > ‘Transformation’), which tokenises the learner text and normalises punctuation marks.

  6. Apply the transformation scenario ‘Dulko: S-, pos- und lemma-Spuren (Lernertext)’ for parts-of-speech tagging, lemmatisation, and sentence-span identification of the learner text.2

  7. Apply the transformation scenario ‘Dulko: trans-Spur (Lernertext)’ in case the learner text is a translation. Write or paste the text translated by the learner into the cells of the new tier.

  8. Apply the transformation scenario ‘Dulko: ZH- und Fehler-Spuren (1. Zielhypothese)’, which adds tiers for a target hypothesis and for error analysis.

  9. If required, insert additional timeline items (click on the next timeline item and choose ‘Timeline’ > ‘Insert timeline item’).3

    Unused timeline items can be removed by the transformation scenario ‘Dulko: Zeitachse’.

  10. Edit the target hypothesis, and tag errors by means of the annotation panel.

  11. Apply the transformation scenarios ‘Dulko: ZHS-, ZHpos- und ZHlemma-Spuren (1. Zielhypothese)’ and ‘Dulko: ZHDiff-Spur (1. Zielhypothese)’ (in this order) for parts-of-speech tagging, lemmatisation, and sentence-span identification of the target hypothesis as well as difference detection between the target hypothesis and the learner text.4

  12. Apply the transformation scenario ‘Dulko: ZHtrans-Spur (1. Zielhypothese)’ in case the learner text is a translation, which copies the translation supplied for the learner text.

In order to annotate further target hypotheses, apply the transformation scenarios for ‘2. Zielhypothese’, ‘3. Zielhypothese’, or ‘weitere Zielhypothese’. These transformation scenarios do not operate on the learner text but on the preceding target hypothesis.

Note that you can re-apply any of the above transformation scenarios in case you want to update the corresponding tiers, e.g. in order to revise the annotations or annotate further parts of the learner text.5

Apply the transformation scenario ‘Dulko: HTML-Version’ for exporting the table sentence-wise into a HTML file, which can be viewed and printed by means of your favourite browser.

Run ‘Transcription’ > ‘Export segmented transcription’ for exporting the table to an EXS file, which can be used in COMA and EXAKT.6

Apply the transformation scenario ‘Dulko: Spurennamen’ before exporting the final EXMARaLDA file to ANNIS via Pepper. This transformation scenario adds namespace prefixes like ZH1 and ZH2 to the target-hypothesis and error tiers. Those namespace prefixes are needed for properly ordering the tiers in ANNIS. Note that you have to remove the namespace prefixes again by the same transformation scenario if you want to re-edit the file in EXMARaLDA by means of the above transformation scenarios.

Andreas Nolda (

  1. Alternatively, you may start from a blank table (‘File’ > ‘New’). Metadata can be imported from <DIR3>/dulko.template.exb by applying the transformation scenario ‘Dulko: Metadaten’. 

  2. The stylesheets for sentence-span tiers (Satzspannen) automatically identifies sentence spans ending in a punctuation character that TreeTagger tags as $. (i.e., ., :, ;, or ...) or ending in an abbreviation followed by a capitalised version of a non-noun. Sentence spans with different endings have to be tagged manually by splitting the corresponding sentence-span event inserted by the stylesheet. 

  3. In case you insert new timeline items at the beginning of a sentence span, make sure to re-aligned the corresponding sentence-span events on all sentence-span tiers (Satzspannen-Spuren), either by manually extending them or by re-applying the transformation scenarios ‘Dulko: Satzspannen-Spur zur Token-Spur’ and/or ‘Dulko: Satzspannen-Spur’. 

  4. The stylesheet for difference tiers (Differenz-Spuren) tries hard to detect movement source and target pairs, which are tagged by MOVS and MOVT, respectively. If unsure, it tags potential movement sources and targets by the tags MOVS/DEL and MOVT/INS, which have to be manually disambiguated (e.g. by means of the annotation panel). 

  5. The only exception is the transformation scenario ‘Dulko: ZH- und Fehler-Spuren (weitere Zielhypothese)’, which always creates new tiers. 

  6. In EXMARaLDA (Dulko), this menu entry runs the XSLT stylesheet exb2exs.xsl on the current EXB file.