Vizard Agent

How to sync the typing sound to each letter appearing

Last updated 2026-09-28 · 8 min read

Ask Vizard Agent for one isolated key click per character, timed to the reveal, and for the text to grow from a fixed left origin. A stock typing sound is usually several clicks in one file, and text that is centred while it types drifts sideways on every letter — those two things are what make the effect look wrong.

What is the short version?

You want words appearing letter by letter with a mechanical click on each one. It sounds like one job and it is three: the reveal, the sound, and the final held frame. Vizard Agent gets there by measuring each part rather than trusting that they will line up.

  1. Tell Vizard Agent you want a click per character, not a typing loop.
  2. Ask for the text to type from a fixed left edge.
  3. Check the last frame holds the completed line.

What do you need before you start?

The words, and a background if you have one. A photograph of paper or a desk is a good backdrop for this effect, and handing it over means Vizard Agent can keep the composition inside the real boundaries of the object rather than putting text over its edges.

Decide whether you want a cursor. It reads well in theory and it is the element most likely to look unstable, so it is worth being deliberate rather than assuming.

What do you type into Vizard Agent?

Name the two failure modes in the brief. They are specific enough that saying them once saves a round, and general enough that no tool avoids them by default — which is why almost every first attempt at this effect has one or the other.

Type out "thanks for watching" letter by letter over this image, then change to "like and subscribe" at the end. One isolated key click per character, in sync. Grow the text from a fixed left edge, no centre shift, and hold the finished line cleanly on the last frame.

"One isolated key click per character" is doing the heavy lifting. Without it you get a typing texture laid over the animation, which sounds approximately right and never matches.

What does Vizard Agent actually do?

It builds the pieces separately, measures each one, then times them against each other. The measuring is not ceremony — the whole effect is a timing relationship, and a guess at any one duration puts the clicks off the letters.

In the session behind this article it:

The burst-versus-single-transient problem is the one worth remembering. A file called "typewriter typing" almost always contains a run of presses, and layering that per character gives you an echo rather than a rhythm.

What does the result look like?

Letters appearing one at a time from a fixed left margin, each with its own distinct click, and a clean hold on the finished phrase at the end. Nothing drifts sideways, and the audio has a rhythm rather than a rattle.

The held final frame does more than it sounds like it should. An end card whose last visible state is mid-animation reads as a mistake, while the same card holding the completed line for a moment reads as finished.

When does this not work well?

When the phrase is long. Character-by-character typing is charming for a few words and slow for a sentence, and a long line either types too fast to read as typing or takes up the whole card — worth cutting the words rather than speeding up the effect.

A proportional typeface also works against you here. Each character is a different width, so the reveal advances unevenly, and while Vizard Agent can time the clicks to the characters regardless, the visual rhythm is never as even as a monospaced face.

And a cursor is often not worth it. In this session it was removed because it would not sit stably against the growing text, and the effect was better without it.

How do you fix a result that came back wrong?

If the clicks sound like an echo, tell Vizard Agent the sound is a burst rather than a single press. It then goes and isolates one transient from the file instead of adjusting the level, which is the fix that actually works — a quieter burst is still a burst.

If the words move as they type, ask for a fixed origin explicitly. Centre alignment recomputes the position on every new character, and naming that is faster than describing the drift.

If the ending feels unfinished, ask for a held frame on the completed line. Vizard Agent can check the final second frame by frame to find the first clean fully typed frame and hold from there.

How does Vizard Agent compare to doing it yourself?

Doing this by hand means placing a click per character on a timeline, and the reason it takes a while is that you first have to cut one usable click out of a sound that contains six. That is the same work, done by measurement instead of by ear.

The habit worth copying is inspecting the sound's waveform before using it. One look tells you whether you have a single hit or a run, and it is the difference between an hour of nudging and getting it right once.

Common questions

Why do the clicks sound doubled? The source sound is a burst. Vizard Agent isolates one transient instead.

Can it click on every character? Yes. Vizard Agent delays an individual click per character.

Why does my text slide sideways? It is centred while typing. Ask Vizard Agent for a fixed left origin.

Should I include a cursor? Optional, and often unstable. Vizard Agent will drop it if it misbehaves.

Can it type over a photograph? Yes. Vizard Agent keeps the text inside the object's real boundaries.

How long should the phrase be? Short. A few words type well; a sentence does not.

Does a monospaced font help? Yes, the reveal advances evenly. Vizard Agent can use either.

How loud should the clicks be? Audible, not harsh. Vizard Agent measures the peak and sets it.

Can it change to a second phrase? Yes, with a clean reset between them.

Why is the last frame mid-animation? No hold was set. Ask Vizard Agent to freeze the completed line.

Can it match an existing typewriter sound I have? Yes. Attach it and Vizard Agent extracts a single press from it.

Does the text have to be transparent? It helps. Vizard Agent composites a transparent layer over the background.

Can I have a cursor blink after it finishes? Ask for it explicitly, and check it in the render.

How do I verify the sync? Vizard Agent extracts a waveform so each click shows as one hit.