Spread sound sample pool over several pages
glenmclachlan opened this issue · 1 comments
Hi,
I'm looking for a way to spread out one pool of sound samples over multiple pages.
In other words, when the subject finishes the first page, the second page should not be able to contain the samples used in page 1.
It seems like there is no way to do this?
Hi @glenmclachlan, sorry for the delay in addressing this!
No you are correct there is no way to address this directly, simply because a page is an immutable object, it can have any number of audio samples within it, but that decision is not made or altered externally.
What kind of test are you thinking of creating that would need this sort of functionality?
Other solutions would be (depending on the test type) to take advantage of the server-led pool script where a set of suitable configurations exist and the server determines which xml to load.
For example: you could have test files A.xml, B.xml and C.xml. Each has two pages:
<!- A.xml ->
<page id="page-1">
<audioelement id="ae-1" name="ae-1"/>
<audioelement id="ae-2" name="ae-2"/>
</page>
<page id="page-2">
<audioelement id="ae-3" name="ae-3"/>
<audioelement id="ae-4" name="ae-4"/>
</page>
<!- B.xml ->
<page id="page-1">
<audioelement id="ae-1" name="ae-1"/>
<audioelement id="ae-2" name="ae-3"/>
</page>
<page id="page-2">
<audioelement id="ae-3" name="ae-2"/>
<audioelement id="ae-4" name="ae-4"/>
</page>
<!- C.xml ->
<page id="page-1">
<audioelement id="ae-1" name="ae-1"/>
<audioelement id="ae-2" name="ae-4"/>
</page>
<page id="page-2">
<audioelement id="ae-3" name="ae-2"/>
<audioelement id="ae-4" name="ae-3"/>
</page>
In this example the three tests each have two pages with two fragments. The trick is the name is the unique identifier across the tests. If you look at "ae-1" for instance, it is compared with the other three fragments. In each of the three the next page as well does not hold the first pages' audio fragments either! Placing page order randomisation on top of this will give a mostly random feel. The trick is the sevrer maintains the balance of A, B and C participants. So the first gets "A.xml", the second "B.xml", third "C.xml" and the fourth "A.xml" and round it goes. That way the test remains as balanced as possible (assuming no drop-outs or non-completes).