Voice Changer Studio User Guide

Back to the app

Voice Changer Studio changes the voice in any video or audio file to a natural, human-sounding voice of your choice, or keeps the original speaker's voice while you rewrite what they say by editing text.

Works best in Google Chrome or Microsoft Edge.

Quick start

Once setup is done, every project follows the same eight steps.

  1. Open the app and enter your app password if asked.
  2. Drag your video or audio file onto Your video or audio (or click it to browse).
  3. In Pick a voice, filter by gender, accent and age, press the play button to hear samples, then click Use.
  4. Press Write out the speech. Every spoken line appears in the script as timed, editable text.
  5. Edit the script: type over lines, Remove lines, add new ones with + Line, and use Hear line to check wording.
  6. Choose a voice mode, then press Preview 20 seconds to hear the new voice on your own clip.
  7. Press Make new voice track. Watch it and switch between Original and New voice to compare.
  8. In Download, pick a format and press Download. The file lands in your Downloads folder.
Want to keep the same person's voice and only change their words? At step 3, press Use the original speaker's voice instead of picking a voice (do step 4 first for the best copy). See Choosing a voice.

One-time setup

Setup takes about 10 minutes and is done once. The app lives in the GitHub repo MyKyah70/Voices and runs on Cloudflare Pages; the voices come from your ElevenLabs account.

1. Get an ElevenLabs API key

  1. Sign in at elevenlabs.io. A paid plan (Starter or higher) is required for Voice Library voices and voice swapping.
  2. Go to elevenlabs.io/app/developers/api-keys (or the left sidebar: Developers > API Keys).
  3. Click Create API Key, name it Voices, and turn on: Text to Speech, Speech to Speech, Speech to Text, Voices (Write), User (Read).
  4. Copy the key right away. It is shown only once; if lost, create a new one.

2. Connect Cloudflare to GitHub

  1. In Cloudflare: Workers & Pages > Create > Pages > Connect to Git, then pick MyKyah70/Voices.
  2. Framework preset: None. Build command: leave blank. Build output directory: public.
  3. Click Save and Deploy.

3. Add the secrets

In the Pages project, open Settings > Variables and Secrets and add both as type Secret:

NameValuePurpose
ELEVENLABS_API_KEYYour ElevenLabs keyLets the app reach the voices. Stays on Cloudflare, never in the browser.
APP_PASSWORDA password you chooseStops anyone who finds the link from spending your credits.

4. Redeploy

Go to Deployments, open the menu on the latest one and choose Retry deployment. New secrets only take effect after a deploy. Every push to GitHub also redeploys automatically.

Keep the API key private: paste it only into Cloudflare, never into email, chat or GitHub.

The screen

The screen has four numbered panels. On a computer, panels 1 and 4 stay pinned on the left while you scroll the script on the right, so the video is always in view.

PanelWhereWhat it does
1. Your video or audioLeft, topDrop zone, then the player: play/pause, timeline, captions of the current line, and the Original / New voice switch.
2. Pick a voiceRight, topBrowse, filter and sample voices; click Use to select one.
3. Edit the scriptRight, belowVoice mode, fine tuning, the main action buttons, progress bar, status message, and the editable script.
4. DownloadLeft, bottomChoose an output format and download the finished file.

The top bar shows your remaining ElevenLabs credits, a Password button if a password is set, and the User Guide button that opened this page.

Keyboard: Space plays and pauses the video whenever you are not typing in a box.

Opening a file

Drag any video or audio file onto panel 1, or click it to browse. To switch files later, press Open another file.

TypeFormats
VideoMP4, MOV, AVI, WMV, MKV, MTS, M2TS, TS, FLV, MPEG, VOB, 3GP, WEBM, MXF, DV, RM and more
AudioMP3, WAV, M4A, AAC, WMA, FLAC, AIFF, OGG, OPUS, AMR and more

What happens behind the scenes: formats your browser plays natively open in a few seconds. Anything else goes through the built-in converter, which downloads once (about 30 MB), then makes a viewing copy and pulls out the sound track. The file info line under the player says converted for viewing when this happened. Your original file is never changed.

Large files: files over about 700 MB use the converter to read the sound, which can take a minute or two. Very long or 4K files work, but plan for the download step to take longer (see Downloading).

Coming back to a file: if you reopen the same file in the same browser, your saved script edits are restored automatically.

Choosing a voice

Pick the voice before you preview or build; you can change it at any time and rebuild.

  • Voice Library tab: thousands of real-person voice models shared on ElevenLabs, sorted by what is trending.
  • My Voices tab: voices already in your ElevenLabs account, including any you used before or cloned yourself.
  • Filters: Gender (male, female), Accent (American, British, Australian, Irish, Scottish, Southern, Indian and more) and Age (young, middle aged, older).
  • Search: type a description such as narrator, deep, warm, gravelly or cowboy.
  • Listen: press the round play button on any voice to hear its sample. Press it again to stop.
  • Select: click Use. The chosen voice is outlined and named under the list.
  • Load more appears at the bottom when more matches are available.

