Wavfiles schema

I am using documentation found @ https://gitlab.com/creare-com/tabsint/-/blob/master/src/res/protocol/schema/definitions/page.json#L106 to design a TabSINT page which will play a .wav file as a conditional follow on. Can you see an obvious error in the following lines of code?

      "followOns": [
        {
          "conditional": "!result.correct",
          "target": {
            "id": "wav_test",
            "wavfiles": {
              "path": "m1_02_mil.wav",
              "playbackMethod": "arbitrary",
              "useCommonRepo": false
            }
          }
        }
      ]

I would also like to add in a image (.png file) while the audio file is played. On it’s own, I was able to get the .jpg file to display correctly. But I could use assistance in merging these two actions together. Thank you.

      "followOns": [
        {
          "conditional": "!result.correct",
          "target": {
            "id": "jpg_test",
            "image": {
				"path": "m1_02_mil.jpg",
            }
          }
        }
      ]

Hi @devon

Thanks for reaching out! wavfiles should be an array of objects, where each object contains the information for a wav file. Your followOns should look like:

"followOns": [
    {
      "conditional": "!result.correct",
      "target": {
        "id": "wav_test",
        "image": {
          "path": "m1_02_mil.jpg"
        },
        "wavfiles": [
          {
            "path": "m1_02_mil.wav",
            "playbackMethod": "arbitrary",
            "useCommonRepo": false
          }
        ]
      }
    }
  ]

Tristan

I am now getting a alert when protocol loads up: Calibration: the loaded protocol calibration file is missing version fields.

Using another repository as a reference I added some relevant info within the protocol.json (shooting in the dark, I’ll admit).

"calibration": [
	{
		"wavfiles": [
					"m1_02_mil.wav"
					]
	}
]

}

as well as a calibration.json
{
“m1_02_mil.wav”: {“refType”: “as-recorded”, “realWorldRMSZ”: 1, “scaleFactor”: 1, “wavRMSZ”: 1}
}

Anyways, the .wav file format is arbitrary, theres no need for a calibration or particular headset use. Looking for the easiest way to avoid this hiccup. Could using a mp3 format work? I don’t see its use defined in the schema.

Thanks.

@devon,

After you get the warning about the calibration file missing version fields, are you able to proceed with the protocol? If not, what is the failure mode (do you get an error message on that exam page, does the wav file just not play, etc.)?

No, we don’t support mp3 files, only .wav files.

I see. After the alert, the protocol still allows me to proceed. When I get to the followOns page, the .jpg file is viewable but the .wav file does not play. No error message pops up and the protocol proceeds as normal afterwards. This is attempted without a connected headset (audio to play out of tablet mic) or with the WAHTS connected. I am currently running Tabsint 3.3.3.

@Devon

Thank you for the description, you have helped uncover a bug with our wav file streaming. Specifically, I believe the streaming isn’t functioning properly for pages without a response area.

We are working on other bug fixes for our wav file streaming feature for the next release (v.3.4.0). I will talk to our developers about this issue.

Regarding the calibration information: the server calibration uses the calibration field within the protocol.json file to create the calibration.json file. The protocol should run without these two items, but you will get an alert when you load the protocol that the level may not be correct.