# How to extract only the harmonies: two-pass separation in UVR5, and karaoke that keeps the backing vocals

> Extract only the harmonies (backing vocals) from a song with UVR5, or make karaoke that keeps them: the two-pass method, which file is the harmony, songs that won't split, batch runs and copyright.

- Published: 2026-10-26
- Author: 友田 陽大
- Tags: UVR5, ハモリ, 音源分離, ボーカル抽出, カラオケ, AI, Python
- URL: https://tomodahinata.com/en/blog/harmony-backing-vocal-extraction-uvr5-guide
- Category: Audio source separation & preprocessing
- Pillar guide: https://tomodahinata.com/en/blog/music-source-separation-tool-selection-demucs-uvr-spleeter

## Key points

- UVR5 has no 'harmonies only' button. Extract the vocals from the song in a first pass, then run those vocals through a karaoke model in a second pass: what is left besides the lead is the harmony
- Karaoke models (UVR-MDX-NET Karaoke 2, 6_HP-Karaoke-UVR and others) write (Vocals) = lead and (Instrumental) = everything else. The BV model (UVR-BVE-4B_SN-44100-1) is the reverse: its (Vocals) side is the harmony
- Running a karaoke model on the whole song gives you karaoke that keeps the harmonies. In UVR's Vocal Split Mode that file is (Instrumental_with_backing_vocals), and the harmonies alone come out as (Vocals_backing_only)
- Unison lines, the same singer multitracked, center-panned harmonies and heavy reverb are hard to split. Harmonies panned left or right can sometimes be pulled out with the side component (the left/right difference) of the vocal file
- Treat private practice and publishing separately. In Japan, publishing audio made from a commercial recording needs permission from the master-recording side, such as the record label, on top of the blanket licenses of JASRAC and NexTone

---

The short answer: UVR5 (Ultimate Vocal Remover) has no button that pulls "just the harmonies" out of a song in one step. **Extract the vocals from the song in a first pass, then run that vocal file through a karaoke model (such as UVR-MDX-NET Karaoke 2) in a second pass.** The model splits it into the lead vocal and everything else, and everything else is the harmonies. Run a karaoke model on the whole song instead, and you get a karaoke track that still has the harmonies in it.

With karaoke models, the file whose name carries `(Instrumental)` is the harmony. UVR v5.6's Vocal Split Mode folds both passes into a single run, and the harmonies come out as `(Vocals_backing_only)`.

This guide is for people who want to practice a harmony part, transcribe one by ear, or build a backing track that keeps the harmonies. It centers on the UVR5 GUI, and the second half shows how to batch-process with the Python package audio-separator. The basics of making instrumental-only or vocal-only tracks, and how to install UVR5, are in the [complete guide to making karaoke tracks and a cappella with UVR5](/blog/uvr5-karaoke-instrumental-acapella-vocal-extraction-guide).

> **About the author, and how this article was checked**: I built and run, on my own, a video-localization platform whose first stage is source separation. The UVR screen labels and output file names in this article were checked by reading the source code of UVR GUI v5.6 published on GitHub (`gui_data/constants.py`, `UVR.py` and `separate.py` on the master branch) and its model definition files. The Roformer-capable beta is not covered. Button positions and icons can't be read from the source, so controls are referred to by their labels.

---

## Quick reference: which file for which goal

| What you want | What goes into the karaoke model | File to use |
| --- | --- | --- |
| Hear only the harmonies (practice, transcription) | The vocals from the first pass | `(Instrumental)`. With Vocal Split Mode, `(Vocals_backing_only)` |
| Hear only the lead | The vocals from the first pass | `(Vocals)`. With Vocal Split Mode, `(Vocals_lead_only)` |
| Karaoke that keeps the harmonies | The whole song (one pass is enough) | `(Instrumental)`. Vocal Split Mode can also write `(Instrumental_with_backing_vocals)` |
| The song with only the harmonies removed (instrumental + lead) | The vocals from the first pass | `(Instrumental_with_lead_vocals)` (Vocal Split Mode only) |

---

## Why separate in two passes?

**A karaoke model splits audio into two parts: the lead vocal and everything else.** UVR's own help text for Vocal Split Mode says the option "auto-processes generated vocal stems, using either a karaoke model to remove lead vocals or another to remove backing vocals," and that it "splits the vocal track into two separate parts: lead vocals and backing vocals."

