Skip to content

explainroo 0.2.0

Choose a tag to compare

@vincentsch vincentsch released this 13 Oct 16:32
· 19 commits to main since this release
fd9b872

explainroo 0.2 brings more voices, more things a scene can show, and more ways to publish a video.

Voices and languages

  • Narration in Spanish, French, Italian, Brazilian Portuguese and Hindi as well as English. Set "language": "es" in video.json. The Kokoro voices for those languages need espeak-ng installed once.
  • An ElevenLabs voice, or your own recording, as one take or one file per scene. Word timing, cues, captions and checks work the same for every source.

What a scene can show

  • s.clip() plays video clips such as screen recordings, frame-exact, with their sound if you want it.
  • s.math() typesets TeX formulas, which are written on in the hand-drawn looks.
  • s.code() takes a list of steps and animates code from one version to the next.

Publishing

  • Every render also writes .srt and .vtt subtitle files, a cover image, and YouTube chapters when scenes name them.
  • --format gif, and --transparent WebM or MOV for video editors.
  • --size renders one project in several sizes, for example for YouTube and TikTok.
  • explainroo export writes a web player that draws the video live, sharp at any size, for docs sites and iframes.

Product demos and looks

  • explainroo capture <url> saves a live site's screenshots, colors, fonts, logo and wording.
  • A project can bring its own look in a JSON file that extends a built-in look. Thanks @mrthommaso for the proposal (#4).
  • check suggests a readable color for text with low contrast.

Fixes

  • Long videos render again: page uploads now go up in pieces (#2, thanks @mrthommaso).
  • On macOS the CLI exits cleanly after loading the speech models (#1, thanks @meminens).
  • Burned-in captions split each sentence into balanced phrases, and the cover leaves them out.
  • The speech check confirms a word written as {shown|spoken} when it hears the shown form.

The videos attached here were made with explainroo. Their sources are in examples/:

  • callbacks-to-async-await.mp4: callbacks, promises and async/await with code steps (midnight look)
  • circle-area.mp4: why a circle's area is πr², with formulas (chalk look)
  • why-is-the-sky-blue-es.mp4: why the sky is blue, narrated in Spanish (paper look)

All examples, more videos and the documentation are on https://www.explainroo.com