Inspiration

AI-generated voices create new risks for banks and customer-service systems. We wanted to build a practical detector capable of distinguishing human callers from synthetic voices using only the received audio.

What it does

Altur provides a FastAPI endpoint that receives a stereo, 8 kHz WAV call encoded in base64 and returns whether the caller’s voice is synthetic, together with the model’s confidence score.

How we built it

We analyzed 353 calls and explored three approaches: acoustic characteristics, conversational behavior, and linguistic patterns. After comparing their performance, we deployed a lightweight logistic regression model using 31 acoustic features extracted from the caller’s channel.

Challenges we ran into

Our biggest challenge was transcription. Audio was initially passed to Whisper at 8 kHz instead of the expected 16 kHz, producing many empty transcripts. We corrected channel selection, resampling, error handling, and batch processing. We also had to prevent data leakage while evaluating model combinations.

Accomplishments that we're proud of

Our acoustic model correctly classified 69 of 71 validation calls, achieving 97.18% accuracy and a 0.9714 synthetic-class F1 score. We delivered a tested API that works directly from audio without requiring transcripts or external turn files.

What we learned

We learned that a more complex system is not always better. Although behavioral and linguistic models provided useful experimental signals, their combinations did not improve validation accuracy. Reliability, simple deployment, and honest evaluation were more valuable than adding unnecessary complexity.

What's next for Altur

Next, we want to evaluate Altur on completely unseen speakers and synthetic voices, improve probability calibration, test robustness under noise and compression, and explore multimodal fusion only when it demonstrates consistent gains through rigorous validation.

Built With

Share this project:

Updates

Submission history