AI Slop Code RIsk Monitor

IAHispano/Applio

A simple, high-quality voice conversion tool focused on ease of use and performance.

10.0 Moderate pattern signal View on GitHub

Maintenance and Governance Review

This report summarizes scanner evidence for IAHispano/Applio, a Python project with 3,820 GitHub stars. SynthScan examined 63,665 lines of code across 199 source files, recording 364 pattern matches distributed across 12 syntactic categories. The legacy adjusted pattern signal is 10.0 (Moderate 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.

10.0
Adjusted Signal
10.0
Raw Pattern Score
100%
Time Factor
2026-10-11
Last Push
3.8K
Stars
Python
Language
63.7K
Lines of Code
199
Files
364
Pattern Hits
2026-10-12
Scan Date
0.26
HC Hit Rate

Risk Review · v3

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

Cognitive Ownership Risk 10.0/100 · LOW

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

Hallucinated Dependency & Supply Chain Risk 2.1/100 · LOW

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

Agent Over-Engineering Ratio 35.5/100 · MEDIUM

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

PR Review Velocity Impact 43.7/100 · MEDIUM

Which changes need focused human review? 364 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

Run additional scans to build a history of the legacy pattern signal. Score changes are not a measure of AI adoption or code quality.

No multi-scan history yet — run the scanner again to build trend data.

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 0HIGH 51MEDIUM 56LOW 257

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 364 distinct pattern matches across 12 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.

Excessive Try-Catch Wrapping168 hits · 231 pts
SeverityFileLineSnippetContext
LOWcore.py17 except Exception:CODE
LOWcore.py29 except Exception:CODE
LOWcore.py74 except Exception:CODE
LOWcore.py519 except Exception:CODE
LOWapp.py306 except Exception as error:STRING
MEDIUMapp.py307 print(f"An error occurred launching Gradio: {error}")STRING
MEDIUMapp.py75def _ccl_patched(self, exc):CODE
LOWtabs/settings/sections/restart.py36 except Exception:CODE
LOWtabs/settings/sections/restart.py66 except Exception:CODE
LOWtabs/settings/sections/realtime_audio.py28 except Exception as e:CODE
MEDIUMtabs/settings/sections/realtime_audio.py29 print(f"Error loading realtime audio settings: {e}")CODE
LOWtabs/settings/sections/realtime_audio.py42 except Exception as e:CODE
MEDIUMtabs/settings/sections/realtime_audio.py43 print(f"Error saving asio_enabled: {e}")CODE
LOWtabs/settings/sections/realtime_audio.py55 except Exception as e:CODE
MEDIUMtabs/settings/sections/realtime_audio.py56 print(f"Error saving audio_sample_rate: {e}")CODE
MEDIUMtabs/settings/sections/realtime_audio.py18def _load():CODE
MEDIUMtabs/settings/sections/realtime_audio.py33def _save_asio_enabled(value):CODE
MEDIUMtabs/settings/sections/realtime_audio.py46def _save_audio_sample_rate(value):CODE
LOWtabs/plugins/plugins.py23 except Exception:CODE
LOWtabs/voice_blender/voice_blender.py23 except Exception:CODE
MEDIUMtabs/realtime/realtime.py368 print(f"Error saving realtime settings: {e}")CODE
MEDIUMtabs/realtime/realtime.py409 print(f"Error loading realtime settings: {e}")CODE
MEDIUMtabs/realtime/realtime.py621 print(f"Error: incorrectly formatted audio device.")CODE
MEDIUMtabs/realtime/realtime.py929def get_audio_devices_formatted():CODE
LOW⚡tabs/realtime/realtime.py462 except Exception:CODE
LOW⚡tabs/realtime/realtime.py467 except Exception:CODE
LOW⚡tabs/realtime/realtime.py473 except Exception:CODE
LOWtabs/realtime/realtime.py263 except Exception:CODE
LOWtabs/realtime/realtime.py367 except Exception as e:CODE
LOWtabs/realtime/realtime.py408 except Exception as e:CODE
LOWtabs/realtime/realtime.py727 except Exception as error:CODE
LOWtabs/realtime/realtime.py956 except Exception:CODE
LOWtabs/realtime/realtime.py1837 except Exception:CODE
LOWtabs/tts/tts.py370 except Exception:CODE
LOW⚡tabs/train/train.py333 except Exception as error:CODE
MEDIUM⚡tabs/train/train.py334 print(f"An error occurred uploading to Google Drive: {error}")CODE
LOWtabs/inference/inference.py499 except Exception:CODE
LOWtabs/inference/inference.py1206 except Exception:CODE
LOWtabs/inference/inference.py1227 except Exception:CODE
LOWtabs/report/report.py69 except Exception as error:CODE
MEDIUMtabs/report/report.py70 print(f"An error occurred converting video to mp4: {error}")CODE
LOWrvc/realtime/client.py44 except Exception as error:CODE
MEDIUM⚡rvc/realtime/audio.py58 print("An error occurred while querying the audio device:", e)CODE
MEDIUM⚡rvc/realtime/audio.py62 print("An error occurred while querying the audio device:", e)CODE
MEDIUM⚡rvc/realtime/audio.py79 print("An error occurred while querying the host api:", e)CODE
MEDIUM⚡rvc/realtime/audio.py83 print("An error occurred while querying the host api:", e)CODE
MEDIUM⚡rvc/realtime/audio.py219 print(f"An error occurred while running the audio stream: {error}")CODE
MEDIUMrvc/realtime/audio.py237 print(f"An error occurred while running the audio stream: {error}")CODE
MEDIUMrvc/realtime/audio.py259 print(f"An error occurred while running the audio queue: {error}")CODE
MEDIUMrvc/realtime/audio.py466 print(f"An error occurred while streaming audio: {error}")CODE
LOW⚡rvc/realtime/audio.py57 except Exception as e:CODE
LOW⚡rvc/realtime/audio.py78 except Exception as e:CODE
LOW⚡rvc/realtime/audio.py218 except Exception as error:CODE
LOWrvc/realtime/audio.py131 except Exception:CODE
LOWrvc/realtime/audio.py236 except Exception as error:CODE
LOWrvc/realtime/audio.py258 except Exception as error:CODE
LOWrvc/realtime/audio.py284 except Exception:CODE
LOWrvc/realtime/audio.py362 except Exception:CODE
LOWrvc/realtime/audio.py367 except Exception:CODE
LOWrvc/realtime/audio.py465 except Exception as error:CODE
108 more matches not shown…
Empty Error Handlers43 hits · 215 pts
SeverityFileLineSnippetContext
HIGHcore.py74except Exception:CODE
HIGHcore.py519except Exception:CODE
HIGHcore.py17except Exception:CODE
HIGHcore.py29except Exception:CODE
HIGHapp.py78except ConnectionResetError:CODE
HIGHtabs/settings/sections/restart.py48except:CODE
HIGHtabs/settings/sections/restart.py73except:CODE
HIGHtabs/settings/sections/restart.py34except psutil.NoSuchProcess:CODE
HIGHtabs/settings/sections/restart.py64except psutil.NoSuchProcess:CODE
HIGHtabs/settings/sections/restart.py40except:CODE
HIGHtabs/settings/sections/restart.py69except:CODE
HIGHtabs/realtime/realtime.py462except Exception:CODE
HIGHtabs/realtime/realtime.py467except Exception:CODE
HIGHtabs/realtime/realtime.py473except Exception:CODE
HIGHrvc/realtime/worker.py58except Full:CODE
HIGHrvc/realtime/worker.py302except Full:CODE
HIGHrvc/realtime/worker.py324except Full:CODE
HIGHrvc/realtime/client.py58except WebSocketDisconnect:CODE
HIGHrvc/realtime/client.py259except:CODE
HIGHrvc/realtime/audio.py23except Empty:CODE
HIGHrvc/realtime/audio.py27except Full:CODE
HIGHrvc/realtime/audio.py284except Exception:CODE
HIGHrvc/configs/config.py100except Exception:CODE
HIGHrvc/configs/config.py86except Exception:CODE
HIGHrvc/train/train.py132except Exception:CODE
HIGHrvc/train/train.py236except json.JSONDecodeError:CODE
HIGHrvc/lib/zluda.py103except Exception:CODE
HIGHrvc/lib/zluda.py121except Exception:CODE
HIGHrvc/lib/zluda.py262except Exception:CODE
HIGHrvc/lib/zluda.py90except Exception:CODE
HIGHrvc/lib/platform.py17except Exception:CODE
HIGHrvc/lib/user_config.py99except FileExistsError:CODE
HIGHrvc/lib/tools/inspect_checkpoint.py79except Exception:CODE
HIGHrvc/lib/tools/http_download.py31except (OSError, ValueError, TypeError):CODE
HIGHrvc/lib/tools/prerequisites_download.py71except (requests.RequestException, ValueError):CODE
HIGHrvc/lib/tools/gpu_checker.py44except Exception:CODE
HIGHrvc/lib/tools/gpu_checker.py61except Exception:CODE
HIGHrvc/lib/predictors/f0.py24except (FileNotFoundError, json.JSONDecodeError):CODE
HIGHrvc/lib/predictors/Swift.py70except Exception:CODE
HIGHrvc/infer/worker.py212except Exception:CODE
HIGHrvc/infer/worker.py204except Exception:CODE
HIGHrvc/infer/infer.py478except Exception:CODE
HIGHassets/installation_checker.py22except:CODE
Hyper-Verbose Identifiers55 hits · 59 pts
SeverityFileLineSnippetContext
LOWcore.py803def run_model_information_script(pth_path: str):CODE
LOWcore.py861def run_audio_analyzer_script(CODE
LOWtabs/settings/sections/rmvpe_high_register.py19def load_config_high_register():CODE
LOWtabs/settings/sections/rmvpe_high_register.py37def save_config_high_register(enabled, mode, f0_ceil):CODE
LOWtabs/plugins/plugins.py17 def _plugin_install_with_toast(dropbox):CODE
LOWtabs/realtime/realtime.py269def create_folder_and_move_files(folder_name, bin_file, config_file):CODE
LOWtabs/realtime/realtime.py294def refresh_embedders_folders():CODE
LOWtabs/realtime/realtime.py929def get_audio_devices_formatted():CODE
LOWtabs/realtime/realtime.py960def update_dropdowns_from_json(data):CODE
LOWtabs/realtime/realtime.py1878 def toggle_visible_embedder_custom(embedder_model):CODE
LOWtabs/download/download.py104def get_pretrained_sample_rates(model):CODE
LOWtabs/download/download.py124def download_pretrained_model(model, sample_rate, url_g="", url_d=""):CODE
LOWtabs/download/download.py167def update_sample_rate_dropdown(model):CODE
LOWtabs/tts/tts.py406 def toggle_visible_embedder_custom(embedder_model):CODE
LOWtabs/train/train.py71def refresh_custom_pretraineds():CODE
LOWtabs/train/train.py123def refresh_models_and_datasets():CODE
LOWtabs/train/train.py163def refresh_custom_embedder_list():CODE
LOWtabs/train/train.py224def create_folder_and_move_files(folder_name, bin_file, config_file):CODE
LOWtabs/train/train.py249def refresh_embedders_folders():CODE
LOWtabs/train/train.py277def refresh_pth_and_index_list():CODE
LOW⚡tabs/train/train.py338def auto_enable_checkpointing():CODE
LOWtabs/train/train.py913 def disable_stop_train_button():CODE
LOWtabs/train/train.py933 def toggle_visible_embedder_custom(embedder_model):CODE
LOWtabs/inference/inference.py447def create_folder_and_move_files(folder_name, bin_file, config_file):CODE
LOWtabs/inference/inference.py479def refresh_embedders_folders():CODE
LOWtabs/inference/inference.py1878 def toggle_visible_embedder_custom(embedder_model):CODE
LOWtabs/inference/inference.py1883 def enable_stop_convert_button(terms_accepted):CODE
LOWtabs/inference/inference.py1894 def disable_stop_convert_button():CODE
LOWtabs/inference/inference.py1900 def toggle_visible_formant_shifting(checkbox):CODE
LOWrvc/realtime/pipeline.py658 def _retrieve_speaker_embeddings(CODE
LOW⚡rvc/realtime/audio.py209 def audio_stream_no_output_callback(CODE
LOWrvc/train/utils.py171def plot_spectrogram_to_numpy(spectrogram):CODE
LOWrvc/train/losses.py55def discriminator_loss_scaled(disc_real, disc_fake, scale=1.0):CODE
LOWrvc/train/losses.py74def discriminator_loss_scaled(disc_real, disc_fake, scale=1.0):CODE
LOW⚡rvc/lib/tools/test_split_audio.py17 def test_longer_chunk_stays_at_its_start(self):CODE
LOW⚡rvc/lib/tools/test_split_audio.py26 def test_shorter_chunk_still_fills_its_slot(self):CODE
LOW⚡rvc/lib/tools/test_split_audio.py35 def test_next_chunk_stays_on_time(self):CODE
LOWrvc/lib/tools/launch_tensorboard.py17def launch_tensorboard_pipeline():CODE
LOWrvc/lib/tools/prerequisites_download.py150def prequisites_download_pipeline(CODE
LOWrvc/lib/tools/gpu_checker.py88def check_torch_compatibility():CODE
LOWrvc/lib/tools/gdown.py29def _extract_download_url_from_confirmation(contents: str, url_origin: str):CODE
LOWrvc/lib/tools/model_download.py101def download_from_huggingface(url):CODE
LOWrvc/lib/tools/model_download.py180def handle_extraction_process():CODE
LOW⚡rvc/lib/predictors/FCPE.py63def dynamic_range_compression(x, C=1, clip_val=1e-5):CODE
LOW⚡rvc/lib/predictors/FCPE.py67def dynamic_range_decompression(x, C=1):CODE
LOW⚡rvc/lib/predictors/FCPE.py71def dynamic_range_compression_torch(x, C=1, clip_val=1e-5):CODE
LOW⚡rvc/lib/predictors/FCPE.py75def dynamic_range_decompression_torch(x, C=1):CODE
LOWrvc/lib/predictors/FCPE.py366def gaussian_orthogonal_random_matrix(CODE
LOWrvc/lib/predictors/f0.py16def load_high_register_settings():CODE
LOWrvc/lib/algorithm/attentions.py140 def _matmul_with_relative_values(self, x, y):CODE
LOWrvc/lib/algorithm/attentions.py143 def _matmul_with_relative_keys(self, x, y):CODE
LOWrvc/lib/algorithm/attentions.py158 def _relative_position_to_absolute_position(self, x):CODE
LOWrvc/lib/algorithm/attentions.py171 def _absolute_position_to_relative_position(self, x):CODE
LOWrvc/lib/algorithm/commons.py89def fused_add_tanh_sigmoid_multiply(input_a, input_b, n_channels):CODE
LOWrvc/infer/pipeline.py400 def _retrieve_speaker_embeddings(self, feats, index, big_npy, index_rate):CODE
Deep Nesting42 hits · 40 pts
SeverityFileLineSnippetContext
LOWtabs/settings/sections/restart.py11CODE
LOWtabs/settings/sections/restart.py52CODE
LOWtabs/plugins/plugins_core.py103CODE
LOWtabs/realtime/realtime.py67CODE
LOWtabs/realtime/realtime.py371CODE
LOWtabs/realtime/realtime.py1041CODE
LOWtabs/tts/tts.py52CODE
LOWtabs/train/train.py346CODE
LOWtabs/inference/inference.py88CODE
LOWtabs/inference/inference.py527CODE
LOWrvc/realtime/worker.py62CODE
LOWrvc/realtime/client.py110CODE
LOWrvc/realtime/onnx_decoder.py208CODE
LOWrvc/realtime/core.py549CODE
LOWrvc/realtime/pipeline.py193CODE
LOWrvc/realtime/pipeline.py266CODE
LOWrvc/realtime/pipeline.py382CODE
LOWrvc/realtime/audio.py240CODE
LOWrvc/train/data_utils.py30CODE
LOWrvc/train/anyprecision_optimizer.py76CODE
LOWrvc/train/train.py187CODE
LOWrvc/train/train.py303CODE
LOWrvc/train/train.py634CODE
LOWrvc/train/preprocess/preprocess.py251CODE
LOWrvc/train/preprocess/preprocess.py114CODE
LOWrvc/train/preprocess/slicer.py74CODE
LOWrvc/train/extract/extract.py33CODE
LOWrvc/train/extract/extract.py81CODE
LOWrvc/lib/zluda.py14CODE
LOWrvc/lib/tools/tts.py13CODE
LOWrvc/lib/tools/http_download.py13CODE
LOWrvc/lib/tools/prerequisites_download.py52CODE
LOWrvc/lib/tools/prerequisites_download.py92CODE
LOWrvc/lib/tools/gpu_checker.py12CODE
LOWrvc/lib/tools/gdown.py29CODE
LOWrvc/lib/tools/gdown.py100CODE
LOWrvc/lib/tools/model_download.py39CODE
LOWrvc/lib/tools/model_download.py142CODE
LOWrvc/lib/predictors/RMVPE.py461CODE
LOWrvc/lib/predictors/F0Extractor.py38CODE
LOWrvc/infer/worker.py142CODE
LOWrvc/infer/pipeline.py204CODE
Cross-File Repetition6 hits · 30 pts
SeverityFileLineSnippetContext
HIGHtabs/realtime/realtime.py0dropdown label for a path: the file or folder name, without extension.STRING
HIGHtabs/train/train.py0dropdown label for a path: the file or folder name, without extension.STRING
HIGHtabs/inference/inference.py0dropdown label for a path: the file or folder name, without extension.STRING
HIGHtabs/realtime/realtime.py0convert a list of paths into (label, value) dropdown choices so only the file name is displayed and announced instead ofSTRING
HIGHtabs/train/train.py0convert a list of paths into (label, value) dropdown choices so only the file name is displayed and announced instead ofSTRING
HIGHtabs/inference/inference.py0convert a list of paths into (label, value) dropdown choices so only the file name is displayed and announced instead ofSTRING
AI Structural Patterns24 hits · 22 pts
SeverityFileLineSnippetContext
LOWcore.py108CODE
LOWcore.py228CODE
LOWcore.py357CODE
LOWcore.py697CODE
LOWtabs/realtime/realtime.py479CODE
LOWrvc/realtime/core.py109CODE
LOWrvc/realtime/core.py307CODE
LOWrvc/realtime/core.py387CODE
LOWrvc/realtime/core.py549CODE
LOWrvc/realtime/core.py710CODE
LOWrvc/realtime/pipeline.py382CODE
LOWrvc/realtime/callbacks.py13CODE
LOWrvc/realtime/callbacks.py97CODE
LOWrvc/realtime/audio.py136CODE
LOWrvc/realtime/audio.py370CODE
LOWrvc/realtime/utils/torch.py89CODE
LOWrvc/train/anyprecision_optimizer.py20CODE
LOWrvc/lib/tools/gdown.py100CODE
LOWrvc/lib/predictors/FCPE.py80CODE
LOWrvc/lib/predictors/FCPE.py463CODE
LOWrvc/lib/predictors/FCPE.py571CODE
LOWrvc/lib/algorithm/generators/refinegan.py287CODE
LOWrvc/infer/infer.py234CODE
LOWassets/themes/Applio.py12CODE
Unused Imports17 hits · 17 pts
SeverityFileLineSnippetContext
LOWapp.py99CODE
LOWtabs/download/download.py8CODE
LOWrvc/train/train.py18CODE
LOWrvc/train/train.py44CODE
LOWrvc/train/preprocess/preprocess.py17CODE
LOWrvc/train/extract/extract.py19CODE
LOWrvc/lib/utils.py3CODE
LOWrvc/lib/utils.py42CODE
LOWrvc/infer/worker.py182CODE
LOWrvc/infer/worker.py183CODE
LOWrvc/infer/pipeline.py9CODE
LOWrvc/infer/pipeline.py14CODE
LOWrvc/infer/infer.py8CODE
LOWrvc/infer/infer.py20CODE
LOWlogs/reference/create_reference.py4CODE
LOWassets/themes/Applio.py1CODE
LOWassets/themes/Applio.py4CODE
Cross-Language Confusion2 hits · 10 pts
SeverityFileLineSnippetContext
HIGHtabs/report/report.py24 .replace("let recorder_js = null;", recorder_js)CODE
HIGHtabs/report/report.py25 .replace("let main_js = null;", main_js)CODE
Self-Referential Comments2 hits · 6 pts
SeverityFileLineSnippetContext
MEDIUMrvc/train/utils.py110 # Create a backwards-compatible checkpointCOMMENT
MEDIUMrvc/lib/algorithm/generators/hifigan.py166 # Create an upsampling gridCOMMENT
Redundant / Tautological Comments3 hits · 4 pts
SeverityFileLineSnippetContext
LOWtabs/realtime/realtime.py441 # Check if saved value is a filename that matches any choiceCOMMENT
LOWrvc/train/preprocess/slicer.py104 # Check if current silence segment is leading silence or need to sliceCOMMENT
LOWrvc/lib/zluda.py132 # Check if the basis for this n_fft is already cachedCOMMENT
Overly Generic Function Names1 hit · 1 pts
SeverityFileLineSnippetContext
LOWrvc/realtime/audio.py185 def process_data(self, indata: np.ndarray):CODE
Over-Commented Block1 hit · 1 pts
SeverityFileLineSnippetContext
LOWrvc/train/anyprecision_optimizer.py1# Copyright (c) Meta Platforms, Inc. and affiliates.COMMENT