Skip to main content
Skip table of contents

Configure CAE with new settings.json

If you already have an existing settings.json from CAE 1.0.42, please use these instructions to update (ignore the following steps).

If you already have an existing settings.json from CAE 2.0.x, please use these instructions to update (ignore the following steps).

The application has one settings file: settings.json which contains both CAE and EAO settings. It is located in the assets folder of the web app.

Modify it after deploying the web application.

caeSettings:

JSON
     "caeSettings": {
        "importFilePath": {
            "source": "https://dpe.davidsystems-test.com/DpeWebApplication/Media.ashx?tableid=${virtualPath}&entryid=${uploadId}&main=false",
            "keepDecodedMp2InMemory": false
        },
        "importTranscriptFilePath": {
            "source": "https://dpe.davidsystems-test.com/DpeWebApplication/DownloadMedium.ashx?tableid=${virtualPath}&entryid=${uploadId}&mediumType=Data.SpeechToText"
        },
        "saveLoadProject": {
            "useLegacyFormat": true,
            "source": "https://dpe.davidsystems-test.com/DpeWebApplication/DownloadMedium.ashx?tableid=${virtualPath}&entryid=${uploadId}&mediumType=Project.CAE"
        },
        "export": {
            "defaultTable": "VM-SQL-DIGAS\\Galileo",
            "uploadUrl": "https://dpe.davidsystems-test.com/DpeWebApplication/UploadMedium.ashx?tableid=${virtualPath}&entryid=${uploadId}"
        },
        "shortcuts": {
            "playPause": "Space",
            "undo": "Ctrl+Z",
            "redo": "Ctrl+Y",
            "playInside": "I",
            "playOutside": "O",
            "playFromMarkIn": "N",
            "playToMarkOut": "M",
            "record": "Ctrl+R",
            "copy": "Ctrl+C",
            "paste": "Ctrl+V",
            "delete": "Delete",
            "cutInside": "Ctrl+X",
            "cutOutside": "Ctrl+D",
            "newProject": "Shift+N",
            "saveProject": "Ctrl+Shift+S",
            "saveProjectToDigaSystem": "Ctrl+S",
            "openProject": "Ctrl+O",
            "split": "Shift+X",
            "zoomIn": "+",
            "zoom100": "Shift+O",
            "zoomToSelection": "Shift+I",
            "zoomOut": "-",
            "transcribe": "Alt+T",
            "createClip": "Alt+C",
            "toggleText": "T",
            "toggleWaveform": "W",
            "toggleWaveformText": ",",
            "toggleSpeakers": "P",
            "toggleSpeakerTimestamps": "Shift+P",
            "toggleSnapEnabled": "S",
            "toggleDragDropMode": "D",
            "toggleMusicTrack": "B",
            "focusTextArea": "Ctrl+Shift+1",
            "focusTimelineArea": "Ctrl+Shift+2",
            "focusSearchArea": "Ctrl+F",
            "changeColor": "C",
            "renameText": "F2",
            "renameSpeaker": "Shift+F2",
            "selectAll": "Ctrl+A",
            "decreaseSpeed": "Shift+J",
            "increaseSpeed": "Shift+L",
            "resetSpeed": "Shift+K"
        },
        "transport": {
            "prelistenDuration": 3000
        },
        "record": {
            "echoCancellation": false,
            "noiseSuppression": false,
            "autoGainControl": false,
            "channelCount": 2
        },
        "importViaPostMessageApi": {
            "origins": ["http://vm-dpedemo", "https://dpe.davidsystems-test.com"]
        },
        "auth": {
            "provider": "dpe",
            "baseUrl": "https://dpe.davidsystems-test.com/DpeWebApplication"
        },
        "textArea": {
            "minimumDurationForSilenceDetection": 1000,
            "levelForSilenceDetection": 0.10,
            "autoParagraphMinSize": 180,
            "autoParagraphMaxSize": 300
        },
        "waveformView": {
            "autoWaveformToBlockDuration": 2000
        },
        "transcriptionProviders": {
            "enabledProviders": "MS,DG,SMV1,SMV2",
            "encryptedKey_MS": "",
            "config_MS": "westeurope",
            "encryptedKey_DG": "",
            "config_DG": "",
            "encryptedKey_SMV1": "U2FsdGVkX19xiG9JPmpLME6zEBQchm+RGQlZFhv3pvc=",
            "config_SMV1": "https://dpe.davidsystems.com:8001/S2TSimService/v1.0",
            "encryptedKey_SMV2": "",
            "config_SMV2": "https://cors-anywhere.herokuapp.com/https://trial.asr.api.speechmatics.com",
            "defaultLanguage": "*"
        },
        "browserBridge": {
            "apps": [
                {
                    "id": "MTE",
                    "title": "Open MultiTrack Editor",
                    "verb": "openAudioEditor",
                    "args": ["", "", "MultiTrack", "C:\\Program Files\\DigaSystem\\MultiTrack64.exe"]
                },
                {
                    "id": "STE",
                    "title": "Open SingleTrack Editor",
                    "verb": "openAudioEditor",
                    "args": ["", "", "SingleTrack", "C:\\Program Files\\DigaSystem\\SingleTrack64.exe"]
                },
                {
                    "id": "ETE",
                    "title": "Open EasyTrackEditor",
                    "verb": "openAudioEditor",
                    "args": ["", "", "EasyTrack", "C:\\Program Files\\DigaSystem\\EasyTrack64.exe"]
                }
            ]
        }
     }

