# Sincnet Speaker Recognition Eval

> Evaluates text-independent speaker identification and verification on raw audio waveforms, testing the model's ability to extract speaker-specific features and generalize across different corpus sizes and utterance lengths. Use when the user wants to benchmark on TIMIT, Librispeech, or asks about evaluating this task. Reports accuracy.

- Skill: `qhjqhj00/sincnet-speaker-recognition-eval` (Agent Skill)
- Install (CLI): `npx skillmds add qhjqhj00/sincnet-speaker-recognition-eval`
- Raw SKILL.md: https://api.skillmd.com/api/skills/qhjqhj00/sincnet-speaker-recognition-eval/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: qhjqhj00 (https://skillmd.com/u/qhjqhj00)
- Updated: 2026-09-08
- Page: https://skillmd.com/skills/qhjqhj00/sincnet-speaker-recognition-eval

---


# sincnet-speaker-recognition-eval

> Speaker Recognition from Raw Waveform with SincNet — Ravanelli et al. (2018) (arXiv:1808.00158, 2018)

## What this evaluates

Evaluates text-independent speaker identification and verification on raw audio waveforms, testing the model's ability to extract speaker-specific features and generalize across different corpus sizes and utterance lengths.

## Datasets

- **TIMIT** — total ?; splits: train (-1), test (-1)
- **Librispeech** — total ?; splits: train (-1), test (-1)

## Metrics

- `accuracy` **(primary)** — range: percent
  - Identification accuracy is computed by averaging frame-level softmax posteriors across a sentence and voting for the speaker with the highest average posterior. Verification performance is assessed using Equal Error Rate (EER) based on cosine distance between d-vectors or direct softmax posterior scores.

## Input / output format

**Input**: Raw audio waveform chunks of 200ms duration with 10ms overlap. For verification, a genuine enrollment utterance and a test utterance are provided.

**Output**: Per frame: softmax posterior probabilities over all target speakers. Per sentence: averaged posterior probabilities, with the final prediction being the speaker with the maximum average posterior.

## Scoring recipe

```python
frame_probs = model.predict(chunk)
sentence_probs = sum(frame_probs) / len(frame_probs)
predicted_speaker = argmax(sentence_probs)
is_correct = (predicted_speaker == true_speaker)

# Verification
dvec_test = model.get_last_hidden_layer(test_chunk)
dvec_enroll = model.get_last_hidden_layer(enroll_chunk)
cos_dist = dot(dvec_test, dvec_enroll) / (norm(dvec_test) * norm(dvec_enroll))
# EER computed over threshold sweep on cos_dist
```

## Common pitfalls

- Removing calibration sentences from TIMIT to ensure text-independent evaluation, which changes the standard TIMIT split.
- Splitting Librispeech sentences with internal silences >125ms into multiple chunks, altering standard utterance boundaries.
- Using random impostors from a different speaker pool for open-set verification, requiring careful threshold calibration.

## Evidence (verbatim from paper)

> Frame-level speaker classification was obtained by applying a softmax classifier, providing a set of posterior probabilities over the targeted speakers. A sentence-level classification was simply derived by averaging the frame predictions and voting for the speaker which maximizes the average posterior. The speaker verification system was derived from the speaker-id neural network considering two possible setups. First, we consider the d-vector framework [13, 21], which relies on the output of the last hidden layer and computes the cosine distance between test and the claimed speaker d-vectors.

## Citation

```bibtex
@misc{ravanelli2018sincnet,
  title={Speaker Recognition from Raw Waveform with SincNet},
  author={Ravanelli et al. (2018)},
  year={2018},
  note={arXiv:1808.00158}
}
```

- arXiv: 1808.00158

