{% extends "base.html" %} {% macro speaker_row(row_key, speaker, options) %} {% set gender = (speaker.gender or 'unknown') %}
{% endmacro %} {% block title %}Speaker presets{% endblock %} {% block content %}
1 Upload 2 Speakers 3 Queue
Speaker presets

Store recurring casts and keep voices consistent between books.

{% if message %}
{{ message }}
{% endif %} {% if error %}
{{ error }}
{% endif %}

Speakers

Add each recurring character, set their gender, and choose a preferred voice.

{% set speakers_map = editing.speakers or {} %} {% if speakers_map %} {% for speaker_id, speaker in speakers_map|dictsort(attribute='1.label') %} {{ speaker_row(speaker_id, speaker, options) }} {% endfor %} {% else %}
No speakers yet. Add your first character.
{% endif %}
{% endblock %} {% block scripts %} {{ super() }} {% endblock %}