AI Slop Code RIsk Monitor

remsky/Kokoro-FastAPI

Dockerized OpenAI-compatible wrapper for Kokoro-82M text-to-speech w/multiplatform CPU, AMD, NVIDIA GPU PyTorch; multi-speaker, clone-tuning, caption timestamps, SSML, optional readalong web UI

23.4 Elevated pattern signal View on GitHub

Maintenance and Governance Review

This report summarizes scanner evidence for remsky/Kokoro-FastAPI, a Python project with 5,530 GitHub stars. SynthScan examined 37,856 lines of code across 246 source files, recording 623 pattern matches distributed across 17 syntactic categories. The legacy adjusted pattern signal is 23.4 (Elevated pattern signal); it is not an authorship estimate.

Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.

23.4
Adjusted Signal
23.4
Raw Pattern Score
100%
Time Factor
2026-10-11
Last Push
5.5K
Stars
Python
Language
37.9K
Lines of Code
246
Files
623
Pattern Hits
2026-10-12
Scan Date
0.15
HC Hit Rate

Risk Review · v3

Use each vector to guide manual verification of the underlying findings.

Cognitive Ownership Risk 47.3/100 · MEDIUM

Can maintainers explain intent, assumptions, and trade-offs? 401 finding(s).

Hallucinated Dependency & Supply Chain Risk 11.3/100 · LOW

Are imports declared and package/API names verified? 48 finding(s).

Agent Over-Engineering Ratio 56.5/100 · HIGH

Are wrappers, guards, and repeated structures necessary? 499 finding(s).

PR Review Velocity Impact 71.1/100 · HIGH

Which changes need focused human review? 623 finding(s).

What These Metrics Mean

Adjusted Signal
Legacy pattern score normalized per 1,000 scanned lines and multiplied by the repository-level time factor. It is not an estimate of AI authorship.
Raw Pattern Score
Sum of severity- and context-weighted pattern findings before applying the time factor.
Time Factor
A coarse multiplier based on repository last-push metadata. It does not identify when individual code was written.
Pattern Hits
Count of configured pattern findings. Review each location and surrounding code before acting.
HC Hit Rate
High- and critical-severity findings per scanned file. Severity is a configured detector weight, not proof of a vulnerability or authorship.
Lines / Files
Scan coverage denominators used by the legacy normalized score.

Pattern-Signal History

This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.

Severity Breakdown

Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.

CRITICAL 4HIGH 34MEDIUM 55LOW 530

Directory Score Breakdown

This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.

Pattern Findings

The scanner identified 623 distinct pattern matches across 17 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.

Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.

