A blogger used Claude Code to dub GTA V into Russian for $60: 250 thousand lines
Blogger Ilya used Claude Code to dub almost all of GTA V into Russian: 250 364 lines and about 219 hours of speech. He pulled the audio out of Rockstar's archives, matched every line to a subtitle and a speaker, and handed synthesis to Gemini TTS in batch mode at 27 cents per hour. The whole project cost about $60 and ten days of work. The takeaway for teams: an agent plus cheap batch synthesis turns a studio project into a one-week task.
AI-processed from Habr AI; edited by Hamidun News
Dubbing an entire game of 260 thousand audio files into Russian used to be a job for a studio with a budget. Ilya, a blogger and the founder of ArtGeneration.me, did it alone in ten days. By his own account, he is not a developer but a product manager with 20 years of experience. Claude Code wrote the code; he set the tasks and checked the results. The outcome: 250 364 Russian lines, almost 219 hours of speech counting redo's, two versions to choose from (a voice-over on top of the muted original, and a full dub), and about $60 for synthesis. The author is upfront about the limits: this does not compete with real actors.
How to build a budget when you have no data
The first problem: nobody knew how much audio GTA V contains. There is a Rockstar talk from GDC 2014 citing almost 160 thousand lines, and a fan-made map with 156 thousand clips, but hours are listed nowhere, and synthesis is billed by audio length. Claude Code wrote a C# program on top of the open-source CodeWalker. It walks through all the archives and reads the sample count and sample rate from the header of each stream, so the length is computed without any speech recognition. It found more than 260 thousand streams.
Next, he had to work out who says what. In-game subtitles are stored under hashes, not names. The author exploited a property of the joaat hash: its final mixing step can be run backward, so he could append the letter A and compute the hash of the audio file for the same string. This linked 75% of the story streams. The speaker is given away by the lip-sync animation inside the stream, whose path records the character. Cutscenes have no such data; there, wikis and the WeSpeaker model helped.
The pipeline: cloud only for synthesis
The project's rule: only synthesis and the Claude agents run in the cloud; everything else runs locally on an RTX 4090. For synthesis he chose Gemini 3.8 Flash-Lite TTS in batch mode, at about 27 cents per hour of finished speech. The author rejected voice-cloning models: the voice sounds similar, but the acting is off-beat, with extra pauses. Style tests ("terrified, voice trembling") on 120 clips improved only every fifth line, and male voices slipped into falsetto, so he left the delivery flat.
Where subtitles are missing (passersby, radio, walkie-talkie, and about 11 thousand story lines), Whisper large-v3 transcribed the text. It invents words on silence, writes other people's credits over groans, and transcribes the English speech of Korean gangsters in hangul. So a heuristic script first flags suspicious phrases, and then Parakeet TDT gives a second opinion. If it heard at least a third of the same words, it is speech; if it heard nothing, it is an invention.
ECAPA-TDNN checked the gender of each voice: 77 correct out of 80 on known speakers. The gender field in Google's catalog, according to the author, is wrong, so each voice is tried on three lines and accepted only if two models agree.
Pitfalls and money
Synthesis defects are caught by a detector that uses no neural networks. It compares audio length with the text, looks for repeats using a self-similarity map of the audio, and checks for clipping and whistling. It runs through the entire story campaign in 4 seconds. Suspicious takes are transcribed back by both models and sent for resynthesis.
There were expensive pitfalls, too. Because of SDK retries, Google counts every retry after a connection failure as a new batch, so with a bad VPN the story campaign could be paid for twice; the auto-retries were turned off. Google's filter refused to voice lines containing the word "малышка" ("baby") near sex references, taking it as a reference to minors, even though in GTA that is what a car is called. A single translator agent that reads neighboring lines did better than parallel helpers.
The installation is also carefully designed. Editing the archives directly causes a Corrupt game data error, and the author did not want to distribute 10 GB of someone else's files. He used the mods folder with RageOpenV and Ultimate ASI Loader, and the installer builds the archives on the player's computer from the player's own files. The originals are untouched, and the mod is removed by deleting one folder.
The economics for practitioners are simple. Dubbing the whole game came out cheaper than a copy of the game, but on 1 January 2027 Google will double the rate, to about 54 cents per hour. Two conclusions follow. Cheap batch synthesis and an agent put mass localization within reach of one person. And the main work shifts to verification: voice gender, recognition hallucinations, and repeated takes have to be caught automatically, or you will have to catch them by ear.
The limitations are clear as well. This is an amateur mod for the Enhanced version, synthesis quality does not replace actors, and text translated by an agent still has to be proofread: "I'm cold" may well come out as "я пас" ("I fold").
- Nov 6, 2026Abu Dhabi Signs Four Agreements With OpenAI: AI Will Start Checking Food Imports
- Nov 6, 2026Prompt caching cut the bill for a 30-step agent run 6.6x: $3.38 → $0.51
- Nov 6, 2026AI Agent Reply Costs Vary 100x: From 0.94 ₽ to 121.57 ₽ per Message
- Nov 6, 2026One bot for Telegram and MAX: ads brought in 416 people at 17 ₽ each
Key Questions Answered
How to build a budget when you have no data?
The first problem: nobody knew how much audio GTA V contains. There is a Rockstar talk from GDC 2014 citing almost 160 thousand lines, and a fan-made map with 156 thousand clips, but hours are listed nowhere, and synthesis is billed by audio length. Claude Code wrote a C# program on top of the open-source CodeWalker. It walks through all the archives and reads the sample count and sample rate from the header of each stream, so the length is computed without any speech recognition.
What are the key details on The pipeline: cloud only for synthesis?
The project's rule: only synthesis and the Claude agents run in the cloud; everything else runs locally on an RTX 4090. For synthesis he chose Gemini 3.8 Flash-Lite TTS in batch mode, at about 27 cents per hour of finished speech. The author rejected voice-cloning models: the voice sounds similar, but the acting is off-beat, with extra pauses. Style tests ("terrified, voice trembling") on 120 clips improved only every fifth line, and male voices slipped into falsetto, so he left the delivery flat.
What are the key details on Pitfalls and money?
Synthesis defects are caught by a detector that uses no neural networks. It compares audio length with the text, looks for repeats using a self-similarity map of the audio, and checks for clipping and whistling. It runs through the entire story campaign in 4 seconds. Suspicious takes are transcribed back by both models and sent for resynthesis. There were expensive pitfalls, too.
Build & Ship Production AI Agents Without Boilerplate Code
Start your free 72-hour trial at Hamidun Academy (academy.hamidun.com) — interactive lessons on Claude Code & Cursor, live Tech Radar, and production agent templates.
The AI world, distilled — once a week
Seven stories that actually mattered, hand-picked. No noise, no reposts, no press releases.
Done! Check your inbox for a confirmation.