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 (0)