Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sync HTML with an audio track, narrating the presentation #536

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

momeni
Copy link
Contributor

@momeni momeni commented Jul 14, 2021

This merge request creates an alternative presenter, namely FILE.narrated.sozi.html for the input FILE.svg presentation, which will play the presentation file and a narrative.flac audio file in sync. The common use case is to share a captured presentation without requiring to convert the presentation and audio track to a video format which has two benefits:

  1. Presentation quality is preserved in the html+svg+js format,
  2. Exported file size is kept minimal.

Currently, the audio file must be named narrative.flac and placed in side of the FILE.narrated.sozi.html file.
Also the data-time-to-slide attribute in the FILE.narrated.sozi.html file needs to be updated manually.
These items (audio file name and time-to-slide) should be moved to the editor later.
The format of the data-time-to-slide attribute is as follows:

  • A string of comma-separated descriptors
  • Each descriptor specifies the time instant (in seconds) which should trigger a slide transition
  • If some slides should be skipped or the presentation is not progressing linearly, descriptor can specify the target slide number (counting from one, as shown at the top-left of the presentation itself); for this purpose the time and slide index must be separated by a colon

For example, <audio id="narrative" controls data-time-to-slide="0,4,8,11:2,13:4"> means that

  • when narrative.flac is playing from 0 to 4 seconds, the first frame must be shown,
  • when it is playing from 4 to 8 seconds, the second frame must be shown,
  • when it is playing from 8 to 11 seconds, the third frame must be shown,
  • when it is playing from 11 to 13 seconds, presentation must return to the second frame,
  • when narrative.flac reaches to the 13th second, presentation must transition to the fourth frame.

The browser audio controls are shown at the bottom-right of the screen. Seeking the audio to any time will automatically change the rendered frame. And changing the rendered frame (e.g., by URL or clicking on the frames list) will automatically seek the audio to the corresponding moment.

@momeni
Copy link
Contributor Author

momeni commented Jul 15, 2021

I updated the editor and added a narration properties in order to configure both of the narrative file name (which was hard-coded to narrative.flac previously) and the time-to-slide data. Now, there is no hard-coded property. The narration feature itself can be disabled by selecting the none file type (and it is disabled by default).

…rack

This commit allows a Sozi presentation to be played in sync with a
recorded narrative.flac audio file without requiring the entire
presentation to be converted to a video format.
This format has two benefits:
1. Presentation quality is preserved in the html+svg+js format,
2. Exported file size is kept minimal.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant