Pacing and background sound

People listen to the same passage in very different moments. At a desk, a verse wants room to settle before the next one. On a run, the next one should arrive after a stretch of road. Between sets at the gym, it fills the rest. At night, the reading is slower and the gaps are short.

Fellowverse does not keep a version for each moment. There is one recording of each chapter, and the moment changes how it is played.

Pacing is data

A pacing is a small record, not a different recording. It says how long to wait between passages, how fast to play them, whether the list starts again at the end, and whether background sound plays under them.

Pacing Between passages Speed Feels like
Work about a minute a touch slower A verse, then quiet focus, then another
Run one to two minutes a touch faster A passage every so often along the way
Gym two to three minutes as read One passage for each rest between sets
Rest several seconds slower An unhurried reading to wind down
Read none as read Straight through, once, with nothing under it

Because pacing is data, it is the same for every playlist, every voice and every passage. Choosing Gym changes nothing that was recorded, and a new pacing is a new record, not a new recording session.

Background sound, mixed on the server

Under the narration a listener can choose a background: room tone, rain, a low drone, soft pads, bells, open fifths, or one of a few licensed music tracks. Each sits at a fixed listening level made for speech, so the voice is always clear above it.

The background is mixed into the narration on the server, not layered in the listener's device. One file plays, with one volume and one set of controls. That matters most on phones:

  • One stream behaves well in the background. Two sounds playing at once in a phone browser or app can drift apart, and a phone may silence one of them when the screen locks. A single stream keeps playing.
  • Lock-screen and headset controls stay simple. Play, pause and skip act on the one thing that is playing.
  • Levels are the same everywhere. Some phones ignore a page's volume settings, so a background turned down in code can still play at full volume. A mix made on the server sounds the same on every device.

Each mix is made once and kept, named for the recording, the background and the version of each, so the next listener gets it straight away.

The gaps are not silent

The pause between passages is filled with a soft sound of its own rather than silence. A phone treats long silence as the end of listening and may stop the session, taking the lock-screen controls with it. A quiet, continuous gap keeps the session alive for the whole playlist, so a run or a workout plays through with the phone in a pocket.

In your own player

The API gives you the pieces to do the same with your own recordings:

  • Sections become playable units. Align a recording once and play its sections one at a time, from positions in the file you host.
  • Pacing is yours to define. Keep a small record like the table above for each moment your listeners have, and use it to set the gap, the speed and whether to repeat.
  • Mix ahead, not on the device. If you add background sound, mix it into your files where you host them, at a level made for speech, and cache each mix. One stream plays better than two.
  • Fill the gaps. Play a quiet sound between sections rather than stopping, so playback carries on with the screen off.

See Record once, cut many ways for turning one recording into sections, and Build a read-along player for the player itself.


Need the contract? Download OpenAPI. Manage keys and account access in the developer console.

Start here · Guides · API reference