Documentation Source Inventory

May 10, 2026 ยท View on GitHub

This is the Stage 0 inventory for the documentation refactor described in roadmap/doc-refacturing.md. It captures what the docs should treat as source of truth before the README is reset.

Inventory date: 2026-05-10.

Sources Inspected

AreaSources
Roadmap and styleroadmap/doc-refacturing.md, D:\Projekte\STT\RealtimeSTT\RealtimeSTT\README.md
Entry docsREADME.md, FAQ.md, LICENSE, LICENSING_ADDENDUM.md
Docs sitemkdocs.yml, docs/**
Packagingsetup.py, requirements.txt
Public exportsRealtimeTTS/__init__.py, RealtimeTTS/engines/__init__.py
Stream APIRealtimeTTS/text_to_stream.py, RealtimeTTS/stream_player.py
EnginesRealtimeTTS/engines/*_engine.py
Examples and demostests/*.py, example_fast_api/**, example_rvc/**, docker/**

Current Docs Shape

ItemCurrent stateREADME reset impact
Root READMEREADME.md is 836 lines and contains project intro, install notes, engine notes, examples, API reference, CUDA notes, testing, licensing, and history.Reset should follow the compact RealtimeSTT style: short summary, working examples, engine overview, and docs map.
Root FAQFAQ.md is the real troubleshooting page.Move symptom-based troubleshooting into canonical docs later; keep root FAQ stable during the first pass.
English docsdocs/en/ has index.md, installation.md, usage.md, api.md, contributing.md, and faq.md.These are thinner copies of README material and should not be the long-term English source.
Translationsdocs/ has 12 locale directories with the same 6-page shape: ar, de, en, es, fr, hi, it, ja, ko, pt, ru, zh.Leave them untouched until the English canonical pages settle.
MkDocs navmkdocs.yml manually repeats each topic for each language. Language labels appear mojibaked and ar exists on disk but is not listed in mkdocs.yml.Target nav should be topic-first, English-first, and should not manually duplicate every page per locale.
README language listREADME lists en, fr, es, de, it, zh, ja, hi, and ko.It misses pt and ru from MkDocs and ar from the docs tree. Do not preserve this list as-is in the reset.

Engine Inventory

Export status uses these meanings:

  • root: exported from RealtimeTTS/__init__.py.
  • engines: exported from RealtimeTTS/engines/__init__.py.

Each concrete engine source listed below now has a focused setup page under docs/engines/. base_engine.py is intentionally excluded because it is the engine base class, not an installable engine.

EngineSourceExport statusSetup extras observedExamples/tests observedNotes
SystemEnginesystem_engine.pyroot, enginessystem, alltests/simple_test.py, tests/complex_test.pyLow-friction README starter candidate.
AzureEngineazure_engine.pyroot, enginesazure, alltests/azure_test.py, tests/test_callbacks.py, tests/translator.pyUses Azure key and region; supports word timings.
ElevenlabsEngineelevenlabs_engine.pyroot, engineselevenlabs, alltests/elevenlabs_test.py, tests/advanced_talk.pyUses MPEG/mpv playback path.
CoquiEnginecoqui_engine.pyroot, enginescoqui, alltests/coqui_test.py, tests/coqui_test_stop.py, example_rvc/**Local neural voice cloning; needs shutdown guidance.
OpenAIEngineopenai_engine.pyroot, enginesopenai, alltests/openai_1.0_test.py, tests/openaitts_test.py, docker/openai-tts-docker/**README/docs should use current OpenAI examples only.
GTTSEnginegtts_engine.pyroot, enginesgtts, alltests/gtts_test.pyFree service, no API key.
ParlerEngineparler_engine.pyroot, enginesparler, alltests/parler_test.pyExtra keeps PyPI-resolvable support deps; upstream Parler package remains a manual Git install.
EdgeEngineedge_engine.pyroot, enginesedge, alltests/edge_test.pyUses MPEG/mpv playback path.
StyleTTSEnginestyle_engine.pyroot, enginesstyletts, style, alltests/style_test.pyExtra covers Python deps; local checkout/model setup is still required.
PiperEnginepiper_engine.pyroot, enginespiper, alltests/piper_test.pyUses external Piper executable; PIPER_PATH is supported.
KokoroEnginekokoro_engine.pyroot, engineskokoro, jp, zh, ko, alltests/kokoro_test.py, tests/kokoro_mix_voices.pyLanguage extras and word-timing support need exact docs.
OrpheusEngineorpheus_engine.pyroot, enginesorpheus, alltests/orpheus_test.pyRequires an OpenAI-compatible completions endpoint or local model stack.
ZipVoiceEnginezipvoice_engine.pyroot, engineszipvoice, alltests/zipvoice_test.py, docker/zipvoice/**Extra covers shared deps; source checkout/assets still required.
PocketTTSEnginepocket_engine.pyroot, enginespockettts, pocket, allnone focused foundLazy import recommends pip install pocket-tts; docs need status and install caveat.
NeuTTSEngineneutts_engine.pyroot, enginesneutts, neutts-gguf, alltests/neutts_test.pyGGUF/ONNX fast path still needs optional assets and compatible llama-cpp-python wheels.
CambEnginecamb_engine.pyroot, enginescamb, alltests/camb_test.pyUses CAMB_API_KEY.
MiniMaxEngineminimax_engine.pyroot, enginesminimax, alltests/minimax_test.py, tests/test_minimax_engine.py, tests/test_minimax_integration.pyStrongest pytest coverage among cloud engines.
CartesiaEnginecartesia_engine.pyroot, enginescartesia, alltests/cartesia_test.pyUses cartesia==2.0.9.
TypecastEnginetypecast_engine.pyroot, enginestypecast, allnone focused foundUses TYPECAST_API_KEY and optional TYPECAST_VOICE_ID; source arrived from upstream master during release rebase.
FasterQwenEnginefaster_qwen_engine.pyroot, enginesqwen, alltests/faster_qwen_test.py, tests/faster_qwen_emotions.pyExtra name is qwen, not faster-qwen.
OmniVoiceEngineomnivoice_engine.pyroot, enginesomnivoice, alltests/omnivoice_test.py, tests/omnivoice_emotions.pyVoice cloning and inline voice examples need docs.
LuxTTSEngineluxtts_engine.pyroot, enginesluxtts, allnone focused foundLocal checkout/model setup needs verification.
ChatterboxEnginechatterbox_engine.pyroot, engineschatterbox, allnone focused foundExtra now uses chatterbox-tts; prompt WAV length caveats remain.
SoproTTSEnginesopro_engine.pyroot, enginessopro, allnone focused foundUses Hugging Face cache environment variables when configured.
SopranoEnginesoprano_engine.pyroot, enginessoprano, allnone focused foundLocal neural engine without a focused test found.
MossTTSEnginemoss_tts_engine.pyroot, enginesmoss, moss-tts, allnone focused foundExtra keeps PyPI-resolvable runtime deps; MOSS-TTS-Nano package/assets, CUDA/CUDNN, and model assets still need care.
ModelsLabEnginemodelslab_engine.pyengines onlymodelslab, alltests/modelslab_test.pyREADME and tests reference it, but root RealtimeTTS does not export it.

Setup Extras Inventory

Observed setup.py extras:

minimal, all, system, azure, elevenlabs, openai, gtts, coqui, edge, kokoro, camb, minimax, modelslab, cartesia, typecast, orpheus, omnivoice, luxtts, zipvoice, chatterbox, sopro, soprano, neutts, neutts-gguf, pockettts, pocket, styletts, style, parler, moss, moss-tts, piper, qwen, jp, zh, ko.

Packaging mismatches to preserve as follow-ups, not docs assumptions:

  • ModelsLabEngine is exported from RealtimeTTS.engines, but not from the root RealtimeTTS lazy export table.
  • PiperEngine still needs an external Piper executable and voice model; setup extras cannot install those assets.
  • StyleTTSEngine, ZipVoiceEngine, and some MOSS workflows still need local upstream checkouts or model assets even though setup extras now cover their declared Python dependency scaffolding.
  • all is broader now, but remains a best-effort Python dependency set; it cannot install OS tools, provider accounts, CUDA wheel choices, or model downloads.
  • setup.py declares Python >=3.9, <3.15; docs/en/usage.md still says Python <3.13.
  • setup.py prepends custom installation guidance to the README for the PyPI long description. The README reset should decide whether PyPI uses the compact README as-is or a generated long description before editing setup.py.

Runtime Environment Variables

VariableObserved inPurpose
OPENAI_API_KEYOpenAI engine, tests, Docker exampleOpenAI API credentials.
AZURE_SPEECH_KEY, AZURE_SPEECH_REGIONAzure examples, FastAPI example, testsAzure Speech credentials.
ELEVENLABS_API_KEYElevenLabs engine, examples, testsElevenLabs credentials.
CAMB_API_KEYCAMB engine and testCAMB credentials.
MINIMAX_API_KEYMiniMax engine and pytest filesMiniMax credentials.
CARTESIA_API_KEYCartesia engine and testCartesia credentials.
MODELSLAB_API_KEYModelsLab engine and testModelsLab credentials.
PIPER_PATHPiper engineExternal Piper executable path.
COQUI_MODEL_PATH, TTS_HOME, XDG_DATA_HOMECoqui engineLocal model discovery/cache paths.
HF_HOME, HF_HUB_CACHESopro engine, ZipVoice DockerHugging Face cache paths.
CUDNN_PATHMOSS engineCUDA/CUDNN library discovery.
TTS_FASTAPI_PORT, WORKERSFastAPI and Docker examplesServer port and worker count.
ZIPVOICE_PROJECT_ROOT, VOICE_ALPHA_WAV_PATH, VOICE_ALPHA_PROMPT_TEXT, VOICE_BETA_WAV_PATH, VOICE_BETA_PROMPT_TEXT, DEVICEZipVoice Docker serverZipVoice server configuration.
RVC_ASSET_PATH and RVC internalsRVC exampleRVC demo asset/model locations.

Public API Docs Mismatches

These are documentation follow-ups for Stage 3 and Stage 4:

  • docs/en/api.md omits or under-documents current constructor parameters such as log_characters, on_word, mpv_audio_device, frames_per_buffer, and playout_chunk_size.
  • Current source includes volume control (volume property and set_volume), inline voice tags (add_voice, set_voice_tag_delimiters), pause tags (add_pause), and recursive play behavior that the current docs do not cover.
  • play_async() defaults fast_sentence_fragment_allsentences=True, while play() defaults it to False; docs should call out this difference.
  • force_first_fragment_after_words defaults to 30 in source, while current README/docs material still describes older values in places.
  • Sentence delimiter defaults in docs should be re-audited against text_to_stream.py; the existing docs contain mojibake around ellipsis and CJK punctuation.

Tests And Examples Inventory

AreaCurrent state
Pytest-style teststests/test_minimax_engine.py and tests/test_minimax_integration.py contain real pytest tests. The integration file is gated by MINIMAX_API_KEY.
Manual scripts named like teststests/test_callbacks.py and tests/test_on_audio_chunk_callback.py execute work at import time and should be documented as manual demos unless refactored later.
Engine demosMost tests/*_test.py files are engine demos or smoke scripts, often requiring credentials, local models, audio devices, or optional packages.
FastAPI exampleexample_fast_api/README.md, server.py, async_server.py, and clients are valuable deployment docs inputs.
RVC exampleexample_rvc/README.md documents XTTS plus RVC post-processing and should remain clearly framed as an example stack.
Docker examplesdocker/zipvoice/README.md and docker/openai-tts-docker/Readme.md should be linked from future Docker and engine docs.