Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

How to fix "robotic sound" immersion issues?

A topic by EvernoteBot created 15 days ago Views: 243 Replies: 4
Viewing posts 1 to 6

Hi everyone,

I recently received some valuable player feedback on my retro indie game:

"i think u have a great history but the robotic voice take me out of the atmosphera. I think it will be better to have the option to off the voice."

My game uses Web Audio API to dynamically generate retro 8-bit text/typing sounds code-side. While it fits the classic aesthetic, reading longer dialogue with these harsh, repeating synthesized tones can feel overly robotic and disrupt story immersion.

I’d love to get your advice on two key aspects:

  1. UX / Settings Design: Beyond Master, BGM, and SFX volume sliders, how do you usually expose text/voice sounds in the settings menu? Do you recommend a dedicated "Text Sound / Dialogue Audio" toggle (On / Off), or offering presets (e.g., Full / Soft / Muted)?
  2. Audio & Immersion Optimization: If keeping the dynamic Web Audio generation, what are the best techniques to remove the "robotic" feel? (e.g., slight randomized pitch jitter, adjusting attack/release envelopes, or smoothing out high frequencies?) Alternatively, what kind of text sound design works best for narrative-heavy retro games?

Thanks in advance for sharing your tips and experiences!

Moderator moved this topic to Music & Audio
Moderator

(moved to the right category)

(+1)

Two quick things that usually help with Web Audio voices: randomise the pitch slightly per syllable (±5–10%) and run it through a low-pass filter around 2–3 kHz so the square/saw edge softens. Short "blip" voices also feel less robotic than long tones. And yes, add the toggle: players who dislike it will just mute the whole game otherwise.

(+1)

Adding to the good tips above, a few more things that made text blips feel less robotic for me:

- Don't blip on every character. Play a sound every 2nd or 3rd letter, skip spaces and punctuation, and add a short pause at commas and full stops. That alone makes it read like speech rhythm instead of a typewriter.

- Pick from 3 to 5 slightly different pitches per character instead of repeating one tone, and keep each blip short (under about 50 ms) with a few milliseconds of fade-in so it doesn't click.

- Use a softer waveform than a raw square: a sine plus a little of the 3rd and 5th harmonic, or a triangle, then low-pass it.

- Give each speaker a fixed base pitch and timbre, so the voice tells you who is talking.

- For settings: a separate "Dialogue voice" volume slider (or an on/off toggle) next to SFX, so players can keep sound effects but turn the voices down.

If you want something to compare against, my free Cozy UI SFX Lite has a few soft text blips you can drop in: https://yetiancai.itch.io/cozy-ui-sfx-free-lite

Disclosure: I'm the creator of that pack. Sounds are synthesized by code written with AI assistance. AI tool: Grok Bot coding assistant (used only to write the synthesis code; current version as of Oct 2026).

The pitch and rhythm suggestions above cover the timbre well. I'd also test what happens when the player presses "show whole line" or switches dialogue sounds off halfway through a sentence. Suppress blips during instant reveal/fast-forward and discard any queued blips, rather than letting the remaining letters sound all at once.


For the separate dialogue slider, route just the text sounds through their own GainNode before the master gain. That lets players silence them while keeping footsteps, UI sounds and music. Fade gain changes briefly instead of jumping directly between values, which can click; MDN explains that here: https://developer.mozilla.org/en-US/docs/Web/API/GainNode


A useful check is a long line, immediate skip, then the next speaker: no leftover chirps and the chosen volume should still apply.