Documentation Wiki rss-feed

Tabulator

This agent connects after a keygroup and saves the keys that have been played as raw data and as human readable tablature. When a session is started, two files are created in the 'Tabulator' directory that can be found in your 'Eigenlabs' user directory.

The first version can be obtained from here:

Starting the tabulator can be done with the following Belcanto in EigenCommander, however it requires a new EigenD release to function (later than 2.0.35).

    tabulator 1 hey start

In the meantime, the following can be written in a regular terminal window to send the commands directly to the tabulator agent you created (on MacOSX, similar on Windows):

    /usr/pi/release-2.0.35-experimental/bin/brpc '<interpreter1>' exec tabulator 1 hey start

The files that are created are similar to these:

    session_20120202-214038.html
    session_20120202-214038.xml

The HTML file can simply be opened in a browser and will automatically reload while you're playing. The tablature that's recorded will automatically appear as staffs are filled in.

It is also purposely very simple HTML that can easily be edited with any appropriate tool to cleanup, annotation, modify or print the tablature.

Here's an example:

image:tabulator.png

The XML file contains the raw key data that was played, which can be used by other software if needed.

The data has the following format:

    <tabulator>
        <key time="50393074538"
            physicalseq="54" row="3" column="16"
            musicalseq="54" course="3" key="10"/>
    </tabulator>

This is an example of how you'd connect it up in Workbench:

image:tabulator workbench.png

Verbs

  • Start: to start recording the keys

    56
    start

  • Stop: to stop recording the keys

    57
    stop

Inputs

  • Controller Input: receives control stream data with the keyboard layout, this is used to setup the courses for the tablature
  • Key Input: receives key presses that are recorded

Outputs

None

Parameters

  • Chord Timeout: (in ms) to set the delay between notes that are considered being part of the same chord
  • Page Width: change the number of characters that a tablature staff uses before a new one is created

Development Status

Fully functional rudimentary first pass