{% extends "base.html" %} {% block title %}abogen · Settings{% endblock %} {% block content %} Application Settings Settings apply to new jobs you queue from the dashboard. {% if saved %} Settings saved successfully. {% endif %} {% with messages = get_flashed_messages(with_categories=True) %} {% if messages %} {% for category, message in messages %} {{ message }} {% endfor %} {% endif %} {% endwith %} Narration Audio & Delivery Subtitles & Text Performance LLM Text Normalization Integrations Debug Narration Defaults Default Speaker Use fallback voice {% if options.voice_profile_options %} {% for profile in options.voice_profile_options %} {% set profile_value = 'speaker:' ~ profile.name %} {{ profile.name }}{% if profile.provider %} · {{ profile.provider|capitalize }}{% endif %}{% if profile.language %} · {{ profile.language|upper }}{% endif %} {% endfor %} {% endif %} {% set current_default = settings.default_speaker %} {% if current_default %} {% set known_default = namespace(value=False) %} {% for profile in options.voice_profile_options %} {% if current_default == 'speaker:' ~ profile.name or current_default == 'profile:' ~ profile.name %} {% set known_default.value = True %} {% endif %} {% endfor %} {% if not known_default.value %} {{ current_default }} {% endif %} {% endif %} Pick a saved speaker from Speaker Studio to use by default for new jobs. Kokoro settings Fallback Kokoro Voice {% for voice in options.voices %} {{ voice }} {% endfor %} {% if options.voice_profile_options %} {% for profile in options.voice_profile_options %} {% set profile_value = 'speaker:' ~ profile.name %} {{ profile.name }}{% if profile.language %} · {{ profile.language|upper }}{% endif %} {% endfor %} {% endif %} {% set current_default = settings.default_voice %} {% if current_default %} {% set known_default = namespace(value=False) %} {% if current_default in options.voices %} {% set known_default.value = True %} {% else %} {% for profile in options.voice_profile_options %} {% if current_default == 'profile:' ~ profile.name or current_default == 'speaker:' ~ profile.name %} {% set known_default.value = True %} {% endif %} {% endfor %} {% endif %} {% if not known_default.value %} {{ current_default }} {% endif %} {% endif %} Used when no default speaker is selected, and as a fallback when speaker analysis cannot resolve a speaker. Supertonic settings These defaults apply when a Supertonic speaker does not override them. Supertonic Quality (total steps) 2 = fastest/lowest quality, 15 = slowest/highest quality. Supertonic Speed Chunk Granularity {% for option in options.chunk_levels %} {{ option.label }} {% endfor %} Speaker Analysis Minimum Mentions Speakers detected fewer times fall back to the narrator voice. Speaker Pronunciation Preview Include {{ '{{name}}' }} where the speaker name should be inserted. Automatically detect entities for new jobs Disable if you prefer to skip entity extraction in the job wizard. Randomizer Languages {% set selected_languages = settings.speaker_random_languages or [] %} {% for code, label in options.languages.items() %} {{ label }} ({{ code|upper }}) {% endfor %} Limits random voice selection for speakers marked as random. Leave empty to allow any language. Audio & Delivery Audio Format {% for fmt in options.output_formats %} {{ fmt }} {% endfor %} Save Location {% for location in save_locations %} {{ location.label }} {% endfor %} Default output: {{ default_output_dir }} Separate Chapter Format {% for fmt in options.separate_formats %} {{ fmt|upper }} {% endfor %} Save Each Chapter Separately Also Create Merged Audiobook Save as Project With Metadata Silence Between Chapters (Seconds) Pause After Chapter Titles (Seconds) Inserted between the spoken chapter title and the chapter content. Set to 0 to disable. Read Book Title Before Narration When enabled, the narrator speaks the title, optional subtitle, and author names before chapter one. Read Closing Outro After Narration Adds a brief "The end" line after the final chapter, optionally including series information. Normalize ALL CAPS Chapter Openings Converts screaming uppercase openings to sentence case while preserving acronyms. Add "Chapter" before numeric chapter titles Ensures the spoken chapter heading starts with "Chapter" when source titles begin with only a number or numeral. Subtitles & Text Subtitle File Format {% for value, text in options.subtitle_formats %} {{ text }} {% endfor %} Max Words Per Subtitle Entry Replace Single Newlines Generate EPUB 3 (experimental) Performance Use GPU (when available) Endpoint Base URL Point to an OpenAI-compatible endpoint such as Ollama or a proxy. API Key Leave blank or use ollama for local servers that do not require keys. Default Model {% if settings.llm_model %} {{ settings.llm_model }} {% else %} Select a model {% endif %} Timeout (seconds) Refresh models Normalization Prompt Prompt Template {{ settings.llm_prompt }} Use {{ '{{sentence}}' }} for the active sentence. {{ '{{paragraph}}' }} remains available for legacy prompts. Context Mode {% for option in llm_context_options %} {{ option.label }} {% endfor %} Try the prompt I've been waiting all day. Preview {% for group in options.normalization_groups %} {{ group.label }} {% if group.label == "Apostrophes & Contractions" %} Strategy {% for option in apostrophe_modes %} {{ option.label }} {% endfor %} {% if settings.normalization_apostrophe_mode == 'llm' and not llm_ready %} Configure the LLM connection before using it for audiobook runs. {% endif %} {% endif %} {% for option in group.options %} {{ option.label }} {% endfor %} {% if group.label == "Apostrophes & Contractions" %} Advanced Contraction Settings… Choose which contraction families are expanded. {% endif %} {% endfor %} Sample & Preview Sample {% for key, text in normalization_samples.items() %} {{ key|capitalize }} {% endfor %} Voice {% for voice in options.voices %} {{ voice }} {% endfor %} Sample text {{ normalization_samples['apostrophes'] }} Preview with current settings Calibre OPDS Enable Calibre integration Verify TLS certificates Base URL Username Password Leave blank to keep the stored password. Clear saved password Test connection Audiobookshelf Enable Audiobookshelf uploads Upload finished jobs automatically Verify TLS certificates Base URL Use the server root (no trailing /api); the upload requests add it automatically. Library ID Collection ID (optional) Folder (name or ID) Browse folders Enter the folder exactly as it appears in Audiobookshelf, paste the folder ID, or browse the available folders. API token Leave blank to keep the stored token. Clear saved token Request timeout (seconds) Include cover artwork Send chapter markers Send subtitle files Test connection Debug · TTS transformations Generate a set of WAV files from a purpose-built EPUB containing code-tagged examples. When something sounds wrong, report the code (e.g. NUM_001) to pinpoint the failing transformation. Generate debug WAVs Uses your current Settings defaults (voice, language, speed, GPU). If generation fails, an error will appear at the top of this page. {% if debug_manifest and debug_manifest.artifacts %} Latest debug WAVs {% for item in debug_manifest.artifacts %} {{ item.label }} · {{ item.filename }} {% endfor %} {% endif %} {% if debug_samples %} Included examples {% for sample in debug_samples %} {{ sample.code }} — {{ sample.label }}: {{ sample.text }} {% endfor %} {% endif %} Normalization Contraction Options Close Enable or disable specific contraction families. These controls apply when contraction expansion is enabled. Be verbs ('m, 're, 's -> am/is/are) Have auxiliaries ('ve, 'd -> have/had) Will modals ('ll -> will) Would conditionals ('d -> would) Negative forms (can't -> can not) Let us (let's -> let us) Audiobookshelf Select folder Close No folders match your filter. Save Settings {% endblock %} {% block scripts %} {{ super() }} {% endblock %}
Settings apply to new jobs you queue from the dashboard.
Pick a saved speaker from Speaker Studio to use by default for new jobs.
Kokoro settings
Used when no default speaker is selected, and as a fallback when speaker analysis cannot resolve a speaker.
Supertonic settings
These defaults apply when a Supertonic speaker does not override them.
2 = fastest/lowest quality, 15 = slowest/highest quality.
Speakers detected fewer times fall back to the narrator voice.
Include {{ '{{name}}' }} where the speaker name should be inserted.
{{ '{{name}}' }}
Disable if you prefer to skip entity extraction in the job wizard.
Limits random voice selection for speakers marked as random. Leave empty to allow any language.
Default output: {{ default_output_dir }}
{{ default_output_dir }}
Inserted between the spoken chapter title and the chapter content. Set to 0 to disable.
When enabled, the narrator speaks the title, optional subtitle, and author names before chapter one.
Adds a brief "The end" line after the final chapter, optionally including series information.
Converts screaming uppercase openings to sentence case while preserving acronyms.
Ensures the spoken chapter heading starts with "Chapter" when source titles begin with only a number or numeral.
Point to an OpenAI-compatible endpoint such as Ollama or a proxy.
Leave blank or use ollama for local servers that do not require keys.
ollama
Use {{ '{{sentence}}' }} for the active sentence. {{ '{{paragraph}}' }} remains available for legacy prompts.
{{ '{{sentence}}' }}
{{ '{{paragraph}}' }}
Configure the LLM connection before using it for audiobook runs.
Choose which contraction families are expanded.
Leave blank to keep the stored password.
Use the server root (no trailing /api); the upload requests add it automatically.
/api
Enter the folder exactly as it appears in Audiobookshelf, paste the folder ID, or browse the available folders.
Leave blank to keep the stored token.
Generate a set of WAV files from a purpose-built EPUB containing code-tagged examples. When something sounds wrong, report the code (e.g. NUM_001) to pinpoint the failing transformation.
NUM_001
Uses your current Settings defaults (voice, language, speed, GPU). If generation fails, an error will appear at the top of this page.
Normalization
Enable or disable specific contraction families. These controls apply when contraction expansion is enabled.
Audiobookshelf
No folders match your filter.