DEV Community

RAKA
RAKA

Posted on

I built a platform that syncs audio with reading - Here's how

Today I'm launching Immerziva, a platform that lets authors add synchronized audio to their stories.

The Concept

Imagine reading a story and hearing:

  • Rain sounds during a storm scene
  • Tense music as danger approaches
  • Footsteps when a character walks

All automatically synced with your reading pace.

The Audio Sync Challenge

The trickiest part was syncing audio with reading speed. Here's the approach:

  1. Authors place "audio cues" at specific points in the text
  2. We track the reader's scroll position and calculate reading speed
  3. When a cue enters the viewport, we start a timer based on estimated reading time
  4. Audio triggers when the reader should reach that point
// Simplified concept
const triggerAudio = (cue, readingSpeed) => {
  const wordsUntilCue = countWords(currentPosition, cue.position);
  const timeUntilCue = wordsUntilCue / readingSpeed * 60 * 1000;

  setTimeout(() => {
    playAudio(cue.audioId);
  }, timeUntilCue);
};
Enter fullscreen mode Exit fullscreen mode

Features

For Readers:

  • Immersive reading experience
  • Works on any device (PWA)
  • Reading analytics
  • Personal library

For Authors:

  • Free publishing
  • Visual audio editor
  • Real-time engagement stats
  • Reader community

Try It

πŸ”— immerziva.com

We shared the experiment on Product Hunt today to get broader feedback. If anyone wants to check it out or leave a comment there, here’s the link: Product Hunt

Would love technical feedback, especially on the audio sync approach!

Top comments (1)

Collapse
 
trevorfuentes7 profile image
trevorfuentes7 • Edited

The idea of tying audio to reading pace is genuinely interesting, especially because the sync problem isn’t as simple as attaching timestamps to paragraphs. Tracking scroll position and estimated reading speed gives you a nice way to make the experience adaptive rather than rigid. I could also see this being useful beyond stories, like interactive learning content. On the audio side, I’ve had a good experience with speech voice to text for quickly turning spoken material into usable text.