{% extends "base.html" %}
{% from "fragments/_chips.html" import chip %}
{% block title %}Voxint — {{ speaker.display_name }}{% endblock %}
{% block cb_breadcrumb %}speakers / {{ speaker.display_name|lower|replace(" ", "-") }}{% endblock %}
{% block cb_summary %}
{%- if aggregate.verified %}{{ chip("verified by you") }}{% elif aggregate.files > 0 %}{{ chip("needs you") }}{% endif -%}
{% endblock %}
{% block cb_actions %}
{% if not archived %}
Edit profile
Merge ▾
This speaker is archived: the profile is read-only and web research is off. Restore the speaker from the speakers page to edit again.
{% endif %}{% if bio %}{{ bio.value }}{% endif %}{% if bio and affiliation %}, {% endif %}{% if affiliation %}{{ affiliation.value }}{% endif %}
{% endif %}Based on {{ "{:,}".format(insights.speaker_token_count) }} words across {{ insights.recording_count }} recording{{ "s" if insights.recording_count != 1 else "" }}
Based on {{ insights.wpm_timed_segments }} of {{ insights.wpm_total_segments }} segments with word-level timing
{% endif %}Speaker insights are being computed. Refresh to check.
Not enough data for speaker insights. This speaker needs at least 2 recordings with substantial speech.
Not heard in any processed recording yet.
{% endif %}{{ tier.strong }} strong, {{ tier.moderate }} moderate, {{ tier.weak }} weak{% if tier.unavailable %}, {{ tier.unavailable }} without recorded numbers{% endif %} — graded against the current gates (strong needs cosine ≥ {{ "%.2f"|format(gates.grounded_min_cosine) }}, margin ≥ {{ "%.2f"|format(gates.grounded_min_margin) }}, vote agreement ≥ {{ "%.2f"|format(gates.grounded_min_vote_agreement) }}; moderate needs cosine ≥ {{ "%.2f"|format(gates.min_cosine) }}, margin ≥ {{ "%.2f"|format(gates.min_margin) }}, vote agreement ≥ {{ "%.2f"|format(gates.min_vote_agreement) }}).