Skip to content

Logging

Julian Pömp edited this page Feb 20, 2025 · 2 revisions

Important

This Wiki is outdated and is going to be re-structured

In the future you will find here information for developers only. Information for project administrators can be found in the manual soon.

If you want to analyze user interactions you need to enable logging in the projectconfig.json. After a user finished a transcription the user can export the protocol file with the "export" function.

The protocol schema:

{
  "properties": {
    "version": {
      "type": "string"
    },
    "encoding": {
      "type": "string"
    },
    "projectname": {
      "type": "string"
    },
    "logs": {
      "items": {
        "type": "object",
        "properties": {
          "timestamp": {
            "type": "integer"
          },
          "type": {
            "type": "string"
          },
          "target": {
            "type": "string"
          },
          "value": {
            "type": [
              "string",
              "integer",
              "object"
            ]
          },
          "playerpos": {
            "type": "integer"
          },
          "caretpos": {
            "type": "integer"
          }
        }
      },
      "type": "array"
    },
    "additionalProperties": false
  }
}

Example:

{
  "version": "1.0",
  "encoding": "UTF-8",
  "projectname": "local",
  "lastupdate": "Mon, 25 Sep 2017 18:44:54 GMT",
  "duration": 282432,
  "samplerate": 48000,
  "audiofile": "Untitled.ogg",
  "logs": [
    {
      "timestamp": 1505902061106,
      "type": "shortcut",
      "value": "boundary:add",
      "playerpos": 0,
      "caretpos": -1
    },
    {
      "timestamp": 1505902069330,
      "type": "shortcut",
      "value": "segment:set_break",
      "playerpos": 0,
      "caretpos": -1
    },
    {
      "timestamp": 1505902070994,
      "type": "shortcut",
      "value": "segment:set_break",
      "playerpos": 0,
      "caretpos": -1
    },
    {
      "timestamp": 1505902081079,
      "type": "shortcut",
      "value": "audio:play_pause",
      "playerpos": 0,
      "caretpos": 0
    },
    {
      "timestamp": 1505902081080,
      "type": "audio",
      "value": "started",
      "playerpos": 0,
      "caretpos": -1
    },
    {
      "timestamp": 1505902081894,
      "type": "shortcut",
      "value": "audio:play_pause",
      "playerpos": 38736,
      "caretpos": 0
    },
    {
      "timestamp": 1505902081909,
      "type": "audio",
      "value": "paused",
      "playerpos": 38736,
      "caretpos": -1
    },
    {
      "timestamp": 1506365090377,
      "type": "editor",
      "value": "changed"
    }
  ]
}

Protocol attrbutes:

  • version: "1.0"
  • encoding: Encoding of this file (e.g. "UTF-8")
  • projectname: Project name
  • lastupdate: Timestamp (e.g. "Mon, 25 Sep 2017 18:44:54 GMT")
  • duration: Duration of the audio file in samples (e.g. 282432),
  • samplerate: Sample rate (e.g. 48000)
  • audiofile: Name of the audio file
  • logs: Array of events. You can find more information in the next section.

Events

Each event is defined as followed:

{
      "timestamp": <Unix timestamp>,
      "type": "shortcut|audio|editor|mouseclick|level",
      "value": <string|number|JSON>,
      "playerpos": <position of play cursor in samples>,
      "caretpos": <caret position in the annotation text>
}

There are different types of events:

  • shortcut
  • audio
  • editor
  • mouseclick
  • level

Clone this wiki locally