{% 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 ▾

Merge this speaker into another from their profile page.

{% endif %} {% endblock %} {% block body %} {% if archived %} {% endif %}
{{ (speaker.display_name or "?")[:2]|upper }}

{{ speaker.display_name }}

{% set bio = profile.get("bio") %} {% set affiliation = profile.get("affiliation") %} {% if bio or affiliation %}

{% if bio %}{{ bio.value }}{% endif %}{% if bio and affiliation %}, {% endif %}{% if affiliation %}{{ affiliation.value }}{% endif %}

{% endif %}
{{ aggregate.files }}
RECORDINGS
{{ format_duration(aggregate.seconds) }}
SPEAKING TIME
{{ aggregate.segments }}
SEGMENTS
{%- if tier.tier -%} {%- set best = tier.evidence|map(attribute="similarity")|select("number")|list -%} {%- if best -%} {%- set pct = (best|max * 100)|round|int -%} {{ pct }}% {%- else -%}–{%- endif -%} {%- else -%}–{%- endif -%}
AVG MATCH
{% if aggregate.first_seen %}{{ aggregate.first_seen.strftime("%b %d") }}{% else %}–{% endif %}
FIRST HEARD
{% if aggregate.last_seen %}{{ aggregate.last_seen.strftime("%b %d") }}{% else %}–{% endif %}
LAST HEARD
{% include "speakers/profile_panel.html" %} {% if not archived %} {% include "speakers/research.html" %} {% endif %}

HEARD IN

{% if aggregate.appearances %}
RECORDING FOLDER SPOKE SEGMENTS MATCH
{% for a in aggregate.appearances %}
{% if runs_by_id.get(a.run_id) %} {{ run_source_title(runs_by_id[a.run_id]) }} {% else %}recording removed{% endif %} {% if a.human_assigned %}{{ chip("verified") }}{% endif %} {%- set run = runs_by_id.get(a.run_id) -%} {%- if run and run.media_item and run.media_item.media_folder -%} {{ run.media_item.media_folder.path }} {%- else -%}{%- endif -%} {{ format_duration(a.seconds) }} {{ a.segments }} {%- if a.similarity is defined and a.similarity is not none -%} {%- set pct = (a.similarity * 100)|round|int -%} {{ pct }}% {%- else -%}{%- endif -%} {% if runs_by_id.get(a.run_id) %} Open → {% endif %}
{% endfor %}
{% else %}

Not heard in any processed recording yet.

{% endif %}
{% if tier.has_voice_evidence %}
Voice match details

{{ 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) }}).

{% endif %} {% endblock %}