Multi-Speaker Separation - AudioShake Developers
Create a Task
Separate a recording with multiple speakers into one stem per speaker — even when speakers overlap. Use the outputs for transcription, speaker-specific editing, or feeding clean single-speaker audio into downstream AI models.
Code Examples
Python
import requests
API_KEY = "your_api_key"
HEADERS = {"Content-Type": "application/json", "x-api-key": API_KEY}
response = requests.post(
"https://api.audioshake.ai/tasks",
headers=HEADERS,
json={
"assetId": "your_asset_id",
"targets": [
{"model": "multi_voice", "formats": ["wav"]}
]
}
)
task_id = response.json()["id"]
print(f"Task created: {task_id}")
JavaScript
const API_KEY = "your_api_key";
const headers = { "Content-Type": "application/json", "x-api-key": API_KEY };
const createRes = await fetch("https://api.audioshake.ai/tasks", {
method: "POST",
headers,
body: JSON.stringify({
assetId: "your_asset_id",
targets: [
{ model: "multi_voice", formats: ["wav"] }
]
})
});
const { id: taskId } = await createRes.json();
console.log(`Task created: ${taskId}`);
cURL
curl -X POST "https://api.audioshake.ai/tasks" \
-H "Content-Type: application/json" \
-H "x-api-key: $AUDIOSHAKE_API_KEY" \
-d '{
"assetId": "your_asset_id",
"targets": [
{ "model": "multi_voice", "formats": ["wav"] }
]
}'
Check Task status to monitor progress and download results, or use webhooks to be notified when each target completes. The model outputs one audio file per detected speaker. Even when speakers overlap, each stem contains only the isolated voice of a single speaker.
Use cases
- Clean per-speaker audio for transcription and diarization
- Isolate individual voices in meetings, interviews, or panel discussions
- Prepare training data for speech AI models
- Enable speaker-specific editing in podcast post-production
Speech Recovery \ \ Denoise and de-reverb individual speaker stems after separation.
Dialogue Separation \ \ Separate all speech from music and effects instead.