- Add cross-project voice/name library (library.py + webUI library tabs) - chapter_builder: embedding-mode generation + auto-load TTS base model in preflight - qwen_tts: vmatrix capture, embedding/voice-prompt refinements - registry: vmatrix_path column + migration for approved voices - webUI: speakers list, chapter audio detail, proper names updates - docs: update voice generation and tts_server README
29 lines
1.0 KiB
HTML
29 lines
1.0 KiB
HTML
<div class="card">
|
|
<div style="display:flex; justify-content:space-between; align-items:center; margin-bottom:1rem">
|
|
<h3 style="margin:0">Library Utterances ({{ utterances|length }})</h3>
|
|
<span class="badge badge-blue">Coming soon</span>
|
|
</div>
|
|
{% if not utterances %}
|
|
<p style="color:#64748b">
|
|
Captured, reusable utterances (e.g. the Umbra Audio system introduction) will appear here.
|
|
The ability to capture and add utterances is not yet available.
|
|
</p>
|
|
{% else %}
|
|
<table>
|
|
<thead>
|
|
<tr><th>#</th><th>Text</th><th>Speaker</th><th>Source Project</th></tr>
|
|
</thead>
|
|
<tbody>
|
|
{% for u in utterances %}
|
|
<tr>
|
|
<td>{{ u.id }}</td>
|
|
<td>{{ u.text }}</td>
|
|
<td>{{ u.speaker_name or '—' }}</td>
|
|
<td style="font-size:0.8rem; color:#94a3b8">{{ u.source_project or '' }}</td>
|
|
</tr>
|
|
{% endfor %}
|
|
</tbody>
|
|
</table>
|
|
{% endif %}
|
|
</div>
|