Keep the same person's voice (edit their words)

To change what someone says without changing who is speaking, press Use the original speaker's voice (below the voice list).

  1. Open the video and press Write out the speech first; the app then copies the voice from the actual speech (up to 2 minutes, at least 10 seconds needed).
  2. Press Use the original speaker's voice and confirm you are the speaker, own the recording, or have their permission.
  3. Edit, add or remove lines, then press Make new voice track. Only your edited lines are spoken in the copied voice; everything else stays exactly as recorded.

The copy is saved in your ElevenLabs account (under My Voices) and reused next time you open the same file. It uses one of your plan's custom voice slots.

The first time you use a Library voice, the app adds it to your ElevenLabs account automatically; after that it also appears under My Voices. Your plan limits how many custom voices you can hold, so remove unused ones in ElevenLabs if you hit that limit.

Editing the script

Press Write out the speech and the app writes out everything said in the file as a list of timed lines. Long files are processed in parts; a 20 minute video takes about a minute. Press Write out again to start over (it asks first if you have edits).

Each line has its start time on the left, the words in the middle and its actions on the right.

ControlWhat it does
Time button (blue)Plays the video from just before this line.
Time box (below it)Changes when the line starts. Type minutes:seconds, such as 1:23.4, and press Enter. Lines re-sort by time.
The wordsClick and type to change what is said. Changes save as you type.
Hear linePlays only this line in the selected voice, without touching the video. Good for checking wording and pronunciation.
Remove / RestoreSilences the line in the new track, or brings it back.
+ LineAdds a blank new line just after this one, ready to type.
UndoPuts back the original words and start time. Shown only on changed lines.
+ Add a line at the endAdds a new line after the last one.

Status tags: each line shows Original, Edited (orange edge), New line (green edge) or Removed (crossed out). Edited lines show what they used to say underneath. After a build, a red tag such as 1.2s too long means the new wording does not fit before the next line; shorten it or move the next line later.

Follow along: with Follow along while playing ticked, the script scrolls to keep the current line in view and highlights it in blue.

Saving your work

  • Edits save automatically in this browser, per file. Reopening the same file restores them.
  • Save script downloads your script as a .json file; Open script loads one back, for example on another computer.
  • Subtitles (SRT) downloads captions of the current script for YouTube or any video editor.

Voice modes and fine tuning

Choose Keep original delivery for lip sync and natural emotion; choose Fresh read, full accent when the new accent matters most.

Keep original deliveryFresh read, full accent
Lines you did not changeOriginal speaker's timing, pauses and emotion, in the new voiceRead fresh by the new voice
Lines you edited or addedRead fresh by the new voiceRead fresh by the new voice
AccentMostly follows the original speaker's way of talkingFully the new voice's accent
Lip syncVery closeClose; lines start at the same moments
Needs the script written outNo (but needed for edits)Yes (done automatically if missing)
Best forNatural delivery, matching mouth movementA clear change of accent or a full rewrite

Fine tune the voice (click to expand in the app)

  • Stability: lower gives more emotion and variety; higher gives a steadier, calmer read. Start at 0.50.
  • Voice match: how closely the result sticks to the chosen voice. Start at 0.80.
  • Expressiveness: adds style and drama. Leave at 0 for natural speech; raise slowly for narration.
  • Clean up background noise: removes hiss and room noise from the original before swapping. Turn it off to keep room sound.

Changing the voice, mode or any of these settings means the next build regenerates the affected audio.

Previewing and making the new voice track

Preview a few spots first, then build the whole track once you like the voice.

Preview 20 seconds

  1. Move the player to a spot with speech and pause.
  2. Press Preview 20 seconds. The app builds the new voice for the next 20 seconds only and starts playing it.
  3. Try a different voice, mode or setting and preview again. Each preview costs about 300 credits.

Make new voice track

  1. Press Make new voice track. Progress shows in the bar and status line, line by line.
  2. When it finishes, the player switches to New voice and plays from the start. Captions show each line.
  3. Use Original and New voice under the player to compare at any moment.
  4. Make more script edits, then press Update new voice track. Only changed lines are regenerated; untouched parts are reused, so updates are fast and cheap.

How edits are blended: in Keep original delivery mode, the original wording of each edited or removed line is faded out, and the new line is placed at its start time. If a new line is longer than the gap, it is spoken slightly faster (up to 20%) to fit; anything still too long is flagged in red.

Downloading

Download unlocks after a full Make new voice track (a preview is not enough). Pick a format in panel 4 and press Download.

FormatTypeNotes
MP4VideoBest all-round choice; plays everywhere. Default for video files.
MOVVideoFor Apple and editing software such as Final Cut.
MKVVideoAccepts any picture format without conversion.
AVIVideoFor older players and software.
WEBMVideoFor the web; may need the picture converted, which is slower.
MP3AudioSmallest audio file. Default for audio files.
WAVAudioUncompressed, best for further editing. Instant.
M4AAudioApple-friendly compressed audio.
FLACAudioLossless, smaller than WAV.
OGGAudioOpen compressed format.

