Yoob

Voice detection

Truetone tells a real person from a synthetic voice. Every yoob-asr-1 transcript carries a p_human score, for each sentence and for the whole voice, so the call that transcribes a clip also checks it. Try it with recordings and samples on the Truetone page.

Check a clip

Transcribe the clip with verbose_json and read p_human: on each segment for that sentence, and on speaker for the voice across the whole clip.

bash
curl -s "https://tts-api.yoob.com/v1/audio/transcriptions?response_format=verbose_json" \
  -H "Authorization: Bearer $YOOB_API_KEY" \
  -H "Content-Type: audio/wav" \
  --data-binary @clip.wav | jq '{voice: .speaker.p_human, sentences: [.segments[].p_human]}'
json
{"voice": 0.997, "sentences": [0.997]}

Check a live voice

On a realtime session, each final_meta event carries p_human for the sentence just heard, and each speaker event carries p_human and human_threshold for the voice so far. A caller is checked while they talk, with no extra request.

Reading the score

p_human is the probability, from 0 to 1, that the voice is a real person. The threshold is 0.5. Scores near the middle are not a verdict either way:

p_humanRead it as
0.65 and aboveSounds human
0.35 to 0.65Can't tell for sure
Below 0.35Sounds AI-generated
The detector is built to catch AI audio played through a speaker into a microphone. It catches about 98% of replayed AI from engines it knows, and 70–99% (89% on average) from engines it hasn't heard. About 3–5% of real voices played through speakers are flagged, and 0.3% of clean files; whispery or quiet voices are flagged more often. Treat the score as one signal, not proof.

Next steps