Variables in settings.json

Starting with version 2.1.100 the CAE settings.json supports a variables section, e.g.

JSON
{
    "variables": {
        "basePath": "https://dpe.davidsystems-test.com/DpeWebApplication"
    },
    "caeSettings": {
        "importFilePath": {
            "source": "${basePath}/Media.ashx?tableid=${virtualPath}&entryid=${uploadId}&main=false",
            "keepDecodedMp2InMemory": false
        },
        "importTranscriptFilePath": {
            "source": "${basePath}/DownloadMedium.ashx?tableid=${virtualPath}&entryid=${uploadId}&mediumType=Data.SpeechToText"
        },
        "saveLoadProject": {
            "useLegacyFormat": true,
            "source": "${basePath}/DownloadMedium.ashx?tableid=${virtualPath}&entryid=${uploadId}&mediumType=Project.CAE"
        },
        "export": {
            "defaultTable": "VM-SQL-DIGAS\\Galileo",
            "uploadUrl": "${basePath}/UploadMedium.ashx?tableid=${virtualPath}&entryid=${uploadId}"
        },
...

Name

Description

importFilePath

source

It is the service end point for fetching audio file.

${virtualPath} and ${uploadId} will be replaced with tableId and entryId, respectively.

keepDecodedMp2InMemory

Experimental flag to keep the decoded mp2 audio from file-import e.g. drag&drop from DPE Content Manager.

Advantage

  • If true, CAE rendering performance is better, because no second decoding process is needed.

Disadvantage

  • If true, the browser memory consumption is higher.

Default value: false

importTranscriptFilePath

source

It is the service end point for fetching transcription file.

${virtualPath} and ${uploadId} will be replaced with tableId and entryId, respectively.

saveLoadProject

useLegacyFormat

type: boolean

The project file format from older CAE versions <=1.0.42 is used per default to ensure compatibility. If you have a fresh CAE installation, consider to set the flag to false.

Advantages of useLegacyFormat=false:

  • waveform data is part of the project

  • better performance on loading local projects

  • file-names in project file are cleaned up

Default value: true

source

It is the service end point for fetching cae project file.

${virtualPath} and ${uploadId} will be replaced with tableId and entryId, respectively.

export

defaultTable

Default DigaSystem table, which is displayed in save/export to DigaSystem dialogs

uploadUrl

Backend service URL for file uploads. For DPE service handler, the placeholder ${uploadId} is dynamically replaced for multiple file uploads for a single entry (first file upload call returns the initial upload-ID/entry-ID, next upload call can use the ID).

shortcuts

[ShortcutName]

type: String

All the application shortcuts e.g. cut, copy, paste, playPause etc. can be configured here. The shortcut takes a "+" separated string of keys names.

The string is case-insensitive so both Ctrl+S, cTrL+s will work.

transport

prelistenDuration

type: string or number

The duration (in milliseconds) is used for "playInside", "playOutside", "playFromMarkIn" and "playToMarkOut" actions. When triggering these actions, the audio is played only for the time specified in this parameter.

Default value is 3000 milliseconds or 3 seconds.

record

echoCancellation

type: boolean

Echo Cancellation browser setting for recording device.

Default value: false

noiseSuppression

type: boolean

Noise Suppression browser setting for recording device.

Default value: false

autoGainControl

type: boolean

Auto Gain Control browser setting for recording device.

Default value: false

channelCount

type: number

Number of record channels for recording device.

Default value: 2

importViaPostMessageApi

origins

type: string or comma separated array of string

Audio entries in Content Manager can be directly opened in CAE via a plugin called PluginCmCae, to enable this feature CAE also needs to allow accepting messages from Content Manager origins (protocol://host:port).

If there is only one origin possible then both  "https://example.org" and ["https://example.org"] are valid but if there are more then one then use array ["https://example.org", "http://example.com:8080"].

auth

provider

Authentication provider:

  • "": empty string uses a dummy authentication provider

  • "dpe" uses DPE as authentication provider

baseUrl

URL of authentication provider, e.g. "https://MyDpeServer/DpeWebApplication"

textArea

minimumDurationForSilenceDetection

This parameter is used for silence detection in Text Area. Any duration gap above the specified value will be considered as silence and represented so in the region.

Value is provided in milliseconds.

levelForSilenceDetection

This parameter defines the volume level for silence detection. Value is provided in comparison to full level (=1).

autoParagraphMinSize

To offer a performant and good readability experience for the users, the text in Text Area will be automatically represented in blocks of paragraphs if paragraph size (duration) exceeds the specified range. The breaking of paragraphs will most likely be done at the end of sentences however, this is not guaranteed.

autoParagraphMaxSize

Same as above.

waveformView

autoWaveformToBlockDuration

type: number

Display duration in [ms], when the waveform should automatically switch to sample view in high zoom level.

Default value: 2000

0=disabled (only block view is displayed)

transcriptionProviders

enabledProviders

Specifies which transcription providers will be shown in the drop down menu.

Comma-separated list of transcription provider abbreviations:

  • MS: Microsoft Cognitive Services

  • DG: Deepgram

  • SMV1: Speechmatics protocol v1

  • SMV2: Speechmatics protocol v2

  • AUPHONIC: Auphonic

Examples: "MS,SMV2", "MS", or empty string for none

encryptedKey_MS

Encrypted API key

config_MS

encryptedKey_DG

Encrypted API key

config_DG

n/a

encryptedKey_SMV1

Encrypted API key

config_SMV1

URL to service

encryptedKey_SMV2

Encrypted API key

config_SMV2

URL to service

For testing purposes you can use DAVID’s Whisper-based solution that is simulating the Speechmatics v2 protocol: https://whisper.davidsystems.com

encryptedKey_AUPHONIC

Encrypted API key

config_AUPHONIC

URL to Auphonic service

Note: as Auphonic service redirects download to a storage provider that is not supporting CORS handshake you need to use a CORS proxy.

DAVID Systems is providing a demo CORS proxy.

An example config would be

https://corsproxy.davidsystems-test.com/download?url=https://auphonic.com/api|<preset>

Where <preset> must be replaced with an Auphonic preset id that returns transcription.

defaultLanguage

Used default language for all transcription services.

Allowed values:

  • "*" - Automatic language detection

  • "en-US" - English

  • "de-DE" - German

  • "fr-FR" - French

  • "es-ES" - Spanish

  • "sv-SE" - Swedish

  • "nb-NO" - Norwegian

browserBridge/apps

Array that holds configurations for external applications accessed via DPE BrowserBridge

browserBridge/apps/...

id

Unique identifier for app, e.g. "MTE"

title

Displayed menu item text, e.g. "Open MultiTrack Editor"

verb

Operation that is executed via DPE BrowserBridge, e.g. "openAudioEditor"

args

Array of arguments for DPE BrowserBridge operation; depends on the operation (= verb).

CAE is currently supporting the following verbs and argument lists:

openAudioEditor

  • arg1: empty

  • arg2: empty, contains section string with metadata and will be set automatically from CAE

  • arg3: audio editor identifier, e.g. "MultiTrack"

  • arg4: path to executable

Example: ["", "", "MultiTrack", "C:\\Program Files (x86)\\DigaSystem\\MultiTrackV7.exe"]

audioProcessingProviders/…

Example:

TYPESCRIPT
{
  "id": "BUILTIN_XAUDIO",
  "displayName": "XAudio: Loudnes Normalize",
  "providerType": "XAUDIO",
  "apiUrl": "https://xaudio.davidsystems-test.com",
  "apiKey": "",
  "apiConfig": "[I]-23[TP]-1[LRA]15[OFFSET]0",
  "corsProxy": "",
  "needsRawData": false
}

id

Unique identifier, e.g. a GUID

displayName

Name displayed

providerType

Type of provider. Currently one of the following constants:

  • DUMMY

  • AICOUSTICS

  • AUPHONIC

  • XAUDIO

  • PEDALBOARDWS

apiUrl

URL to the service e.g.

  • for ai|coustics:
    https://api.ai-coustics.io/v1

  • for Auphonic:
    https://auphonic.com/api

  • for DAVID Systems X-Audio Service:
    https://xaudio.davidsystems-test.com

apiKey

Encrypted API access key

apiConfig

API config, e.g.

  • for ai|coustics:
    loudness_target_level=-14;loudness_peak_limit=-1;enhancement_level=1;transcode_kind=WAV

  • for Auphonic
    preset=auphonic_leveler

  • for X-Audio
    [I]-23[TP]-1[LRA]15[OFFSET]0

corsProxy

Some backends require a CORS proxy, e.g. ai|coustics or Auphonic. Example:

https://corsproxy.davidsystems-test.com/download?url=

needsRawData

Currently only true for type PEDALBOARDWS

Transcription keys have to be stored encrypted. To get the encrypted value do the following steps:

  1. Open CAE user options and enter the plain text key in the appropriate field

  2. Open the web developer tab in your browser, e.g. by pressing F12 in Chrome

  3. Select Application / Local Storage

  4. Here you see the encrypted value, e.g. 

  5. Select "Edit Value" and copy the value to the clipboard; from there you can use it for the application.json file

  6. Delete the encrypted value from Local Storage again

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.