So what "everything else" contains depends on the input. On the whole song, everything else is the instrumental plus the harmonies, which is karaoke with the harmonies kept. On the vocals from the first pass, the instrumental is already gone, so everything else is only the harmonies. The first-pass vocal extraction is the prep step that keeps instruments out of your harmony track.

---

## Which output file is the harmony?

UVR's source (`UVR.py`) treats the `Vocals` side as the lead for models that the model definition file marks as karaoke models, and as the backing vocals for models marked as backing-vocal (BV) models. In short:

| Model | `(Vocals)` file | `(Instrumental)` file |
| --- | --- | --- |
| UVR-MDX-NET Karaoke, UVR-MDX-NET Karaoke 2, 5_HP-Karaoke-UVR, 6_HP-Karaoke-UVR | Lead | Everything but the lead (the harmonies, when run on vocals) |
| Roformer karaoke models (used with audio-separator) | Lead | Everything but the lead (the harmonies, when run on vocals) |
| UVR-BVE-4B_SN-44100-1 (BV model) | Backing vocals (harmonies) | Lead |

The Roformer row is the only one that does not come from UVR's source; it follows the stem names in the model config files (YAML) that audio-separator loads. The table is derived from source code, so for your first song, always listen to both files to confirm.

UVR only describes using the BV model on vocals. Rather than running it on a whole song, use it through Vocal Split Mode (Method A, below); that is the recommended route. In that mode, UVR mixes the first-pass instrumental back into the first-pass vocals at one tenth of its amplitude before running the model, and computes the lead as "vocals − the backing vocals the model returned." Running the model by hand on the vocal file (Method B) can give a different result.

---

## Models you can use to extract harmonies

Among the VR Architecture and MDX-Net entries in UVR's download list (`download_checks.json`), these five are karaoke or BV models:

| Shown in UVR as | File name | Process Method |
| --- | --- | --- |
| UVR-MDX-NET Karaoke 2 | `UVR_MDXNET_KARA_2.onnx` | MDX-Net |
| UVR-MDX-NET Karaoke | `UVR_MDXNET_KARA.onnx` | MDX-Net |
| 6_HP-Karaoke-UVR | `6_HP-Karaoke-UVR.pth` | VR Architecture |
| 5_HP-Karaoke-UVR | `5_HP-Karaoke-UVR.pth` | VR Architecture |
| UVR-BVE-4B_SN-44100-1 (BV model) | `UVR-BVE-4B_SN-44100-1.pth` | VR Architecture |

audio-separator's model list adds `UVR-BVE-4B_SN-44100-2.pth` and the following Roformer karaoke models:

- `mel_band_roformer_karaoke_aufr33_viperx_sdr_10.1956.ckpt`
- `mel_band_roformer_karaoke_gabox.ckpt`
- `mel_band_roformer_karaoke_gabox_v2.ckpt`
- `mel_band_roformer_karaoke_becruily.ckpt`
- `bs_roformer_karaoke_frazer_becruily.ckpt`
- `bs_roformer_karaoke_anvuew.ckpt`

Roformer models are heavy and use a lot of VRAM (the reasons are in the [BS-RoFormer / Mel-Band RoFormer guide](/blog/bs-roformer-mel-band-roformer-vocal-separation-guide)).

**The regular UVR v5.6 cannot run Roformer models.** According to the v5.6 release notes, the "Beta Roformer Version of UVR" on the releases page can, and the models can be obtained from the Download Center. The screen labels in this article have not been checked against the beta, so treat audio-separator (covered below) as the default way to run the Roformer karaoke models.

