Chi ha detto cosa? Separa le voci di una riunione
Analizza una registrazione con più persone e separa le voci: invece di un testo unico, ottieni la trascrizione divisa per interlocutore, con i turni di parola etichettati (Interlocutore 1, Interlocutore 2, e così via). Serve per capire a colpo d'occhio chi ha detto cosa in una riunione, un'intervista o una tavola rotonda.
Esegui online
Esegui questo sui nostri server con il tuo account. Gli strumenti gratuiti girano nel tuo browser; questo viene addebitato sul tuo saldo KIT al prezzo indicato sopra.
Cosa fa la diarizzazione
La diarizzazione risponde a una domanda che la trascrizione normale ignora: non solo cosa è stato detto, ma da chi. Lo strumento distingue le voci diverse nell'audio e attribuisce ogni frase a un interlocutore, restituendoti un dialogo leggibile invece di un muro di testo. Non conosce i nomi delle persone — le indica come Interlocutore 1, Interlocutore 2 — ma tu li sostituisci in un attimo con Marco, Giulia o chi era in sala.
Funzione in beta: cosa aspettarti
Questa capacità è in beta. Funziona bene con due o tre voci chiare e ben registrate; diventa più incerta quando le persone si accavallano, l'audio è rumoroso o i timbri sono molto simili. In quei casi può unire due interlocutori o spezzarne uno in due. Te lo diciamo con franchezza: usala pure per il lavoro reale, ma ricontrolla l'attribuzione dei turni nei punti concitati prima di dare per buono il verbale.
Prezzo e limiti
$0.002 a richiesta più $0.0055 al minuto: una riunione di un'ora costa circa $0.33. File fino a 200 MB e tre ore di durata. Si paga a consumo con PayPal, senza abbonamento e senza aprire un account.
Casi d'uso
Interviste a due voci
In un'intervista giornalista-ospite, i turni separati rendono subito chiaro chi domanda e chi risponde. Le citazioni finiscono attribuite alla persona giusta senza doverle ricontrollare a orecchio.
Verbali di riunione più fedeli
Nella call dello Studio Bianchi con tre partecipanti, sapere chi ha proposto cosa fa la differenza tra un verbale utile e un riassunto generico. Ogni intervento resta legato al suo autore.
Focus group e ricerche
Chi conduce un focus group con più partecipanti usa la divisione per voce per contare gli interventi e distinguere le opinioni, invece di ritrovarsi un testo continuo impossibile da attribuire.
Domande frequenti
Lo strumento riconosce i nomi delle persone?
No: distingue le voci diverse e le etichetta come Interlocutore 1, 2, 3. Non sa che si chiamano Marco o Giulia. Sostituire le etichette con i nomi veri è un passaggio rapido che fai tu nel testo finale.
Quante voci riesce a separare?
Lavora meglio con due o tre interlocutori ben distinti. Con molte persone che parlano insieme o in un audio rumoroso l'affidabilità cala: essendo una funzione in beta, in quei casi conviene ricontrollare l'attribuzione.
Perché è indicata come beta?
Perché separare le voci è più difficile che trascrivere: preferiamo dirti chiaramente che il risultato va verificato nei passaggi in cui le persone si sovrappongono, invece di venderti una precisione che non possiamo garantire.
Ottengo anche il testo completo?
Sì: ricevi la trascrizione, ma organizzata per turni di parola invece che in un blocco unico. È un dialogo attribuito, non solo un elenco di frasi.
L'audio della riunione resta riservato?
Sì. Il file viene elaborato per produrre la trascrizione divisa per voce e poi eliminato, senza essere conservato o riutilizzato.
Quanto costa?
$0.002 a richiesta più $0.0055 al minuto, circa $0.33 per un'ora. Prezzo pubblicato, pagamento a consumo con PayPal, nessun abbonamento.
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo stack
curl -X POST https://api.kit.forhosting.com/audio/diarize \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"audio":"https://ejemplo.com/audio.mp3"}'const res = await fetch("https://api.kit.forhosting.com/audio/diarize", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"audio": "https://ejemplo.com/audio.mp3"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/audio/diarize",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"audio": "https://ejemplo.com/audio.mp3"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/audio/diarize", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"audio":"https://ejemplo.com/audio.mp3"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"audio":"https://ejemplo.com/audio.mp3"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/audio/diarize", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Esempio di richiesta
{
"audio": "https://ejemplo.com/audio.mp3"
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "audio.diarize",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Limiti
max_mb | 200 |
max_minutes | 180 |
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |
422 | task_failed | L'attività non è andata a buon fine: non ti viene addebitato nulla. |