Hyper-Verbose Identifiers324 hits · 321 pts
SeverityFileLineSnippetContext
LOWREADME.md577def generate_audio_from_phonemes(phonemes: str, voice: str = "af_bella"):CODE
LOWexamples/captioned_speech_example.py11def generate_captioned_speech(CODE
LOWexamples/phoneme_examples/generate_phonemes.py35def generate_audio_from_phonemes(phonemes: str, voice: str = "af_bella") -> Optional[bytes]:CODE
LOWexamples/assorted_checks/test_dialogue/test_dialogue.py146def check_pause_between_turns() -> tuple[bool, str]:CODE
LOWexamples/assorted_checks/test_dialogue/test_dialogue.py165def check_voice_actually_switches() -> tuple[bool, str]:CODE
LOWexamples/assorted_checks/test_dialogue/test_dialogue.py188def check_unknown_voice_rejected() -> tuple[bool, str]:CODE
LOWexamples/assorted_checks/test_dialogue/test_dialogue.py202def check_tags_ignored_unless_requested() -> tuple[bool, str]:CODE
LOW…cks/benchmarks/benchmark_first_token_stream_unified.py17def measure_first_token_requests(CODE
LOW…cks/benchmarks/benchmark_first_token_stream_unified.py98def measure_first_token_openai(CODE
LOWexamples/assorted_checks/benchmarks/lib/stream_utils.py27def process_benchmark_results(CODE
LOWexamples/assorted_checks/benchmarks/lib/shared_utils.py22def check_audio_file_is_silent(audio_path: str, threshold: float = 0.01) -> bool:CODE
LOW⚡api/tests/test_ssml.py19def test_plain_text_passthrough():CODE
LOW⚡api/tests/test_ssml.py24def test_roots_merely_starting_with_speak_pass_through():CODE
LOW⚡api/tests/test_ssml.py30def test_namespaced_speak_root_still_translates():CODE
LOW⚡api/tests/test_ssml.py35def test_break_time_and_strength():CODE
LOW⚡api/tests/test_ssml.py42def test_phoneme_maps_to_custom_ipa():CODE
LOW⚡api/tests/test_ssml.py54def test_voice_gated_and_reverts():CODE
LOW⚡api/tests/test_ssml.py62def test_prosody_rate_gated_and_reverts():CODE
LOW⚡api/tests/test_ssml.py70def test_prosody_spanning_a_voice_reasserts_the_rate():CODE
LOW⚡api/tests/test_ssml.py80def test_prosody_rate_percent_and_number():CODE
LOW⚡api/tests/test_ssml.py89def test_prosody_rate_clamps_to_the_request_bounds():CODE
LOW⚡api/tests/test_ssml.py98def test_prosody_pitch_only_stays_noop():CODE
LOW⚡api/tests/test_ssml.py108def test_every_ignored_element_speaks_text_only(tag):CODE
LOW⚡api/tests/test_ssml.py118def test_adjacent_blocks_keep_a_separator():CODE
LOW⚡api/tests/test_ssml.py123def test_audio_desc_is_dropped_and_fallback_text_survives():CODE
LOW⚡api/tests/test_ssml.py128def test_unsupported_tags_are_noops():CODE
LOW⚡api/tests/test_ssml.py133def test_malformed_ssml_raises():CODE
LOW⚡api/tests/test_ssml.py147def test_prolog_before_the_root_still_translates(prolog):CODE
LOW⚡api/tests/test_ssml.py152def test_dtd_is_refused_rather_than_expanded():CODE
LOW⚡api/tests/test_ssml.py162def test_nesting_is_refused_past_the_configured_depth():CODE
LOW⚡api/tests/test_ssml.py168def test_max_depth_is_configurable(monkeypatch):CODE
LOW⚡api/tests/test_ssml.py176def test_depth_cap_fires_long_before_the_recursion_limit():CODE
LOWapi/tests/test_ssml.py196def test_provider_corpus_never_leaks_markup(doc):CODE
LOWapi/tests/test_openai_endpoints.py59def test_load_openai_mappings(mock_json_file):CODE
LOWapi/tests/test_openai_endpoints.py69def test_load_openai_mappings_file_not_found():CODE
LOWapi/tests/test_openai_endpoints.py118async def test_get_tts_service_initialization():CODE
LOWapi/tests/test_openai_endpoints.py142async def test_stream_audio_chunks_client_disconnect():CODE
LOWapi/tests/test_openai_endpoints.py179async def test_stream_audio_chunks_closes_source_on_disconnect():CODE
LOWapi/tests/test_openai_endpoints.py217async def test_abandoned_stream_closes_audio_writer(mock_tts_service):CODE
LOWapi/tests/test_openai_endpoints.py261def test_openai_voice_mapping(mock_tts_service, mock_openai_mappings):CODE
LOWapi/tests/test_openai_endpoints.py280def test_openai_voice_mapping_streaming(CODE
LOWapi/tests/test_openai_endpoints.py303def test_invalid_openai_model(mock_tts_service, mock_openai_mappings):CODE
LOWapi/tests/test_openai_endpoints.py347def test_openai_speech_endpoint(mock_tts_service, test_voice, mock_audio_bytes):CODE
LOWapi/tests/test_openai_endpoints.py367def test_openai_speech_streaming(mock_tts_service, test_voice, mock_audio_bytes):CODE
LOWapi/tests/test_openai_endpoints.py436def test_openai_speech_streaming_null_normalization_options(CODE
LOWapi/tests/test_openai_endpoints.py480def test_phonemize_returns_phonemes():CODE
LOWapi/tests/test_openai_endpoints.py490def test_openai_speech_pcm_streaming(mock_tts_service, test_voice, mock_audio_bytes):CODE
LOWapi/tests/test_openai_endpoints.py511def test_openai_speech_invalid_voice(mock_tts_service):CODE
LOWapi/tests/test_openai_endpoints.py534def test_openai_speech_empty_text(mock_tts_service, test_voice):CODE
LOWapi/tests/test_openai_endpoints.py556def test_openai_speech_invalid_format(mock_tts_service, test_voice):CODE
LOWapi/tests/test_openai_endpoints.py590def test_omitted_voice_uses_default_voice_setting(mock_tts_service):CODE
LOWapi/tests/test_openai_endpoints.py640def test_combine_voices_weighted(mock_settings, mock_tts_service, tmp_path):CODE
LOWapi/tests/test_openai_endpoints.py659def test_combine_voices_list_input(mock_settings, mock_tts_service, tmp_path):CODE
LOWapi/tests/test_openai_endpoints.py672def test_combine_voices_unknown_voice(mock_settings, mock_tts_service):CODE
LOWapi/tests/test_openai_endpoints.py684def test_combine_voices_disabled(mock_settings, mock_tts_service):CODE
LOWapi/tests/test_openai_endpoints.py742async def test_streaming_initialization_error():CODE
LOWapi/tests/test_openai_endpoints.py793def test_resolve_download_name(requested, expected):CODE
LOWapi/tests/test_openai_endpoints.py808def test_download_uses_temp_name_by_default(temp_download_file):CODE
LOWapi/tests/test_openai_endpoints.py817def test_download_honors_requested_name(temp_download_file):CODE
LOWapi/tests/test_openai_endpoints.py830def test_download_rejects_traversal_in_requested_name(temp_download_file):CODE
264 more matches not shown…
Excessive Try-Catch Wrapping148 hits · 206 pts
SeverityFileLineSnippetContext
MEDIUMREADME.md585 print(f"Error: {response.text}")CODE
LOWREADME.md602except Exception as e:CODE
MEDIUMREADME.md603 print(f"Error: {e}")CODE
LOWdocker/scripts/download_model.py66 except Exception:CODE
LOWdocker/scripts/download_model.py124 except Exception as e:CODE
LOWdocker/scripts/download_model.py158 except Exception:CODE
LOWdocker/scripts/download_model.py179 except Exception as e:CODE
MEDIUMdocker/scripts/download_model.py150def get():CODE
LOWdocker/rocm/warmup_miopen.py65 except Exception as e:CODE
LOW⚡examples/simul_file_test.py33 except Exception as e:CODE
MEDIUM⚡examples/simul_file_test.py34 print(f"Error processing file {file_id}: {e}")CODE
LOWexamples/stream_tts_playback.py109 except Exception as e:CODE
MEDIUMexamples/stream_tts_playback.py110 print(f"Error during streaming: {str(e)}")CODE
MEDIUMexamples/captioned_speech_example.py33 print(f"Error response: {response.text}")CODE
MEDIUM⚡examples/captioned_speech_example.py46 print("Error: Empty audio content")CODE
MEDIUM⚡examples/captioned_speech_example.py51 print(f"Error parsing timestamps: {e}")CODE
MEDIUM⚡examples/captioned_speech_example.py54 print(f"Error retrieving timestamps: {e}")CODE
MEDIUMexamples/captioned_speech_example.py79 print("Error: No audio data or timestamps generated")CODE
MEDIUMexamples/captioned_speech_example.py100 print(f"Error: {e}\n")CODE
MEDIUM⚡examples/phoneme_examples/test_phoneme_generation.py41 print(f"Error: API request failed with status code {response.status_code}")CODE
LOW⚡examples/phoneme_examples/test_phoneme_generation.py44 except Exception as e:CODE
MEDIUM⚡examples/phoneme_examples/test_phoneme_generation.py45 print(f"An error occurred: {str(e)}")CODE
MEDIUMexamples/phoneme_examples/generate_phonemes.py49 print(f"Error response: {response.text}")CODE
MEDIUMexamples/phoneme_examples/generate_phonemes.py53 print("Error: Empty response content")CODE
MEDIUMexamples/phoneme_examples/generate_phonemes.py94 print("Error: No audio data generated")CODE
MEDIUMexamples/phoneme_examples/generate_phonemes.py110 print(f"Error: {e}\n")CODE
MEDIUMexamples/assorted_checks/validate_wavs.py11 print(f"Error: {result['error']}")CODE
LOWexamples/assorted_checks/validate_wav.py159 except Exception as e:CODE
MEDIUMexamples/assorted_checks/validate_wav.py262 print(f"Error: {result['error']}")CODE
MEDIUMexamples/assorted_checks/generate_readme_plots.py56 print(f"Error: {result['error']}")CODE
LOWexamples/assorted_checks/test_dialogue/test_dialogue.py236 except Exception as exc:CODE
LOW…les/assorted_checks/test_formats/test_audio_formats.py94 except Exception as e:CODE
MEDIUM…les/assorted_checks/test_formats/test_audio_formats.py95 print(f"Error plotting waveform for {format_name}: {e}")CODE
LOW…les/assorted_checks/test_formats/test_audio_formats.py299 except Exception as e:CODE
MEDIUM…les/assorted_checks/test_formats/test_audio_formats.py300 print(f"Error writing {fmt} file: {e}")CODE
LOW…ecks/test_combinations/test_analyze_combined_voices.py58 except Exception as e:CODE
MEDIUM…ecks/test_combinations/test_analyze_combined_voices.py59 print(f"Error reading file: {str(e)}")CODE
LOW⚡…ecks/test_combinations/test_analyze_combined_voices.py188 except Exception as e:CODE
MEDIUM⚡…ecks/test_combinations/test_analyze_combined_voices.py189 print(f"Error generating audio for {voice}: {e}")CODE
LOW⚡…ecks/test_combinations/test_analyze_combined_voices.py197 except Exception as e:CODE
MEDIUM⚡…ecks/test_combinations/test_analyze_combined_voices.py198 print(f"Error analyzing {name}: {e}")CODE
LOW…sorted_checks/test_combinations/test_download_voice.py70 except Exception as e:CODE
MEDIUM…sorted_checks/test_combinations/test_download_voice.py71 print(f"Error downloading combination {combo}: {e}")CODE
LOW…cks/benchmarks/benchmark_first_token_stream_unified.py93 except Exception as e:CODE
LOW…cks/benchmarks/benchmark_first_token_stream_unified.py165 except Exception as e:CODE
LOW…es/assorted_checks/benchmarks/benchmark_first_token.py64 except Exception as e:CODE
MEDIUM…es/assorted_checks/benchmarks/benchmark_first_token.py107 print(f"Error: {result['error']}")CODE
MEDIUM⚡…sorted_checks/benchmarks/lib/shared_benchmark_utils.py104 print(f"Error making request for text: {text[:50]}... Error: {str(e)}")CODE
LOW⚡…sorted_checks/benchmarks/lib/shared_benchmark_utils.py106 except Exception as e:CODE
MEDIUM⚡…sorted_checks/benchmarks/lib/shared_benchmark_utils.py107 print(f"Error processing text: {text[:50]}... Error: {str(e)}")CODE
MEDIUMexamples/assorted_checks/benchmarks/lib/stream_utils.py175 print(f"Error: {result['error']}")CODE
LOWexamples/assorted_checks/test_openai/test_openai_tts.py34 except Exception as e:CODE
MEDIUMexamples/assorted_checks/test_openai/test_openai_tts.py35 print(f"Error: {str(e)}")CODE
LOWexamples/assorted_checks/test_openai/test_openai_tts.py57 except Exception as e:CODE
MEDIUMexamples/assorted_checks/test_openai/test_openai_tts.py58 print(f"Error: {str(e)}")CODE
LOW…s/assorted_checks/test_voices/trim_voice_dimensions.py60 except Exception as e:CODE
LOWexamples/assorted_checks/test_voices/test_all_voices.py37 except Exception as e:STRING
MEDIUMexamples/assorted_checks/test_voices/test_all_voices.py38 print(f"Error with voice {voice}: {str(e)}")STRING
LOWexamples/assorted_checks/test_voices/test_all_voices.py59except Exception as e:STRING
MEDIUMexamples/assorted_checks/test_voices/test_all_voices.py60 print(f"Error getting voices: {str(e)}")STRING
88 more matches not shown…
Docstring Block Structure17 hits · 85 pts
SeverityFileLineSnippetContext
HIGHapi/src/core/paths.py55Find file in search paths. Args: filename: Name of file to find search_paths: List of paths to searSTRING
HIGHapi/src/core/paths.py115Get path to model file. Args: model_name: Name of model file Returns: Absolute path to model fSTRING
HIGHapi/src/core/paths.py137Get path to voice file. Args: voice_name: Name of voice file (without .pt extension) Returns: STRING
HIGHapi/src/core/paths.py183Load voice tensor from file. Args: voice_path: Path to voice file device: Device to load tensor to STRING
HIGHapi/src/core/paths.py225Load JSON file asynchronously. Args: path: Path to JSON file Returns: Parsed JSON data RaSTRING
HIGHapi/src/core/paths.py245Load model weights asynchronously. Args: path: Path to model file (.pth) device: Device to load modSTRING
HIGHapi/src/core/paths.py266Read text file asynchronously. Args: path: Path to file Returns: File contents as string STRING
HIGHapi/src/core/paths.py285Read file as bytes asynchronously. Args: path: Path to file Returns: File contents as bytes STRING
HIGHapi/src/core/paths.py304Get path to web static file. Args: filename: Name of file in web directory Returns: Absolute pSTRING
HIGHapi/src/core/paths.py374Get path to temporary audio file. Args: filename: Name of temp file Returns: Absolute path to STRING
HIGHapi/src/inference/voice_manager.py35Get path to voice file. Args: voice_name: Name of voice Returns: Path to voiceSTRING
HIGHapi/src/inference/voice_manager.py53Load voice tensor. Args: voice_name: Name of voice to load device: Optional override foSTRING
HIGHapi/src/inference/model_manager.py53Initialize and warm up model. Args: voice_manager: Voice manager instance for warmup ReturSTRING
HIGHapi/src/inference/kokoro_v1.py217Generate audio from phoneme tokens. Args: tokens: Input phoneme tokens to synthesize voSTRING
HIGHapi/src/inference/kokoro_v1.py316Generate audio using model. Args: text: Input text to synthesize voice: Either a voice STRING
HIGHapi/src/inference/base.py46Generate audio from text. Args: text: Input text to synthesize voice: Either a voice paSTRING
HIGHapi/src/services/tts_service.py184Get voice path, handling combined voices. Args: voice: Voice name or combined voice names (e.g., 'aSTRING
Empty Error Handlers13 hits · 65 pts
SeverityFileLineSnippetContext
HIGHdocker/scripts/download_model.py158except Exception:CODE
HIGH…ted_checks/benchmarks/benchmark_first_token_lazy_ab.py79except requests.RequestException:CODE
HIGHexamples/assorted_checks/benchmarks/lib/shared_utils.py18except ImportError:CODE
HIGH…s/assorted_checks/test_transcription/test_long_form.py221except Exception:CODE
HIGHapi/src/routers/openai_compatible.py513except:CODE
HIGHapi/src/routers/openai_compatible.py530except:CODE
HIGHapi/src/routers/openai_compatible.py547except:CODE
HIGHapi/src/routers/development.py428except:CODE
HIGHapi/src/routers/development.py445except:CODE
HIGHapi/src/routers/development.py462except:CODE
HIGHapi/src/routers/tune.py52except Exception:CODE
HIGHapi/src/routers/tune.py56except OSError:CODE
HIGHapi/src/inference/model_manager.py221except asyncio.CancelledError:CODE
Hallucination Indicators4 hits · 45 pts
SeverityFileLineSnippetContext
CRITICAL⚡api/tests/test_inno_tuner.py346 svc.model_manager.get_backend.return_value.forget_voice.assert_called_once()CODE
CRITICALapi/tests/test_inno_tuner.py205 svc.model_manager.get_backend.return_value.forget_voice.assert_called_once()CODE
CRITICALapi/tests/test_inno_tuner.py232 svc.model_manager.get_backend.return_value.forget_voice.assert_called_once()CODE
CRITICALapi/tests/test_inno_tuner.py248 svc.model_manager.get_backend.return_value.forget_voice.assert_called_once()CODE
Unused Imports43 hits · 43 pts
SeverityFileLineSnippetContext
LOWdocker/rocm/warmup_miopen.py19CODE
LOW…ples/streaming_refactor/benchmark_unified_streaming.py7CODE
LOWexamples/phoneme_examples/test_phoneme_generation.py3CODE
LOWexamples/phoneme_examples/generate_phonemes.py2CODE
LOWexamples/phoneme_examples/generate_phonemes.py2CODE
LOWexamples/assorted_checks/validate_wav.py1CODE
LOW…ecks/test_combinations/test_analyze_combined_voices.py2CODE
LOW…sorted_checks/test_combinations/test_download_voice.py2CODE
LOW…amples/assorted_checks/benchmarks/benchmark_tts_rtf.py3CODE
LOW…amples/assorted_checks/benchmarks/benchmark_tts_rtf.py4CODE
LOW…amples/assorted_checks/benchmarks/benchmark_tts_rtf.py8CODE
LOW…es/assorted_checks/benchmarks/benchmark_first_token.py3CODE
LOW…es/assorted_checks/benchmarks/benchmark_first_token.py6CODE
LOW…mples/assorted_checks/benchmarks/depr_benchmark_tts.py2CODE
LOWexamples/assorted_checks/benchmarks/lib/stream_utils.py4CODE
LOWexamples/assorted_checks/benchmarks/lib/stream_utils.py5CODE
LOW…/test_transcription/test_transcription_multilingual.py26CODE
LOW…sorted_checks/test_transcription/test_transcription.py18CODE
LOW…s/assorted_checks/test_transcription/test_long_form.py25CODE
LOWapi/tests/test_real_model.py10CODE
LOWapi/tests/integration/conftest.py16CODE
LOWapi/tests/integration/test_voices_endpoint.py8CODE
LOWapi/tests/integration/test_rate_durations.py9CODE
LOWapi/tests/integration/test_tts_roundtrip.py14CODE
LOWapi/src/core/__init__.py1CODE
LOWapi/src/structures/__init__.py1CODE
LOWapi/src/structures/__init__.py1CODE
LOWapi/src/structures/__init__.py1CODE
LOWapi/src/structures/__init__.py1CODE
LOWapi/src/structures/__init__.py1CODE
LOWapi/src/structures/__init__.py1CODE
LOWapi/src/structures/__init__.py1CODE
LOWapi/src/inference/__init__.py3CODE
LOWapi/src/inference/__init__.py4CODE
LOWapi/src/inference/__init__.py5CODE
LOWapi/src/inference/__init__.py5CODE
LOWapi/src/services/__init__.py1CODE
LOWapi/src/services/text_processing/__init__.py3CODE
LOWapi/src/services/text_processing/__init__.py3CODE
LOWapi/src/services/text_processing/__init__.py4CODE
LOWapi/src/services/text_processing/__init__.py5CODE
LOWapi/src/services/text_processing/__init__.py5CODE
LOWapi/src/services/text_processing/__init__.py6CODE
Redundant / Tautological Comments23 hits · 36 pts
SeverityFileLineSnippetContext
LOWdocker/scripts/download_model.sh78# Check if files already exist and are validCOMMENT
LOWdocker/scripts/download_model.py86 # Check if files already exist and are validCOMMENT
LOWdocker/rocm/kdb_install.sh27# Check if Torch installation path existsCOMMENT
LOWdocker/rocm/kdb_install.sh60 # Check if files were downloaded. No KDB files in repo.radeon will result in error.COMMENT
LOWdocker/rocm/kdb_install.sh88 # Check if files were downloaded. No KDB files in repo.radeon will result in error.COMMENT
LOW⚡examples/simul_file_test.py27 # Open file in binary write modeCOMMENT
LOWexamples/simul_openai_streaming_audio.py55 # Open file in binary write modeCOMMENT
LOW…ples/streaming_refactor/benchmark_unified_streaming.py133 # Print results for this testCOMMENT
LOWexamples/phoneme_examples/test_phoneme_generation.py25 # Check if request was successfulCOMMENT
LOWexamples/assorted_checks/test_normalizer.py302 # Print resultsCOMMENT
LOW…les/assorted_checks/test_formats/test_audio_formats.py281 # Write the file and verify it was written correctlyCOMMENT
LOWscripts/update_version.py101 # Check if quotes were consistent (both present or both absent)COMMENT
LOWscripts/update_version.py108 ): # Check if already correct *and* quotedCODE
LOWscripts/fix_misaki.py29# Check if the problematic line existsCOMMENT
LOWapi/src/routers/openai_compatible.py289 # Check if client is still connectedCOMMENT
LOWapi/src/routers/openai_compatible.py359 # Check if streaming is requested (default for OpenAI client)COMMENT
LOWapi/src/routers/openai_compatible.py706 # Check if requested model existsCOMMENT
LOWapi/src/routers/openai_compatible.py776 # Check if local voice saving is allowedCOMMENT
LOWapi/src/routers/development.py255 # Check if streaming is requested (default for OpenAI client)COMMENT
LOWapi/src/routers/web_player.py49 # Read file contentCOMMENT
LOW⚡api/src/services/tts_service.py176 # Check if the path is None and raise a ValueError if it is notCOMMENT
LOWapi/src/services/text_processing/text_processor.py333 # Check if the next part is a pause duration stringCOMMENT
LOWapi/src/services/text_processing/text_processor.py336 # Check if it looks like a valid number string captured by the regex groupCOMMENT
Deep Nesting27 hits · 26 pts
SeverityFileLineSnippetContext
LOWdocker/scripts/download_model.py70CODE
LOWexamples/stream_tts_playback.py11CODE
LOWexamples/phoneme_examples/test_phoneme_generation.py5CODE
LOWexamples/phoneme_examples/generate_phonemes.py59CODE
LOWexamples/assorted_checks/validate_wavs.py27CODE
LOWexamples/assorted_checks/validate_wav.py10CODE
LOW…les/assorted_checks/test_formats/test_audio_formats.py52CODE
LOW…cks/benchmarks/benchmark_first_token_stream_unified.py17CODE
LOW…cks/benchmarks/benchmark_first_token_stream_unified.py98CODE
LOW…sorted_checks/benchmarks/lib/shared_benchmark_utils.py31CODE
LOWexamples/assorted_checks/benchmarks/lib/stream_utils.py107CODE
LOWexamples/assorted_checks/benchmarks/lib/shared_utils.py150CODE
LOWscripts/update_version.py54CODE
LOWscripts/update_version.py156CODE
LOWapi/src/routers/openai_compatible.py305CODE
LOWapi/src/routers/development.py93CODE
LOWapi/src/routers/development.py211CODE
LOWapi/src/core/paths.py83CODE
LOWapi/src/core/paths.py348CODE
LOWapi/src/inference/kokoro_v1.py23CODE
LOWapi/src/inference/kokoro_v1.py308CODE
LOWapi/src/services/tts_service.py51CODE
LOWapi/src/services/tts_service.py183CODE
LOWapi/src/services/tts_service.py316CODE
LOWapi/src/services/tts_service.py545CODE
LOWapi/src/services/temp_manager.py14CODE
LOWapi/src/services/text_processing/text_processor.py273CODE
Decorative Section Separators4 hits · 15 pts
SeverityFileLineSnippetContext
MEDIUM⚡api/tests/test_model_unload.py42# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡api/tests/test_model_unload.py44# ---------------------------------------------------------------------------COMMENT
MEDIUMapi/tests/test_model_unload.py329# ---------------------------------------------------------------------------COMMENT
MEDIUMapi/tests/test_model_unload.py331# ---------------------------------------------------------------------------COMMENT
Cross-File Repetition3 hits · 15 pts
SeverityFileLineSnippetContext
HIGHapi/tests/test_real_model.py0streamed wavs carry a placeholder frame count, so size the data chunk instead.STRING
HIGHapi/tests/integration/test_rate_durations.py0streamed wavs carry a placeholder frame count, so size the data chunk instead.STRING
HIGHapi/tests/integration/test_tts_roundtrip.py0streamed wavs carry a placeholder frame count, so size the data chunk instead.STRING
Self-Referential Comments3 hits · 9 pts
SeverityFileLineSnippetContext
MEDIUMexamples/simul_speaker_test.py10# Create a shared PyAudio instanceCOMMENT
MEDIUMexamples/simul_openai_streaming_audio.py11# Create a shared PyAudio instanceCOMMENT
MEDIUMexamples/phoneme_examples/generate_phonemes.py21 # Create the request payloadCOMMENT
Over-Commented Block5 hits · 5 pts
SeverityFileLineSnippetContext
LOWdocker/docker-compose.test.yml1name: kokoro-fastapi-testCOMMENT
LOWdocker/cpu/docker-compose.yml21 # - ALLOW_DEV_UNLOAD=trueCOMMENT
LOWdocker/rocm/docker-compose.yml41 # Uncomment if matmuls are slow or unstable; falls back to hipBLAS.COMMENT
LOWcharts/kokoro-fastapi/examples/aks-tls-values.yaml1# Tested onCOMMENT
LOW.github/workflows/release.yml181COMMENT
Modern Structural Boilerplate5 hits · 5 pts
SeverityFileLineSnippetContext
LOWapi/src/core/__init__.py3__all__ = ["settings"]CODE
LOWapi/src/structures/__init__.py11__all__ = [CODE
LOWapi/src/inference/__init__.py7__all__ = [CODE
LOWapi/src/services/__init__.py3__all__ = ["TTSService"]CODE
LOWapi/src/services/text_processing/__init__.py8__all__ = [CODE
Modern AI Meta-Vocabulary1 hit · 3 pts
SeverityFileLineSnippetContext
MEDIUMdocker/docker-compose.test.yml3# Test orchestration. Brings up the Kokoro server and the Whisper-equippedCOMMENT
Cross-Language Confusion1 hit · 2 pts
SeverityFileLineSnippetContext
HIGH…ples/assorted_checks/test_dialogue/caption_dialogue.py8timestamps are identical, the voice field is null, and the tags get spoken.STRING
Dead Code1 hit · 2 pts
SeverityFileLineSnippetContext
MEDIUMapi/tests/test_openai_endpoints.py1187CODE
AI Structural Patterns1 hit · 1 pts
SeverityFileLineSnippetContext
LOWapi/src/services/tts_service.py316CODE