**Which model is best** depends on the song. The per-model SDR figures that audio-separator publishes are measured against the vocals and instrumentals of MUSDB18-HQ; they don't measure how a model divides lead from harmony (for what SDR means, see the [quality evaluation guide](/blog/music-source-separation-quality-evaluation-sdr-museval)). For lead-versus-backing separation there is MVSEP's Lead/Back Vocals leaderboard, which uses SDR to score the lead and backing vocals separated from mixtures of 48 songs (40 seconds each). But it scores separation of the whole mix, not the second pass that pulls the harmonies out of a vocal file. A community source-separation guide ([deton24's guide](https://github.com/nomadkaraoke/python-audio-separator/blob/main/docs/deton24-audio-separation-info-2026-03-15.md), included in the audio-separator repository) also reports that karaoke models give very different results from song to song. Listen to two or three per song and pick one.

---

## How to extract only the harmonies in UVR5 (GUI)

### Preparation: download a karaoke model

1. Press the "Settings Button". The README says it sits to the left of the "Start Processing" button.
2. In the settings window's "Download Center" tab, choose "VR Arch" or "MDX-Net".
3. Pick a model from the list and download it. Entries look like "MDX-Net Model: UVR-MDX-NET Karaoke 2" or "VR Arch Single Model v5: 6_HP-Karaoke-UVR".

You can also open the Download Center from "Download More Models" at the end of each model dropdown. Models are fetched from UVR's distribution source (the releases of TRvlvr/model_repo on GitHub) and stored in `models/MDX_Net_Models` or `models/VR_Models` inside the UVR folder.

### Method A: one run with Vocal Split Mode

UVR v5.6 can run the vocals from the first pass through a karaoke model automatically.

1. In the settings window's "Additional Settings" tab, press the "Vocal Splitter Options" button. The same button also appears in the advanced option screens for VR Architecture, MDX-Net and Demucs.
2. In the "Vocal Split Options" window that opens, check "Enable Vocal Split Mode" first. Until you do, "Select Model" and "Save Split Vocal Instrumentals" stay grayed out.
3. In "Select Model", choose the karaoke model you downloaded. Entries look like "MDX-Net: …" or "VR Arc: …". As far as the source shows, only installed VR Architecture and MDX-Net models that are karaoke or BV models are listed here. If you also want karaoke that keeps the harmonies, check "Save Split Vocal Instrumentals" too.
4. On the main screen, under "CHOOSE PROCESS METHOD", select the method and model you normally use for vocal extraction (how to choose: the [UVR5 guide](/blog/uvr5-karaoke-instrumental-acapella-vocal-extraction-guide)). **Uncheck "Instrumental Only".** UVR carries your settings over from the last run, so the check left from making a karaoke track tends to linger. While it stays on, and "Save Split Vocal Instrumentals" is off, the second pass does not run and no harmony file appears.
5. Choose the song with "Select Input" and the destination with "Select Output", then press "Start Processing". When the console shows `Splitting vocals...`, the second pass is running.

For an input of `song.wav`, the output looks like this. The leading `1_` is the input file's position in the batch.

```text
1_song_(Vocals).wav                             First-pass vocals (lead + harmonies)
1_song_(Instrumental).wav                       First-pass instrumental
1_song_(Vocals_lead_only).wav                   Lead only
1_song_(Vocals_backing_only).wav                Harmonies only
1_song_(Instrumental_with_lead_vocals).wav      Instrumental + lead (when Save Split Vocal Instrumentals is on)
1_song_(Instrumental_with_backing_vocals).wav   Instrumental + harmonies (same condition)
```

UVR's help notes that Vocal Split Mode "does not work in ensemble mode at this time."

### Method B: two runs by hand

Run the two passes separately when you want to compare several karaoke models, or redo only the second pass without regenerating the first-pass vocals.

1. **First pass**: extract the vocals as usual to get `1_song_(Vocals).wav`.
2. **Second pass**: set that file as "Select Input" and choose a karaoke model, for example "MDX-Net" → "UVR-MDX-NET Karaoke 2", or "VR Architecture" → "6_HP-Karaoke-UVR".
3. The outputs are named like `1_1_song_(Vocals)_(Instrumental).wav` (harmonies) and `1_1_song_(Vocals)_(Vocals).wav` (lead).

The labels of the checkboxes that save only one stem are built from the selected model's stem names. For a karaoke model they read "Instrumental Only" and "Vocals Only"; to keep only the harmonies, check "Instrumental Only". With the BV model it is the other way round, and "Vocals Only" is the harmony side (as noted above, Method A is the better route for the BV model).

To compare models, turn on "Model Test Mode". UVR's help says it "appends the model name to outputs for comparison across different models."

---

## Making karaoke that keeps the harmonies

The simplest way is to **run a karaoke model once on the whole song and use `(Instrumental)`.** Only the lead is removed; the instrumental and the harmonies stay.

The other option is `(Instrumental_with_backing_vocals)`, which Method A writes when "Save Split Vocal Instrumentals" is checked. In UVR's source it is made by adding the first-pass instrumental and the second-pass harmonies together. Which sounds more natural depends on the song, so make both and compare. For a regular instrumental-only karaoke track, the approach in the [UVR5 guide](/blog/uvr5-karaoke-instrumental-acapella-vocal-extraction-guide) is the better fit.

---

## Songs that won't split, and how to spot them

What a karaoke model decides is "which part is the lead." Depending on how a song is produced, the model may have nothing to go on. The table below lists tendencies you can predict from how the models work; there are no statistics on how often each case fails.

| Song trait | What tends to happen | What to try |
| --- | --- | --- |
| The harmony sings the same notes as the lead (unison, doubling) | Nothing to separate them by; the part ends up on one side or the other | Hard to separate. Treat that part as singing the same notes as the lead |
| Lead and harmonies by the same singer (multitracked) | The voices can't be told apart, so parts flip between files phrase by phrase | Compare other models. If the harmonies are panned, try mid/side |
| Several people sing lead and harmonize with each other | Depending on the model, the harmonies may land in the lead file or in the non-lead file (see below) | Listen to both files. If the harmonies are panned, try mid/side |
| The harmonies are panned to the center | mid/side doesn't help | Rely on comparing models |
| Heavy reverb | Reverb tails spread into both files | Deverb Vocals (below) |
| Lead and harmony swap roles partway through | Section by section, parts jump between the harmony file and the lead file | Re-stitch the sections in an audio editor |
| Mono source | There is no left/right difference, so mid/side gives silence | Rely on comparing models |

**For songs with several singers**, becruily, one of the authors of the Roformer karaoke models, explains how their own and frazer's models are designed in the deton24 guide mentioned above: "they're made to separate true lead vocals, meaning either all of the main singer's vocals, or if it's multiple singers - theirs too." Ad-libs on top of the main vocals count as lead, and "if there are multiple singers singing on top of each other, including harmonise each other, and if there are additional background vocals behind those - all the singers will be separated as one main lead vocal, leaving only the true background vocals." In other words, with these two authors' Roformer models, singers who harmonize with each other end up on the lead side. The same guide also carries a user report that UVR-MDX-NET Karaoke 2 and 6_HP-Karaoke-UVR handle the lead melody in a song's chorus differently, so each model divides the parts its own way. For songs sung by a group, check both files.

**For songs with heavy reverb**, "Deverb Vocals" in the Vocal Split Options window reduces the reverb. Choose its target in "Select Vocal Type to Deverb" from "Main Vocals Only", "Lead Vocals Only", "Backing Vocals Only" and "All Vocal Types". UVR's help says you "must have the 'UVR-DeEcho-DeReverb' VR Arch model installed to use this option," and that it does not work in Ensemble Mode.

**You can also check a song before separating it.**

- Listen on headphones and check whether the harmonies sound pulled to the left or right.
- Make the side component of the first-pass vocal file and listen to it (next section). If you clearly hear harmonies, not just reverb, the harmonies are panned.
- Use "Analyze" in Audacity's "Vocal Reduction and Isolation". According to the manual, it tells you how likely center removal or isolation is to succeed, and shows the average Pan position of the whole selection. Select a stretch where only the harmonies are playing. Audacity 3.5.0 and later need the plugin downloaded separately (see the end of the next section).

---

## Pull out panned harmonies with mid/side

**The side component is the left channel minus the right channel, halved: (L−R)/2.** Anything identical in both channels cancels out, so a center-panned lead disappears and harmonies panned left or right remain.

Apply it **to the vocal file from the first pass**. On the whole song, guitars and synths spread across the stereo field would remain as well. FFmpeg's `pan` filter lets you define each output channel as sums and differences of the input channels.

```bash
# Side component: the difference between L and R. Center sounds (often the lead) disappear
ffmpeg -i "1_song_(Vocals).wav" -af "pan=mono|c0=0.5*c0-0.5*c1" side.wav

# For reference, the mid component: the sum of L and R. Center sounds remain
ffmpeg -i "1_song_(Vocals).wav" -af "pan=mono|c0=0.5*c0+0.5*c1" mid.wav
```

I checked this with FFmpeg 8.1.1 on a synthetic signal. A 440 Hz tone at amplitude 0.125 placed in the center (both channels) came out as 0 in side.wav, and a 660 Hz tone at amplitude 0.125 in the left channel only remained at 0.0625 (half). That shows the limits of the side component:

- **The output is mono.** Whether a harmony was on the left or the right is lost.
- **A part panned to one side only comes out at half the level (−6 dB).** Raise the volume afterwards if you need to.
- **Center-panned harmonies disappear too.**
- **Stereo reverb remains.** The Audacity manual notes that center removal "will not remove stereo reverberation since it is distributed over the entire pan width."

To do the same in Audacity, "Remove Center: to mono" in "Effect > Special > Vocal Reduction and Isolation" uses the same "invert and mix" method as the side component above. Note that from Audacity 3.5.0 onward this effect is no longer shipped with Audacity. According to the manual, it is still available as a downloadable Nyquist plugin from the Muse Support site.

---

## Automating the two passes with audio-separator

When you have many songs, or want the process automated, [audio-separator](https://github.com/nomadkaraoke/python-audio-separator) (MIT license), which runs UVR's models from a CLI and from Python, is the convenient choice. For installation and GPU setup see the [UVR5 guide](/blog/uvr5-karaoke-instrumental-acapella-vocal-extraction-guide), and if you hit errors, the [troubleshooting guide](/blog/uvr5-audio-separator-troubleshooting-gpu-cuda-oom). Everything below was checked against the source of version 0.47.1 on PyPI (released 2026-10-19).

It differs from the UVR GUI in three ways:

- **There is no chained processing like Vocal Split Mode.** A comment in the source says it is not implemented. Run the two passes as two separate invocations.
- **Output names follow `<input name>_(<stem name>)_<model name>.<extension>`.** Even for BV models the stem names stay `Vocals` / `Instrumental`, and, as in UVR, the `(Vocals)` side is the harmony.
- **The CLI and Python have different defaults.** The default output format is FLAC on the CLI and WAV in Python. Specify the model name and the output format explicitly every time.

Find the karaoke models by filtering the model list on file names. `--list_filter` either sorts by name or filename or filters by stem name (vocals, instrumental and so on), so passing `karaoke` to it finds nothing.

```bash
# Find karaoke and BV models by file name
audio-separator -l | grep -i -E "kara|bve"
```

### CLI: split one song in two passes

Fixing the output names with `--custom_output_names` makes sure the first pass's output is passed reliably to the second pass.

```bash
# Pass 1: song → vocals (lead + harmonies)
audio-separator song.wav \
  -m model_bs_roformer_ep_317_sdr_12.9755.ckpt \
  --single_stem Vocals \
  --custom_output_names '{"Vocals": "song_vocals"}' \
  --output_format WAV --output_dir out

# Pass 2: vocals → karaoke model. Instrumental (everything but the lead) is the harmony
audio-separator out/song_vocals.wav \
  -m UVR_MDXNET_KARA_2.onnx \
  --single_stem Instrumental \
  --custom_output_names '{"Instrumental": "song_harmony"}' \
  --output_format WAV --output_dir out
```

Switching the second pass to a Roformer karaoke model (for example `-m mel_band_roformer_karaoke_becruily.ckpt`) takes the same options. According to the README, in the 0.47 series, models whose config file sets `num_overlap` to 4 or 8 (such as the Mel-Band karaoke models) are slow; to speed them up at a small cost in quality at chunk boundaries, add `--mdxc_overlap=2`. There is also `--ensemble_preset karaoke`, which averages the outputs of three Roformer karaoke models.

### Python: extract the harmonies from every song in a folder

Loading a model is expensive, so load each model once and reuse it for every song.

```python
# harmony_batch.py — extract only the harmonies from every song in a folder, in two passes
from pathlib import Path

from audio_separator.separator import Separator

VOCAL_MODEL = "model_bs_roformer_ep_317_sdr_12.9755.ckpt"  # Pass 1: song → vocals
KARAOKE_MODEL = "UVR_MDXNET_KARA_2.onnx"  # Pass 2: vocals → lead / everything else


def separate_all(
    model: str, stem: str, jobs: dict[str, Path], out_dir: Path, label: str
) -> dict[str, Path]:
    """Separate jobs (song name → input file) with one model and write only `stem`."""
    out_dir.mkdir(parents=True, exist_ok=True)
    sep = Separator(output_dir=str(out_dir), output_format="WAV", output_single_stem=stem)
    sep.load_model(model_filename=model)  # Load each model only once
    results: dict[str, Path] = {}
    for name, src in jobs.items():
        written = sep.separate(str(src), custom_output_names={stem: f"{name}_{label}"})
        if len(written) != 1:
            raise RuntimeError(f"{src}: expected one {stem} file, got {written}")
        # The return value is a file name without the output directory (per the source). Take only the name so a full path also works
        results[name] = out_dir / Path(written[0]).name
    return results


songs = {p.stem: p for p in sorted(Path("songs").glob("*.wav"))}
vocals = separate_all(VOCAL_MODEL, "Vocals", songs, Path("out/vocals"), "vocals")
# A karaoke model's Instrumental is everything but the lead. The input is vocals, so this is the harmony
harmony = separate_all(KARAOKE_MODEL, "Instrumental", vocals, Path("out/harmony"), "harmony")
for name, path in harmony.items():
    print(name, "->", path)
```

---

## Copyright in Japan: practicing with it is not the same as publishing it

Being able to separate a track technically and being allowed to use the result are separate questions. Drawing on Japan's Copyright Act (the current text on e-Gov Law Search) and the guidance of the Japanese music rights-management organizations JASRAC and NexTone, here is a rough guide.

| What you want to do | Rough guide |
| --- | --- |
| Extract the harmonies from a CD or download you bought, for your own practice | If you use it "for personal or family use or for any other use of a similarly limited scope," it is allowed as reproduction for private use (Article 30(1)). Article 102(1) applies the same rule to performances and phonograms |
| Rip the audio by circumventing a technological protection measure such as copy protection | Reproducing it while knowing that fact falls outside the private-use exception (Article 30(1)(ii)) |
| Download audio you know was uploaded illegally, then separate it | Falls outside the private-use exception (Article 30(1)(iii)). If you downloaded it without knowing, this item does not apply even if not knowing was grossly negligent (Article 30(2)). If the music is offered for a fee, it can also carry criminal penalties (Article 119(3)(i)) |
| Hand the extracted audio to fellow choir or band members | Private use is limited to the "limited scope" above. This article does not judge whether such sharing stays within it. Check with the rights holders before handing it out |
| Publish the extracted audio in a video or on social media | Presenting to the public a copy made for private use is deemed to be reproduction (Article 49(1)(i); for performances and phonograms, Article 102(9)(i)) |
| Use a karaoke track with harmonies, made from a commercial recording, as the backing for a cover-singing video ("utattemita") | For the composition (lyrics and music), if you post a work managed by JASRAC or NexTone to a video-sharing service that has license agreements with both, the uploader does not have to go through any licensing procedure, within certain limits. But advertising videos, and cases such as an account owned by a group (a choir, a band and the like), a school or a corporation using foreign works, require a separate licensing procedure (check JASRAC's flowchart). If you use a commercial CD or download, you need permission from the master-recording side, such as the record label, on top of that |

The last row is the one most often misunderstood. JASRAC's guidance says (my translation): "When you use a commercial CD or downloaded audio, you need permission for the neighboring rights (the rights of the sound-recording producer and the artists), separately from the copyright." NexTone's FAQ says the same thing. Phonogram producers (the master-recording side, such as the record label) hold the right of reproduction (Article 96) and the right to make their phonograms available for transmission (Article 96-2), and performers such as singers hold the right of sound recording (Article 91(1)) and the right to make their performance available for transmission (Article 92-2(1)).

Saving audio from YouTube also involves the **Terms of Service**, separately from copyright. YouTube's Terms of Service prohibit downloading content unless the service expressly authorizes it, or YouTube and the rights holders have given prior written permission.

Whether source separation counts as arrangement or adaptation, and whether capturing audio from a streaming service counts as circumventing a technological protection measure, are questions of legal interpretation, so this article does not take a position on them. If you are thinking about publishing or commercial use, check with the rights holders or a legal professional. How tool and model licenses relate to the rights in the audio itself is covered in [how to choose a source-separation tool](/blog/music-source-separation-tool-selection-demucs-uvr-spleeter).

---

If you want to build source separation into a production pipeline (batch-processing large music libraries, automation for streaming, and so on), see the [video-localization platform case study](/case-studies/ai-video-localization-lipsync) and get in touch through the [contact page](/contact).
