Skip to main content

Registration is now open for this year's LibreFest! Join us virtually the week of July 13.

Register here
Chemistry LibreTexts

4: Automatic Captions and Transcripts

  • Page ID
    539650
  • \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)

    \( \newcommand{\dsum}{\displaystyle\sum\limits} \)

    \( \newcommand{\dint}{\displaystyle\int\limits} \)

    \( \newcommand{\dlim}{\displaystyle\lim\limits} \)

    \( \newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\)

    ( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\)

    \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)

    \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\)

    \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)

    \( \newcommand{\Span}{\mathrm{span}}\)

    \( \newcommand{\id}{\mathrm{id}}\)

    \( \newcommand{\Span}{\mathrm{span}}\)

    \( \newcommand{\kernel}{\mathrm{null}\,}\)

    \( \newcommand{\range}{\mathrm{range}\,}\)

    \( \newcommand{\RealPart}{\mathrm{Re}}\)

    \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)

    \( \newcommand{\Argument}{\mathrm{Arg}}\)

    \( \newcommand{\norm}[1]{\| #1 \|}\)

    \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)

    \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\AA}{\unicode[.8,0]{x212B}}\)

    \( \newcommand{\vectorA}[1]{\vec{#1}}      % arrow\)

    \( \newcommand{\vectorAt}[1]{\vec{\text{#1}}}      % arrow\)

    \( \newcommand{\vectorB}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vectorC}[1]{\textbf{#1}} \)

    \( \newcommand{\vectorD}[1]{\overrightarrow{#1}} \)

    \( \newcommand{\vectorDt}[1]{\overrightarrow{\text{#1}}} \)

    \( \newcommand{\vectE}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash{\mathbf {#1}}}} \)

    \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \(\newcommand{\longvect}{\overrightarrow}\)

    \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)

    \(\newcommand{\avec}{\mathbf a}\) \(\newcommand{\bvec}{\mathbf b}\) \(\newcommand{\cvec}{\mathbf c}\) \(\newcommand{\dvec}{\mathbf d}\) \(\newcommand{\dtil}{\widetilde{\mathbf d}}\) \(\newcommand{\evec}{\mathbf e}\) \(\newcommand{\fvec}{\mathbf f}\) \(\newcommand{\nvec}{\mathbf n}\) \(\newcommand{\pvec}{\mathbf p}\) \(\newcommand{\qvec}{\mathbf q}\) \(\newcommand{\svec}{\mathbf s}\) \(\newcommand{\tvec}{\mathbf t}\) \(\newcommand{\uvec}{\mathbf u}\) \(\newcommand{\vvec}{\mathbf v}\) \(\newcommand{\wvec}{\mathbf w}\) \(\newcommand{\xvec}{\mathbf x}\) \(\newcommand{\yvec}{\mathbf y}\) \(\newcommand{\zvec}{\mathbf z}\) \(\newcommand{\rvec}{\mathbf r}\) \(\newcommand{\mvec}{\mathbf m}\) \(\newcommand{\zerovec}{\mathbf 0}\) \(\newcommand{\onevec}{\mathbf 1}\) \(\newcommand{\real}{\mathbb R}\) \(\newcommand{\twovec}[2]{\left[\begin{array}{r}#1 \\ #2 \end{array}\right]}\) \(\newcommand{\ctwovec}[2]{\left[\begin{array}{c}#1 \\ #2 \end{array}\right]}\) \(\newcommand{\threevec}[3]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \end{array}\right]}\) \(\newcommand{\cthreevec}[3]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \end{array}\right]}\) \(\newcommand{\fourvec}[4]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \\ #4 \end{array}\right]}\) \(\newcommand{\cfourvec}[4]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \\ #4 \end{array}\right]}\) \(\newcommand{\fivevec}[5]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \\ #4 \\ #5 \\ \end{array}\right]}\) \(\newcommand{\cfivevec}[5]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \\ #4 \\ #5 \\ \end{array}\right]}\) \(\newcommand{\mattwo}[4]{\left[\begin{array}{rr}#1 \amp #2 \\ #3 \amp #4 \\ \end{array}\right]}\) \(\newcommand{\laspan}[1]{\text{Span}\{#1\}}\) \(\newcommand{\bcal}{\cal B}\) \(\newcommand{\ccal}{\cal C}\) \(\newcommand{\scal}{\cal S}\) \(\newcommand{\wcal}{\cal W}\) \(\newcommand{\ecal}{\cal E}\) \(\newcommand{\coords}[2]{\left\{#1\right\}_{#2}}\) \(\newcommand{\gray}[1]{\color{gray}{#1}}\) \(\newcommand{\lgray}[1]{\color{lightgray}{#1}}\) \(\newcommand{\rank}{\operatorname{rank}}\) \(\newcommand{\row}{\text{Row}}\) \(\newcommand{\col}{\text{Col}}\) \(\renewcommand{\row}{\text{Row}}\) \(\newcommand{\nul}{\text{Nul}}\) \(\newcommand{\var}{\text{Var}}\) \(\newcommand{\corr}{\text{corr}}\) \(\newcommand{\len}[1]{\left|#1\right|}\) \(\newcommand{\bbar}{\overline{\bvec}}\) \(\newcommand{\bhat}{\widehat{\bvec}}\) \(\newcommand{\bperp}{\bvec^\perp}\) \(\newcommand{\xhat}{\widehat{\xvec}}\) \(\newcommand{\vhat}{\widehat{\vvec}}\) \(\newcommand{\uhat}{\widehat{\uvec}}\) \(\newcommand{\what}{\widehat{\wvec}}\) \(\newcommand{\Sighat}{\widehat{\Sigma}}\) \(\newcommand{\lt}{<}\) \(\newcommand{\gt}{>}\) \(\newcommand{\amp}{&}\) \(\definecolor{fillinmathshade}{gray}{0.9}\)

    Both audio and video comments are rendered on “Able Player” viewers. Able Player is a fully accessible, open-source HTML5 media player designed to make audio and video content inclusive for all users. Able Player was originally developed by Terrill Thompson at the University of Washington's Accessible Technology Services department and was was designed to comply with WCAG (Web Content Accessibility Guidelines) and ARIA (Accessible Rich Internet Applications) standards, ensuring compatibility with screen readers, keyboard navigation, and assistive technologies.

    Able Player offers a comprehensive set of accessibility-focused features designed to make audio and video content usable for all individuals, including those with disabilities. It supports keyboard navigation with clear focus indicators, ensuring users can control playback without a mouse. The player is screen reader-friendly, using ARIA roles and labels to convey information to assistive technologies. Able Player includes support for closed captions, subtitles, and transcripts, all of which are displayed in customizable, high-contrast, and scalable interfaces. It also accommodates audio descriptions, both through separate video tracks and via synthesized speech using the Web Speech API. Users can control playback speed, toggle captions, navigate by chapter, and interact with synchronized transcripts that allow click-to-jump functionality. Additionally, a built-in preferences panel enables users to tailor accessibility settings to their needs, with preferences saved between sessions.

    AD_4nXdGMdo1ck4zzP7_-h6S8TB1fzOPs3kABbLnEaUK9gtxorRZStxqtV736vuKYiCGWjK3ZLMg4aOmHH5GdY-cnLxliwD9lbWWJD7uokvmqZmB88HJ4-cvNThfq144M08jd4VkZLqAkeyAKvg2tKzYNO6Yh-ROI5k2A
    Figure 9: Audio comment with captions turned on (via the CC button on the player’s controls) As with other captions, the applicable captions can be read as the audio comment is played. 

    All media recorded into ADAPT is automatically captioned and transcribed with high accuracy using Whisper A (OpenAI). Hence, both audio and video comments are enhanced with automatically generated transcripts and captions. These transcriptions provide a written version of spoken content, improving accessibility for users who are deaf or hard of hearing and offering greater flexibility for all learners. The AI-generated captions appear in sync with the media, enabling viewers to follow along visually (Figures 9 and 10). This feature not only supports accessibility compliance but also allows users to search, reference, or review spoken content more easily.

    The full caption text can be downloaded as a Video Text Tracks (VTT) file via the Download Transcript button. 

    AD_4nXfn2tlOIoM79k44zgN1xU_cUBLvKeo9AR3-2EQK5Tn2qLNYty5q015qMJM-9LVy3hKbxC53LebekJcbjRVaDkHvEErAhPmj08wAoFCdgeOYDeFg9IUeR6yo5eMTXi3lKpOws1BAFAkeyAKvg2tKzYNO6Yh-ROI5k2A
    Figure 10: Video comment with captions turned on (via the CC button on the player’s controls) As with other captions, the applicable captions can be read as the video comment is played.

    The AI tool used in DiscussIT has multilingual support  and is currently available for many languages (Arabic, Bengali, English, French, German, Hindi, Italian, Japanese, Mandarin, Portuguese, Punjabi, Russian, Spanish) and expanding. The caption in the example in Figure 10 is Spanish.


    4: Automatic Captions and Transcripts is shared under a not declared license and was authored, remixed, and/or curated by LibreTexts.

    • Was this article helpful?