characteristic-voice
Use this skill whenever the user wants speech to sound more human, companion-like, or emotionally expressive. Triggers include:…
Translate and dub videos from one language to another, replacing the original audio with TTS while keeping the video intact.
Claude Code
$ npx -y skills add noizai/skills --skill video-translation --agent claude-code
Codex
$ npx skills add noizai/skills --skill video-translation -a codex -y
Cursor
$ npx skills add noizai/skills --skill video-translation -a cursor -y
Gemini CLI
$ npx skills add noizai/skills --skill video-translation -a gemini-cli -y
GitHub Copilot
$ npx skills add noizai/skills --skill video-translation -a github-copilot -y
OpenCode
$ npx skills add noizai/skills --skill video-translation -a opencode -y
Windsurf
$ npx skills add noizai/skills --skill video-translation -a windsurf -y
name: video-translation description: Translate and dub videos from one language to another, replacing the original audio with TTS while keeping the video intact.
Translate a video's speech into another language, using TTS to generate the dubbed audio and replacing the original audio track.
When the user asks to translate a video:
1. **Download Video & Subtitles**: Use the `youtube-downloader` skill to download the video and its subtitles as SRT. Make sure you specify the source language to fetch the correct subtitle.
python path/to/youtube-downloader/scripts/download_video.py "VIDEO_URL" --subtitles --sub-lang <source_lang_code> -o /tmp/video-translation
2. **Translate Subtitles**: Read the downloaded `.srt` file. Translate its contents sentence by sentence into the target language using the following fixed prompt. Keep the exact same SRT index and timestamp format!
**Translation Prompt**: > Translate the following subtitle text from <Source Language> to <Target Language>. > Provide ONLY the translated text. Do not explain, do not add notes, do not add index numbers. > The translation must be colloquial, natural-sounding, and suitable for video dubbing.
Save the translated text into a new file `translated.srt`.
3. **Generate Dubbed Audio**: Use the `tts` skill to render the timeline-accurate audio from the translated SRT. The Noiz backend automatically aligns the duration of each sentence to the original video's subtitle timestamps.
To ensure the cloned voice matches the original speaker's exact tone and emotion for each sentence, pass the original video file to `--ref-audio-track`. The TTS engine will automatically slice the original audio at each subtitle's exact timestamp and use it as the reference for that specific segment.
Create a basic `voice_map.json`:
{
"default": {
"target_lang": "<target_lang_code>"
}
}Render the timeline-accurate audio:
bash skills/tts/scripts/tts.sh render --srt translated.srt --voice-map voice_map.json --backend noiz --auto-emotion --ref-audio-track original_video.mp4 -o dubbed.wav
4. **Replace Audio in Video**: Use the `replace_audio.sh` script to merge the original video with the new dubbed audio. To keep the original video's non-speech audio background outside of translated segments, pass the `--srt` file.
bash skills/video-translation/scripts/replace_audio.sh --video original_video.mp4 --audio dubbed.wav --output final_video.mp4 --srt translated.srt
5. **Present the Result**: Return the `final_video.mp4` file path to the user.
Install: clone or copy the `skills/youtube-downloader` directory from [crazynomad/skills](https://github.com/crazynomad/skills) into your `skills/` folder so that `skills/youtube-downloader/scripts/download_video.py` is available.
If not already in this repo: clone or copy the `skills/tts` directory from [NoizAI/skills](https://github.com/NoizAI/skills) into your `skills/` folder. Ensure `skills/tts/scripts/tts.sh` and related scripts are present.
Use this skill whenever the user wants speech to sound more human, companion-like, or emotionally expressive. Triggers include:…
Chat with any real person or fictional character in their own voice by automatically finding their speech online, extracting a…
Fetches the latest news using news-aggregator-skill, formats it into a podcast script in Markdown format, and uses the tts skill…
Build a music video from an existing song and lyrics, either as p5.js/p5.brush animation or by assembling local images and clips.…
Use this skill whenever the user wants to generate sound effects, ambient audio, or short audio clips from a text description.…
Use this skill whenever the user wants to transcribe audio to text, convert speech to text, or get a transcript from an audio or…
Activates when the user asks about AI prompts, needs prompt templates, wants to search for prompts, or mentions prompts.chat. Use…
AI-driven presentation workflow for generating editable PPTX decks and slides, reconstructing page visuals, creating reusable…
Use this skill when the user wants a .pptx with smooth cross-slide animation — PowerPoint Morph transitions, Keynote-style…
Create stunning, animation-rich HTML presentations from scratch or by converting PowerPoint files. Use when the user wants to…