Skip to content

Lesson 3 of 7 · 5 min read

Cast one creator

Make one creator from one reference portrait, edit it into a selfie start frame, and record the script as one voice take chosen by transcript.

A moment at work · fictional example

Jo has a locked script and a $25 cap. Maya has to look like the same person in every clip and sound like the same person in every line. A loose choice now carries into every later step.

You will make: Cast your creator and record the voice. Follow the fictional example first, then try it with material you are permitted to use.

Start from one reference portrait

Every image of the creator starts from one reference portrait. Generate a few portraits from a written description, pick one, and save it as the reference. From then on, each frame is an edit of that portrait, not a new generation.

A new generation from the same description can give a different face each time. An edit of one reference keeps the face, the hair and the clothes. Keep the description in your ad plan, so you can say where the creator came from.

Describe a person who does not exist. Do not start from a photo of a real person, and do not ask for a lookalike of anyone. That path needs written consent, which the consent lesson in Training videos with AI covers.

Frame it like a front camera

The start frame is the first frame of every talking clip. Make it with an image model that edits a reference photo. Ask for the same face and the same clothes, with the creator holding the phone at arm’s length.

Write the camera into the prompt. A front phone camera sits close, with a slightly wide lens and the eyes near the top third. Light comes from a window, not a studio. The face sits a little off center, in front of a lived-in room.

Keep the lower third of the frame free of important detail. Captions and product screens go there later.

One voice, one take

Pick one text-to-speech voice and keep it for the whole ad. Use a stock voice from the tool’s library, not a clone of a real person.

Generate the whole script as one take. The pace, pitch and energy then stay continuous from the hook to the call to action. Lesson 4 cuts that one take into slices, one per clip.

Generate two takes. A text-to-speech voice can skip a word, add one or say a name wrong. Both takes can still sound fine on a first listen.

Pick the take by its transcript

Run each take through speech-to-text, then compare each transcript with the script word for word. The open-source tool whisper.cpp does this on your own computer, with its small base.en model.

Keep the take whose transcript matches the script. If neither matches, generate a third take. Then listen to the winner once from start to end, for tone and for any name it says wrong.

Speech-to-text can mishear as well. When a transcript differs from the script, listen to that spot before you blame the voice.

Log every paid call

The portraits, the start frame and the voice takes are the first paid calls. Agree the spend cap with whoever approves the budget before the first one. Log each call with its price and its purpose. Lesson 4 covers the cap in full.

Worked example · Fernway

Jo casts Maya

Jo starts from the locked script from Lesson 2, about 47 seconds of speech. Jo’s manager approved the $25 generation cap before any paid call. Jo keeps a spend log with one row per call.

  1. Jo writes Maya’s description: a woman in her early thirties, short dark curls, a rust-colored sweater, in a bright home kitchen. Jo generates four portraits and saves one as the reference. The description goes into the ad plan.
  2. Jo asks the image model to edit the reference into a selfie start frame. The prompt keeps the same face and sweater, and adds the phone at arm’s length.
    What would you do next?The first edit looks like a studio portrait: even light, the face in the exact center, a sharp background. What should Jo change?Think it through, then show the answer

    Write the camera into the prompt. Jo asks for a front phone camera at arm’s length, a slightly wide lens, window light from one side, the face a little off center, and a soft kitchen behind her. The second edit looks like a phone selfie.

  3. Jo picks a stock voice from the text-to-speech library. Jo plays the hook line in three voices and chooses the one that sounds like someone talking, not reading. It is not a clone of anyone.
  4. Jo generates the whole script as one take, twice. Each take runs about 47 seconds.
  5. Jo converts both takes to 16-bit WAV and transcribes them with whisper.cpp and the base.en model. Then Jo asks an assistant to compare each transcript with the script word for word.
  6. Take B sounds warmer, but its transcript ends “Take the pantry check”, without “free”. Take A matches the script word for word. Jo picks the take whose transcript matches the script.That answers the question you guessed at: Guess: two voice takes of the same script both sound fine. How should Jo choose between them?
    What would you do next?Take B sounds better. Why not use it and put “free” in the captions?Think it through, then show the answer

    The captions would then show a word the voice never says. “Free” is also a claim in the ledger, so the viewer has to hear it. Jo uses take A, and would generate a third take if neither matched.

  7. Jo listens to take A once from start to end. The tone holds, and every word is clear. Jo logs the portraits, the edit and both takes in the spend log.

