---
title: ToolRouter — Tool Detail
description: Detailed documentation for a ToolRouter tool including skills, parameters, and examples.
url: https://toolrouter.com/tools/voice-transformer
---
# Voice Transformer

Convert an audio recording into a different voice while preserving pacing, emotion, and delivery. Provide source audio and a target voice ID for speech-to-speech conversion. For anonymization, dubbing, localization, and brand voice matching. Includes noise removal.

- **Version:** 0.02
- **Categories:** media, ai

## Skills (1)

### Transform Voice (`transform_voice`)

Convert speech audio into a different voice while preserving the original emotion, delivery, and pacing. Provide a source audio URL and a target voice ID to produce a transformed audio file with fine-grained control over stability, similarity, and style.

**Parameters:**

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `audio_url` | string | Yes | URL of the source audio file to transform. Must be a publicly accessible URL (MP3, WAV, or other common audio format). |
| `voice_id` | string | Yes | Voice ID of the target voice. Use the voice-generator list_voices action to browse available voices. |
| `model_id` | string | No | Speech-to-speech model to use. Defaults to "eleven_english_sts_v2". [default: "eleven_english_sts_v2"] |
| `stability` | number | No | Voice stability (0-1). Lower values produce more expressive and variable output. Higher values produce more consistent results. |
| `similarity_boost` | number | No | Similarity boost (0-1). Higher values make the output more closely match the target voice. Lower values allow more creative variation. |
| `style` | number | No | Style exaggeration (0-1). Higher values amplify the style of the target voice. Recommended to keep low for natural results. |
| `remove_background_noise` | boolean | No | Whether to remove background noise from the source audio before transformation. Defaults to false. [default: false] |
| `seed` | number | No | Random seed for reproducible transformations. Same seed with same input should produce similar results. |
| `output_format` | string | No | Audio output format and quality. Defaults to "mp3_44100_128". Higher bitrate means better quality but larger files. (mp3_22050_32, mp3_44100_64, mp3_44100_128, mp3_44100_192, pcm_16000, pcm_22050, pcm_24000, pcm_44100, ulaw_8000) [default: "mp3_44100_128"] |

**Returns:** Transformed audio file path (auto-uploaded), target voice ID, model ID, noise removal status, output format, and file size

**Examples:**

*Transform a podcast clip into a different voice with default settings:*

```json
{
  "audio_url": "https://example.com/podcast-clip.mp3",
  "voice_id": "JBFqnCBsd6RMkjVDRZzb"
}
```

*Transform speech with custom voice settings and background noise removal:*

```json
{
  "audio_url": "https://example.com/interview-audio.wav",
  "voice_id": "pNInz6obpgDQGcFmaJgB",
  "stability": 0.7,
  "similarity_boost": 0.9,
  "style": 0.2,
  "remove_background_noise": true,
  "output_format": "mp3_44100_192"
}
```

## Quick Start

```bash
# Via CLI
TOOLROUTER_API_KEY=tr_live_xxx npx -y toolrouter-mcp call voice-transformer transform_voice --audio_url https://example.com/podcast-clip.mp3 --voice_id JBFqnCBsd6RMkjVDRZzb

# Via REST API
curl -H "Authorization: Bearer tr_live_xxx" \
     -d '{"tool":"voice-transformer","skill":"transform_voice","input":{"audio_url":"https://example.com/podcast-clip.mp3","voice_id":"JBFqnCBsd6RMkjVDRZzb"}}' \
     https://api.toolrouter.com/v1/tools/call
```

## Frequently Asked Questions

### What does voice transformation actually change?

It swaps the voice while keeping the pacing, emotion, and delivery of the original recording.

### Do I need a target voice ID?

Yes. Pick a voice with `list_voices`, then pass that `voice_id` into `transform_voice`.

### Can it clean up background noise too?

Yes. Turn on background-noise removal when the source audio has ambient noise or room tone.

### Is it language-agnostic?

The default model is English-only, so that is the safest assumption unless the tool output says otherwise.

---

## Get Started with ToolRouter

**Already connected?** Call any tool with `use_tool({ tool, skill, input })`. Browse tools with `discover` or visit https://toolrouter.com/llms-full.txt

**New to ToolRouter?** Connect with one command (no API key needed — auto-provisions on first use):

```bash
# MCP (Claude Code, Codex CLI)
claude mcp add toolrouter -- npx -y toolrouter-mcp

# MCP (Cursor, Windsurf, Cline, VS Code, Gemini CLI, Claude Desktop)
{"mcpServers":{"toolrouter":{"command":"npx","args":["-y","toolrouter-mcp"]}}}

# Claude Chat / Claude Cowork / Claude Mobile — add as a connector:
# Settings → Connectors → Add custom connector → URL: https://api.toolrouter.com/mcp

# ChatGPT — add as an app:
# Settings → Apps → Advanced settings → enable Developer mode → Create app → MCP Server URL: https://api.toolrouter.com/mcp

# CLI (works instantly, no restart needed)
npx -y toolrouter-mcp tools                    # browse all tools
npx -y toolrouter-mcp search "seo"             # search by keyword
npx -y toolrouter-mcp call seo analyze_page --url https://example.com
```

Free tools work immediately. For paid tools, visit https://toolrouter.com/claim to add credits.

All platforms: https://toolrouter.com/connect | Full catalog: https://toolrouter.com/llms-full.txt | Docs: https://toolrouter.com/docs