Video quality: for files under 1.5 GB, the picture is copied as-is with the new sound track, so quality is untouched and the download takes seconds.

Large videos (over 1.5 GB): these are too big for the in-browser converter, so the app records the video with the new voice as it plays through once. A 20 minute video takes about 20 minutes. Keep the tab open and in front until the status says it is done. The result is MP4 (or WEBM if your browser cannot record MP4), at a quality matched to the video size.

Audio-only files can only be downloaded in audio formats.

Credits and costs

The biggest cost is a full build in Keep original delivery mode: roughly 1,000 credits per minute of video, charged once per voice and settings. Figures are approximate; ElevenLabs Usage analytics shows exact use.

ActionApproximate cost
Write out the speechBilled by ElevenLabs per minute of audio (speech to text)
Preview 20 secondsAbout 300 credits
Make new voice track, Keep original deliveryAbout 1,000 credits per minute
Each edited, added or fresh-read lineAbout 1 credit per character spoken
Hear lineAbout 1 credit per character (replaying the same line is free)
Update after editsOnly the changed lines
DownloadingFree

Example: a 20 minute video uses about 20,000 credits for the full build, plus a few hundred per batch of edits. The Starter plan's 40,000 monthly credits cover about two such videos.

Save credits: preview before building, finish most edits before the first full build, and avoid changing the voice or settings after building (that regenerates everything).

Tips for the most natural result

  • Match the speaker. A voice close in gender and age to the original sounds most believable in Keep original delivery mode.
  • Keep edits about the same length. A new line with roughly the same number of words as the old one fits the gap and the lip movement best.
  • Write the way people talk. Use contractions and natural punctuation; commas and periods shape the pauses.
  • Spell out tricky words the way they sound and check them with Hear line.
  • Use punctuation for emotion. An exclamation mark or question mark changes the read; an ellipsis adds a hesitation.
  • Turn stability down (0.30 to 0.45) for lively, emotional scenes; up (0.60 to 0.75) for calm narration.
  • Clean source audio helps. Wind, music or overlapping voices in the original reduce quality; leave Clean up background noise on unless you need the room sound.
  • Background music is replaced. The new track contains voice only. Add music back afterward in a video editor if needed.
  • Only voice content you own or have permission to change, and do not use a voice to imitate a real person without their consent.

Troubleshooting

Most problems are fixed by a redeploy in Cloudflare or a hard refresh (Ctrl + F5) in the browser.

ProblemFix
Yellow banner: "Almost there" or "Server is missing ELEVENLABS_API_KEY"Add the key in Cloudflare Settings > Variables and Secrets as a Secret, then Retry deployment and press Ctrl+F5.
Yellow banner: "Server not found"You opened the page as a file on your computer. Use the Cloudflare link (pages.dev) instead.
Asked for a password again, or "Wrong or missing app password"Click Password (top right) and enter the APP_PASSWORD set in Cloudflare.
"Could not load voices" with code 401The ElevenLabs key is wrong or was deleted. Create a new one, replace the secret, then redeploy.
Error about permissions, or code 403 from ElevenLabsThe key is missing a permission. Recreate it with Text to Speech, Speech to Speech, Speech to Text, Voices (Write) and User (Read).
Error about quota or creditsYou are out of credits. Wait for the monthly reset or upgrade in ElevenLabs.
"Could not add this library voice"Your plan's custom voice slots are full. Delete unused voices in ElevenLabs, or pick from My Voices.
File will not openCheck your internet connection (the converter downloads once). Files over about 2 GB may need trimming first.
"This file has no sound track"The file has no audio to change. Check it plays with sound in another player.
No speech found when writing outThe audio is too quiet or is music only. Try a clip with clear speech.
A line runs long (red tag)Shorten the new wording, or change the next line's start time to give it more room.
New voice drifts out of sync while playingPress pause and play, or click the line's time button; the player re-syncs.
Download button is greyRun a full Make new voice track first; previews cannot be downloaded.
Large video download seems stuckIt is recording in real time. Keep the tab open and in front; the status line shows the time recorded.
"Need at least 10 seconds of clear speech to copy a voice"Press Write out the speech first so the copy uses real speech, or use a file with more talking.
"Could not copy the voice"Your plan's custom voice slots may be full, or the key lacks Voices (Write). Delete unused voices in ElevenLabs or recreate the key with that permission.
Copied voice does not sound like the speakerCopies are best from clean, single-speaker audio. Raise Voice match to 0.90, keep Stability near 0.50, and keep edited lines short.
User Guide button does nothingYour browser blocked the new tab. Allow pop-ups for the site, or open the site address followed by /guide.html.
Script edits are goneEdits are saved per browser and per file. Use the same browser, or Open script with a saved .json file.

If something else goes wrong, take a screenshot of the status message and the browser window and send it to whoever maintains the app.