Audio sync with \v 1a, \s \v 1b

I’m investigating a bug with someone from Worldteam on the Oroko Scripture App. Acts 8:1 has a subtitle in the middle of it. It seems that Aeneas properly divides the audio, but phrase parsing fails to letter the segments consecutively. Thus the highlighting sync fails in the Builder and the App.

\v 1a Sɔɗi amokoa ɗo o maboɗoeɗi ime.
\s Sɔɗi Atatiɗɛ Ba-Baɗubɛ
\p \v 1b Nga bunya bone, botikiɗisɛ wa bokɔɗi wa ɗitengɛnɛ bato ba chɔchi waaboteɛ o Jerusalem. Bato ba chɔchi bɔ basusu baafangeɛ o bekondo ba Judea na Samaria, nga ba-ndomo* bɔ iti bamotɛ o Jerusalem.
\v 2 Bato bɔkɔ ba bamobokaka Obasɛ bɔngɔ, baafuɗa Tefani na ɗ’eja mɔ siɛ-siɛ.

The recording follows the order in the text. The produced timing file looks like this, and the numbering is off (1, s1, 1a, 1b…):

|4.720|7.804|1|
|7.804|10.388|s1|
|10.388|12.928|1a|
|12.928|19.608|1b|
|19.608|25.764|1c|
|25.764|29.120|1d|

When it plays, 1a plays and highlights, s1 plays and highlights, then 1a-1d highlights while the first segment after \s is played. After that, highlighting fails to continue for the chapter.

I attempted to corrected the timing file manually, and now the text of verse 1 fails to appear in “Fine Tune Timings” (presumably because 1e does not exist as a phrase). I can’t seem to find/edit the underlying phrase file under the hood to make sure that the numbering is consistent (editing phrases wants to create a copy in another folder and I can’t find the local ones):

|4.720|7.804|1a|
|7.804|10.388|s1|
|10.388|12.928|1b|
|12.928|19.608|1c|
|19.608|25.764|1d|
|25.764|29.120|1e|

It seems like the logic of a split verse with an intervening \s doesn’t process this order consecutively/correctly. Any ideas?

This topic is discussed here:
How to handle timing files for verses numbers already split - Scripture App Builder - SIL Scripture Software Community
I think you have the right idea adding the ‘a’ on the ‘1’ (and of course changing a to b, b to c and so on), but you need to make the same change in the Phrases file. The Phrase and Timing files work together. You should be able to find a folder called Phrases in your Scripture Apps folder (if not, just search for it) and find the file for Acts 8 in there.

We have this as a bug #681. I’ll add the extra info here.

It looks like I can’t work around this bug by fixing the timing and phrases file.

After reading and talking with Jeff, I was making progress, tweaking the timing file to use the 1b=a syntax helps somewhat. I still can’t get it to pick up 1a from the phrases file, only 1, which is not correct. ​
So, SAB uses the timing file and a phrases file to run the playback, editing the timings file makes an immediate difference in SAB.
I can “export” and edit a new .phrases file, and it ends up in a folder external to the project. Editing this new file seems to have no effect on the app. It’s as if there is a hidden “phrases” file in SAB that I can’t correct, or it creates it, wrongly in this case, on the fly.

The external placement of the phrases folder seems like a secondary bug, why would it not be in the folder with the rest of the files? Where are the phrases “guts” that SAB is actually using?

I have no insights into the ‘guts’ of SAB but if I remember correctly I ‘re-fine-tuned’ the chapter after changing the phrases file. I didn’t actually change anything, just pressed save. I think this helped SAB recognise the changes made in Text Editor.

When you use the “Export to HTML” option and it opens in a browser, if you right click to see the page source and see the raw html, if you scroll down you can get an idea of how the “guts” are formatted courtesy of the “div id”. Unfortunately I’m not sure how helpful that is because I couldn’t find a way to manually edit the underlying hml that that would work. But at least you can see the “guts”. Or maybe you will be able to get it to work.

Is there a release date planned for this problem? We still see it in 10.2 SAB.

Thanks for shaking the tree on this old one. If I hear I’ll let you know.

@MikeB Yes, this is still a bug. But the workaround (usually) seems to work:

Find and open the timings file (should be in the timings sub-folder under the project data folder) for the right chapter. For example, I had this:

|44.56|46.68|4e|
|46.68|55.34|5a|
|55.34|56.12|5b|
|56.12|58.52|5c|
|58.52|62.46|s2|
|62.46|65.6|5|
|65.6|73.94|6a|

Note that the verse 5 line after the s2 section head doesn’t have a segment letter. So I added “d”, so it became |5d|, and saved it.

Then find and open the phrases file for that chapter. If you used the default settings in Aeneas, the phrases will usually go into this folder: \Documents\App Builder\Scripture Apps\Phrases\[package name]\. Note that this is NOT under the project folder. In my case the phrases file looked like this:

4e|umrah 75 sana.
5a|Wa chaal maʼaayah martah Saaraay wa Luut wileed akhuuh wa kulla l‑maal wa l‑abiid al‑charaahum fi hillit Haaraan.
5b|Wa khalaas,
5c|chaalo derib balad Kanʼaan.
s2|Abraam fi balad Kanʼaan wa Masir
5|Wakit wassalo fi balad Kanʼaan,
6a|Abraam chagga al‑balad lahaddi wisil fi l‑chadara al‑kabiire al‑gaaʼide fi hillit Muura fi turaab Chakiim.

I changed the "5|Wakit..." to "5|Wakit..." to match the timings file and saved it.

Then when I rebuilt the app, that timing issue was fixed.

If both of the parts of the verse before and after the section head do not have more than one segment, they will both be without segment letters, like this (in the phrases file):

3e|fdsa
4|fdsa
s2|fdsa
4|fdsa
5a|fdas

In that case, just put 4a for the first part and 4b for the second part, and make sure to mark those portions correspondingly in the timings file.

After a bit more research, it appears that you only need to make the change in the timings file, and NOT in the phrases file. From the discussion here:

it seems like the phrases file is only created to help make the timings file. Once you have the timings file, the phrases file is basically ignored.

Interestingly, if you fine-tune your updated timings file, the Scripture text (in the leftmost column) appears empty for the segment letter that you added:

The segment after the section head was previously “6”, and I changed it to “6e” to solve the audio sync problem. One would think that if you added the segment letter in the phrases file, that the text for that segment might show up the fine-tune timings page… but it doesn’t. So it does really seem to ignore the phrases files after it uses them to create the timings file. It must generate the text in fine-tune timings using another method, like maybe the method that is used to break the text into <div> sections for the app. (another one of my research projects…)

So I really don’t think there is any reason to update the phrases file for your timings file changes.

I just discovered something else interesting that may help with fixing this bug. The only time the bug occurs is when there is only a single segment (assumption: before or) after the section heading. If there are multiple segments both before AND after the section head, it looks like the segments and the synchronization are handled properly. Here is one timing file extract, where the section head had segments labeled with letters both before and after the section head:

|206.760|209.800|22b|
|209.800|211.520|23a|
|211.520|212.200|23b|
|212.200|213.580|23c|
|213.580|218.700|23d|
|218.700|220.660|23e|
|220.660|222.200|23f|
|222.200|225.800|s3|
|225.800|226.720|23g|
|226.720|230.300|23h|
|230.300|232.280|24a|

In that case, the audio sync works fine. So it appears that the bug only shows up when the portion of the verse before or after the section head has only one segment.