Jo has one reference portrait, one selfie start frame and one voice take of the whole script, chosen by its transcript. Maya looks and sounds like one person. Lesson 4 cuts the take into slices and shoots the clips.

Go deeper: the research and edge cases

Optional. The exercise needs only what is above.

Direction inside the script

Some text-to-speech tools accept direction inside the text, such as a pause marker or a word for the tone. Each tool has its own format, so read its documentation. If a take reads a marker aloud, the transcript shows it.

Why not one voice call per line

Lines generated one at a time can change pace and pitch between calls. The edit then sounds like several recordings joined together. One take avoids that, and Lesson 4 cuts it at the pauses the voice already made.

The file format whisper.cpp needs

The whisper.cpp README says its command-line tool runs only with 16-bit WAV files. Convert each take with ffmpeg first. The README gives the conversion command, and the prompts below repeat it.

Starter prompts

  • Start-frame edit

    Edit this reference photo into the first frame of a selfie video. Keep the same person: same face, same hair, same clothes. She holds a phone at arm’s length and looks into its front camera. Frame it the way a front phone camera does: vertical 9:16, close, a slightly wide lens, eyes near the top third, face a little off center. Light comes from a window on one side, soft and natural, not studio light. Behind her is [a lived-in room that fits the product], slightly out of focus. Keep the lower third free of important detail. Natural skin texture and light phone-camera grain. No text, no logos, no other people.
  • Transcribe two voice takes (ffmpeg and whisper.cpp)

    # Convert each take to 16-bit WAV. The whisper.cpp command-line tool reads only this format.
    ffmpeg -i take-a.mp3 -ar 16000 -ac 1 -c:a pcm_s16le take-a.wav
    ffmpeg -i take-b.mp3 -ar 16000 -ac 1 -c:a pcm_s16le take-b.wav
    
    # Download the base.en model once, from inside the whisper.cpp folder.
    sh ./models/download-ggml-model.sh base.en
    
    # Transcribe each take to a text file next to it.
    ./build/bin/whisper-cli -m ./models/ggml-base.en.bin -f take-a.wav -otxt
    ./build/bin/whisper-cli -m ./models/ggml-base.en.bin -f take-b.wav -otxt
  • Compare the transcripts with the script

    Here is the locked script for a voice-over: [paste the script]. Here are speech-to-text transcripts of two takes. Take A: [paste]. Take B: [paste]. Compare each transcript with the script word for word. Ignore differences in punctuation, capital letters and how numbers are written. For each take, list every missing, added or changed word, with the script line it sits in. Then say which take matches the script, or say that neither does. Flag any changed word inside a claim, a price, a product name or the call to action.

When not to use AI

  • Building the creator from a real person’s photo or voice without written consent. That needs the consent work in Lesson 6 of Training videos with AI.
  • Judging tone. A transcript shows the words, not whether the take sounds right. Listen to the chosen take once from start to end.
  • Generating a new portrait for each clip. It can give a different face each time. Edit the one reference instead.
Recall from memoryHow do you choose between two voice takes that both sound fine?Answer it without looking back, then show the answer

Transcribe both with speech-to-text, and compare each transcript with the script word for word. Keep the take whose transcript matches, then listen to it once from start to end.

Exercise · your project

Cast your creator and record the voice.

  1. Write a description of your creator, generate a few portraits, and save one as the reference.
  2. Edit the reference into a selfie start frame with the first prompt.
  3. Choose one stock voice, and generate the whole script as one take, twice.
  4. Transcribe both takes, compare them with the script, and keep the one that matches.
  5. Log each paid call against your cap, and add the files to your ad plan.

Your project workspace

Leave with work you can use.

Write here or use an approved tool. Use fictional or permitted information. Your work stays in this open page and disappears on reload. Nothing is submitted to Emeri or an AI service.

This is self-review. Completion is saved on this device and does not award certification.

Sources