A text-to-speech (TTS), speech-to-text (STT) and speech-to-speech (STS) library built on Apple's MLX framework, providing efficient speech analysis on Apple Silicon.
This report presents the forensic synthetic code analysis of Blaizzy/mlx-audio, a Python project with 7,674 GitHub stars. SynthScan v2.0 examined 209,340 lines of code across 846 source files, recording 2965 pattern matches distributed across 19 syntactic categories. The overall adjusted score of 17.5 places this repository in the Moderate AI signal band.
The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).
Longitudinal tracking requires multiple scan runs. Once this repository is re-scanned after new commits land, this chart will visualise how the synthetic code signal evolves over time — enabling you to detect whether AI authorship is growing, stabilising, or being actively corrected by human engineers.
Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.
This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.
The scanner identified 2965 distinct pattern matches across 19 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. 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 diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | mlx_audio/server.py | 239 | def _load_model_for_inference(model_name: str): | CODE |
| LOW | mlx_audio/server.py | 429 | def _cancel_disconnected_requests(self) -> None: | CODE |
| LOW | mlx_audio/server.py | 544 | def _can_call_continuous_session(self, model, request: InferenceRequest) -> bool: | CODE |
| LOW | mlx_audio/server.py | 557 | def supports_continuous_batch(self, request: InferenceRequest) -> bool: | CODE |
| LOW | mlx_audio/server.py | 581 | def create_continuous_batch_session(self, request: InferenceRequest): | CODE |
| LOW | mlx_audio/server.py | 855 | async def _stream_inference_results(handle: InferenceHandle, request: Request): | CODE |
| LOW | mlx_audio/server.py | 1242 | async def stt_realtime_transcriptions(websocket: WebSocket): | CODE |
| LOW | mlx_audio/server.py | 1480 | def _default_transcription_delay_ms() -> Optional[int]: | CODE |
| LOW | mlx_audio/server.py | 1521 | def _resolve_realtime_model_name(requested_model: Optional[str]) -> Optional[str]: | CODE |
| LOW | mlx_audio/server_inference.py | 76 | def supports_continuous_batch(self, request: InferenceRequest) -> bool: ... | CODE |
| LOW | mlx_audio/server_inference.py | 80 | def create_continuous_batch_session( | CODE |
| LOW | mlx_audio/server_inference.py | 115 | def supports_continuous_batch(self, request: InferenceRequest) -> bool: | CODE |
| LOW | mlx_audio/server_inference.py | 122 | def create_continuous_batch_session( | CODE |
| LOW | mlx_audio/server_inference.py | 315 | def _route_continuous_requests(self, pending: list[InferenceRequest]) -> None: | CODE |
| LOW⚡ | mlx_audio/server_inference.py | 347 | def _step_continuous_sessions(self) -> None: | CODE |
| LOW | mlx_audio/convert.py | 154 | def _discover_detection_hints(domain: str) -> dict: | CODE |
| LOW | mlx_audio/audio_io.py | 37 | def _detect_format_from_bytes(data: bytes) -> str: | CODE |
| LOW | mlx_audio/utils.py | 519 | def random_select_audio_segment(audio, length: int): | CODE |
| LOW | mlx_audio/ui/app/speech-to-text/realtime/page.tsx | 10 | export default function RealtimeTranscriptionPage() { | CODE |
| LOW | mlx_audio/codec/tests/test_moss_audio_tokenizer.py | 58 | def test_parent_config_defaults_to_mono(self): | CODE |
| LOW | mlx_audio/codec/tests/test_moss_audio_tokenizer.py | 72 | def test_import_from_codec_models(self): | CODE |
| LOW | mlx_audio/codec/tests/test_moss_audio_tokenizer.py | 75 | def test_from_pretrained_tiny_tokenizer_encode_decode(self): | CODE |
| LOW | mlx_audio/codec/tests/test_moss_audio_tokenizer.py | 94 | def test_streaming_decoder_matches_offline_without_decoder_modules(self): | CODE |
| LOW | mlx_audio/codec/tests/test_moss_audio_tokenizer.py | 115 | def test_streaming_decoder_matches_offline_with_causal_transformer(self): | CODE |
| LOW | mlx_audio/codec/tests/test_moss_audio_tokenizer.py | 174 | def test_from_model_dir_prefers_nested_audio_tokenizer(self): | CODE |
| LOW | mlx_audio/codec/tests/test_moss_audio_tokenizer.py | 188 | def test_same_dimension_projection_keys_force_linear_modules(self): | CODE |
| LOW | mlx_audio/codec/tests/test_stepaudio2.py | 9 | def test_tiny_dit_forward_shape(self): | CODE |
| LOW | mlx_audio/codec/tests/test_ecapa_backbone.py | 143 | def test_global_context_changes_attention_input(self): | CODE |
| LOW | mlx_audio/codec/tests/test_ecapa_backbone.py | 155 | def test_output_shape_default_config(self): | CODE |
| LOW | mlx_audio/codec/tests/test_ecapa_backbone.py | 165 | def test_output_shape_spark_config(self): | CODE |
| LOW | mlx_audio/codec/tests/test_ecapa_backbone.py | 177 | def test_submodules_accessible(self): | CODE |
| LOW | mlx_audio/codec/tests/test_ecapa_backbone.py | 201 | def test_import_from_codec_models(self): | CODE |
| LOW | mlx_audio/codec/tests/test_ecapa_backbone.py | 206 | def test_import_from_codec_top_level(self): | CODE |
| LOW | mlx_audio/codec/tests/test_ecapa_backbone.py | 233 | def test_different_inputs_give_different_outputs(self): | CODE |
| LOW | mlx_audio/codec/tests/test_ecapa_backbone.py | 247 | def test_lid_ecapa_uses_shared_backbone(self): | CODE |
| LOW | mlx_audio/codec/tests/test_ecapa_backbone.py | 256 | def test_lid_forward_pass_unchanged(self): | CODE |
| LOW | mlx_audio/codec/tests/test_ecapa_backbone.py | 267 | def test_lid_predict_unchanged(self): | CODE |
| LOW | mlx_audio/codec/tests/test_mimi.py | 23 | def test_convtranspose_materializes_expanded_weight(self): | CODE |
| LOW | mlx_audio/codec/tests/test_mimi.py | 31 | def test_codebook_materializes_derived_lookup_arrays(self): | CODE |
| LOW | mlx_audio/codec/tests/test_mimi.py | 42 | def test_from_pretrained_materializes_loaded_parameters(self): | CODE |
| LOW | mlx_audio/codec/models/fish_s1_dac/fish_s1_dac.py | 1305 | def transformer_general_config(**kw): | CODE |
| LOW | …ec/models/moss_audio_tokenizer/moss_audio_tokenizer.py | 66 | def _normalize_weight_except_dim(weight: mx.array, except_dim: int) -> mx.array: | CODE |
| LOW | …ec/models/moss_audio_tokenizer/moss_audio_tokenizer.py | 114 | def _sanitize_audio_tokenizer_weights( | CODE |
| LOW | …ec/models/moss_audio_tokenizer/moss_audio_tokenizer.py | 127 | def _resolve_audio_tokenizer_dir(source: str | Path) -> Path: | CODE |
| LOW | …ec/models/moss_audio_tokenizer/moss_audio_tokenizer.py | 906 | def _flatten_channels_for_codec( | CODE |
| LOW | …ec/models/moss_audio_tokenizer/moss_audio_tokenizer.py | 923 | def _restore_channels_from_codec( | CODE |
| LOW | mlx_audio/codec/models/higgs_audio/config.py | 42 | def semantic_downsample_factor(self) -> int: | CODE |
| LOW | mlx_audio/codec/models/higgs_audio/higgs_audio.py | 253 | def from_higgs_tts_checkpoint( | CODE |
| LOW | mlx_audio/codec/models/higgs_audio/higgs_audio.py | 289 | def _load_shard_codec_tensors( | CODE |
| LOW | mlx_audio/codec/models/stepaudio2/convert.py | 169 | def sanitize_campplus_onnx_weights(model, onnx_path: str | Path) -> Dict[str, mx.array]: | CODE |
| LOW | mlx_audio/codec/models/encodec/encodec.py | 506 | def get_num_quantizers_for_bandwidth( | CODE |
| LOW | mlx_audio/tests/test_lazy_imports.py | 11 | def test_stt_utils_no_eager_imports(): | CODE |
| LOW | mlx_audio/tests/test_lazy_imports.py | 28 | def test_tts_utils_no_eager_imports(): | STRING |
| LOW | mlx_audio/tests/test_lazy_imports.py | 45 | def test_sts_utils_no_eager_imports(): | STRING |
| LOW | mlx_audio/tests/test_lazy_imports.py | 62 | def test_codec_no_eager_imports(): | STRING |
| LOW⚡ | mlx_audio/tests/test_realtime_vad.py | 27 | def test_parse_none_is_manual_mode(): | CODE |
| LOW⚡ | mlx_audio/tests/test_realtime_vad.py | 32 | def test_parse_server_vad_defaults_match_openai(): | CODE |
| LOW⚡ | mlx_audio/tests/test_realtime_vad.py | 39 | def test_parse_server_vad_custom_values_round_trip(): | CODE |
| LOW | mlx_audio/tests/test_realtime_vad.py | 57 | def test_parse_semantic_vad_is_rejected(): | CODE |
| LOW | mlx_audio/tests/test_realtime_vad.py | 62 | def test_parse_unknown_type_is_rejected(): | CODE |
| 1094 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | mlx_audio/server_inference.py | 1 | CODE | |
| LOW | mlx_audio/registry.py | 10 | CODE | |
| LOW | mlx_audio/utils.py | 31 | CODE | |
| LOW | mlx_audio/utils.py | 31 | CODE | |
| LOW | mlx_audio/utils.py | 31 | CODE | |
| LOW | mlx_audio/utils.py | 31 | CODE | |
| LOW | mlx_audio/utils.py | 31 | CODE | |
| LOW | mlx_audio/utils.py | 31 | CODE | |
| LOW | mlx_audio/utils.py | 31 | CODE | |
| LOW | mlx_audio/utils.py | 31 | CODE | |
| LOW | mlx_audio/realtime_vad.py | 18 | CODE | |
| LOW | mlx_audio/codec/__init__.py | 1 | CODE | |
| LOW | mlx_audio/codec/__init__.py | 1 | CODE | |
| LOW | mlx_audio/codec/__init__.py | 1 | CODE | |
| LOW | mlx_audio/codec/__init__.py | 1 | CODE | |
| LOW | mlx_audio/codec/__init__.py | 1 | CODE | |
| LOW | mlx_audio/codec/__init__.py | 1 | CODE | |
| LOW | mlx_audio/codec/__init__.py | 1 | CODE | |
| LOW | mlx_audio/codec/models/__init__.py | 1 | CODE | |
| LOW | mlx_audio/codec/models/__init__.py | 2 | CODE | |
| LOW | mlx_audio/codec/models/__init__.py | 3 | CODE | |
| LOW | mlx_audio/codec/models/__init__.py | 4 | CODE | |
| LOW | mlx_audio/codec/models/__init__.py | 5 | CODE | |
| LOW | mlx_audio/codec/models/__init__.py | 6 | CODE | |
| LOW | mlx_audio/codec/models/__init__.py | 7 | CODE | |
| LOW | mlx_audio/codec/models/__init__.py | 8 | CODE | |
| LOW | mlx_audio/codec/models/s3/__init__.py | 1 | CODE | |
| LOW | mlx_audio/codec/models/s3/__init__.py | 1 | CODE | |
| LOW | mlx_audio/codec/models/s3/__init__.py | 2 | CODE | |
| LOW | mlx_audio/codec/models/s3/__init__.py | 2 | CODE | |
| LOW | mlx_audio/codec/models/s3/__init__.py | 2 | CODE | |
| LOW | mlx_audio/codec/models/s3/__init__.py | 2 | CODE | |
| LOW | mlx_audio/codec/models/s3/__init__.py | 2 | CODE | |
| LOW | mlx_audio/codec/models/s3/model.py | 2 | CODE | |
| LOW | mlx_audio/codec/models/fish_s1_dac/__init__.py | 1 | CODE | |
| LOW | mlx_audio/codec/models/fish_s1_dac/__init__.py | 1 | CODE | |
| LOW | mlx_audio/codec/models/fish_s1_dac/__init__.py | 1 | CODE | |
| LOW | mlx_audio/codec/models/fish_s1_dac/fish_s1_dac.py | 1 | CODE | |
| LOW | mlx_audio/codec/models/mimi/__init__.py | 1 | CODE | |
| LOW | mlx_audio/codec/models/mimi/__init__.py | 1 | CODE | |
| LOW | mlx_audio/codec/models/mimi/modules/quantization.py | 5 | CODE | |
| LOW | mlx_audio/codec/models/mimi/modules/__init__.py | 7 | CODE | |
| LOW | mlx_audio/codec/models/mimi/modules/__init__.py | 7 | CODE | |
| LOW | mlx_audio/codec/models/mimi/modules/__init__.py | 9 | CODE | |
| LOW | mlx_audio/codec/models/mimi/modules/__init__.py | 9 | CODE | |
| LOW | mlx_audio/codec/models/mimi/modules/__init__.py | 9 | CODE | |
| LOW | mlx_audio/codec/models/mimi/modules/__init__.py | 9 | CODE | |
| LOW | mlx_audio/codec/models/mimi/modules/__init__.py | 9 | CODE | |
| LOW | mlx_audio/codec/models/mimi/modules/__init__.py | 9 | CODE | |
| LOW | mlx_audio/codec/models/mimi/modules/__init__.py | 9 | CODE | |
| LOW | mlx_audio/codec/models/mimi/modules/__init__.py | 9 | CODE | |
| LOW | mlx_audio/codec/models/mimi/modules/__init__.py | 19 | CODE | |
| LOW | mlx_audio/codec/models/mimi/modules/__init__.py | 19 | CODE | |
| LOW | mlx_audio/codec/models/mimi/modules/__init__.py | 20 | CODE | |
| LOW | mlx_audio/codec/models/mimi/modules/__init__.py | 20 | CODE | |
| LOW | mlx_audio/codec/models/mimi/modules/__init__.py | 20 | CODE | |
| LOW | mlx_audio/codec/models/mimi/modules/__init__.py | 21 | CODE | |
| LOW | mlx_audio/codec/models/mimi/modules/__init__.py | 21 | CODE | |
| LOW | mlx_audio/codec/models/mimi/modules/__init__.py | 21 | CODE | |
| LOW | mlx_audio/codec/models/mimi/modules/transformer.py | 5 | CODE | |
| 753 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | mlx_audio/dsp.py | 743 | # ============================================================================= | COMMENT |
| MEDIUM | mlx_audio/dsp.py | 745 | # ============================================================================= | COMMENT |
| MEDIUM | mlx_audio/utils.py | 78 | # ============================================================================= | COMMENT |
| MEDIUM | mlx_audio/utils.py | 80 | # ============================================================================= | COMMENT |
| MEDIUM | mlx_audio/codec/models/dacvae/codec.py | 45 | # ============================================================================= | COMMENT |
| MEDIUM | mlx_audio/codec/models/dacvae/codec.py | 47 | # ============================================================================= | COMMENT |
| MEDIUM | mlx_audio/codec/models/dacvae/codec.py | 252 | # ============================================================================= | COMMENT |
| MEDIUM | mlx_audio/codec/models/dacvae/codec.py | 254 | # ============================================================================= | COMMENT |
| MEDIUM | mlx_audio/codec/models/dacvae/codec.py | 325 | # ============================================================================= | COMMENT |
| MEDIUM | mlx_audio/codec/models/dacvae/codec.py | 327 | # ============================================================================= | COMMENT |
| MEDIUM | mlx_audio/codec/models/dacvae/codec.py | 387 | # ============================================================================= | COMMENT |
| MEDIUM | mlx_audio/codec/models/dacvae/codec.py | 389 | # ============================================================================= | COMMENT |
| MEDIUM | mlx_audio/codec/models/dacvae/codec.py | 462 | # ============================================================================= | COMMENT |
| MEDIUM | mlx_audio/codec/models/dacvae/codec.py | 464 | # ============================================================================= | COMMENT |
| MEDIUM | mlx_audio/codec/models/dacvae/codec.py | 617 | # ============================================================================= | COMMENT |
| MEDIUM | mlx_audio/codec/models/dacvae/codec.py | 619 | # ============================================================================= | COMMENT |
| MEDIUM | mlx_audio/codec/models/dacvae/codec.py | 783 | # ============================================================================= | COMMENT |
| MEDIUM | mlx_audio/codec/models/dacvae/codec.py | 785 | # ============================================================================= | COMMENT |
| MEDIUM | mlx_audio/codec/models/dacvae/codec.py | 908 | # ============================================================================= | COMMENT |
| MEDIUM | mlx_audio/codec/models/dacvae/codec.py | 910 | # ============================================================================= | COMMENT |
| MEDIUM | mlx_audio/codec/models/dacvae/codec.py | 960 | # ============================================================================= | COMMENT |
| MEDIUM | mlx_audio/codec/models/dacvae/codec.py | 962 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | mlx_audio/tests/test_server.py | 257 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | mlx_audio/tests/test_server.py | 259 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | mlx_audio/tests/test_server.py | 795 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | mlx_audio/tests/test_server.py | 797 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | mlx_audio/tests/test_server.py | 361 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | mlx_audio/tests/test_server.py | 363 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | mlx_audio/lid/models/ecapa_tdnn/ecapa_tdnn.py | 18 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | mlx_audio/lid/models/ecapa_tdnn/ecapa_tdnn.py | 20 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | mlx_audio/lid/models/ecapa_tdnn/ecapa_tdnn.py | 76 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | mlx_audio/lid/models/ecapa_tdnn/ecapa_tdnn.py | 78 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | mlx_audio/tts/tests/test_models.py | 4108 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | mlx_audio/tts/tests/test_models.py | 4110 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | mlx_audio/tts/tests/test_models.py | 4475 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | mlx_audio/tts/tests/test_models.py | 4477 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | mlx_audio/tts/tests/test_models.py | 4030 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | mlx_audio/tts/tests/test_models.py | 4032 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | mlx_audio/tts/tests/test_models.py | 4535 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | mlx_audio/tts/tests/test_models.py | 4537 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | mlx_audio/tts/tests/test_models.py | 4802 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | mlx_audio/tts/tests/test_models.py | 4804 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | mlx_audio/tts/tests/test_models.py | 7268 | # ── VoxCPM2 ────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | mlx_audio/tts/tests/test_models.py | 8888 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | mlx_audio/tts/tests/test_models.py | 8890 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | mlx_audio/tts/models/kitten_tts/preprocess.py | 1017 | # ───────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | mlx_audio/tts/models/kitten_tts/preprocess.py | 1019 | # ───────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | mlx_audio/tts/models/kitten_tts/preprocess.py | 1025 | # ── Numbers ──────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | mlx_audio/tts/models/kitten_tts/preprocess.py | 1035 | # ── Scientific notation ───────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | mlx_audio/tts/models/kitten_tts/preprocess.py | 1039 | # ── Scale suffixes ───────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | mlx_audio/tts/models/kitten_tts/preprocess.py | 1043 | # ── Currency ─────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | mlx_audio/tts/models/kitten_tts/preprocess.py | 1047 | # ── Percentages ──────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | mlx_audio/tts/models/kitten_tts/preprocess.py | 1050 | # ── Ordinals ─────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | mlx_audio/tts/models/kitten_tts/preprocess.py | 1055 | # ── Fractions ────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | mlx_audio/tts/models/kitten_tts/preprocess.py | 1060 | # ── Time ─────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | mlx_audio/tts/models/kitten_tts/preprocess.py | 1065 | # ── Decades ──────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | mlx_audio/tts/models/kitten_tts/preprocess.py | 1071 | # ── Ranges ───────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | mlx_audio/tts/models/kitten_tts/preprocess.py | 1075 | # ── Model / version names ─────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | mlx_audio/tts/models/kitten_tts/preprocess.py | 1081 | # ── Units ────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | mlx_audio/tts/models/kitten_tts/preprocess.py | 1088 | # ── HTML / URLs / emails ─────────────────────────────────────── | COMMENT |
| 178 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | mlx_audio/server.py | 66 | CODE | |
| LOW | mlx_audio/server.py | 1012 | CODE | |
| LOW | mlx_audio/server.py | 1242 | CODE | |
| LOW | mlx_audio/server.py | 1567 | CODE | |
| LOW | mlx_audio/server.py | 282 | CODE | |
| LOW | mlx_audio/server_inference.py | 195 | CODE | |
| LOW | mlx_audio/convert.py | 154 | CODE | |
| LOW | mlx_audio/convert.py | 271 | CODE | |
| LOW | mlx_audio/audio_io.py | 37 | CODE | |
| LOW | mlx_audio/audio_io.py | 188 | CODE | |
| LOW | mlx_audio/audio_io.py | 337 | CODE | |
| LOW | mlx_audio/audio_io.py | 418 | CODE | |
| LOW | mlx_audio/utils.py | 754 | CODE | |
| LOW | mlx_audio/utils.py | 807 | CODE | |
| LOW | mlx_audio/codec/models/s3/model_v2.py | 378 | CODE | |
| LOW | mlx_audio/codec/models/s3/model_v2.py | 543 | CODE | |
| LOW | mlx_audio/codec/models/fish_s1_dac/fish_s1_dac.py | 1216 | CODE | |
| LOW | mlx_audio/codec/models/higgs_audio/higgs_audio.py | 182 | CODE | |
| LOW | mlx_audio/codec/models/bigvgan/bigvgan.py | 124 | CODE | |
| LOW | mlx_audio/codec/models/stepaudio2/convert.py | 70 | CODE | |
| LOW | mlx_audio/codec/models/stepaudio2/convert.py | 169 | CODE | |
| LOW | mlx_audio/codec/models/descript/base.py | 107 | CODE | |
| LOW | mlx_audio/codec/models/dacvae/codec.py | 1170 | CODE | |
| LOW | mlx_audio/codec/models/dacvae/codec.py | 1364 | CODE | |
| LOW | mlx_audio/lid/models/ecapa_tdnn/mel.py | 27 | CODE | |
| LOW | mlx_audio/tts/generate.py | 151 | CODE | |
| LOW | mlx_audio/tts/audio_player.py | 73 | CODE | |
| LOW | mlx_audio/tts/models/moss_tts_nano/text.py | 251 | CODE | |
| LOW | mlx_audio/tts/models/voxcpm2/audio_vae.py | 450 | CODE | |
| LOW | mlx_audio/tts/models/voxcpm2/voxcpm2.py | 315 | CODE | |
| LOW | …_audio/tts/models/chatterbox_turbo/chatterbox_turbo.py | 147 | CODE | |
| LOW | …_audio/tts/models/chatterbox_turbo/chatterbox_turbo.py | 210 | CODE | |
| LOW | …_audio/tts/models/chatterbox_turbo/chatterbox_turbo.py | 271 | CODE | |
| LOW | …_audio/tts/models/chatterbox_turbo/chatterbox_turbo.py | 352 | CODE | |
| LOW | …_audio/tts/models/chatterbox_turbo/chatterbox_turbo.py | 780 | CODE | |
| LOW | …_audio/tts/models/chatterbox_turbo/chatterbox_turbo.py | 1018 | CODE | |
| LOW | …udio/tts/models/chatterbox_turbo/models/s3gen/s3gen.py | 415 | CODE | |
| LOW | …io/tts/models/chatterbox_turbo/models/s3gen/xvector.py | 45 | CODE | |
| LOW | …io/tts/models/chatterbox_turbo/models/s3gen/xvector.py | 696 | CODE | |
| LOW | mlx_audio/tts/models/kugelaudio/kugelaudio.py | 394 | CODE | |
| LOW | mlx_audio/tts/models/kitten_tts/convert.py | 187 | CODE | |
| LOW | mlx_audio/tts/models/kitten_tts/convert.py | 229 | CODE | |
| LOW | mlx_audio/tts/models/kitten_tts/convert.py | 528 | CODE | |
| LOW | mlx_audio/tts/models/kitten_tts/kitten_tts.py | 42 | CODE | |
| LOW | mlx_audio/tts/models/kitten_tts/kitten_tts.py | 512 | CODE | |
| LOW | mlx_audio/tts/models/kitten_tts/kitten_tts.py | 541 | CODE | |
| LOW | mlx_audio/tts/models/vibevoice/vibevoice.py | 209 | CODE | |
| LOW | mlx_audio/tts/models/vibevoice/vibevoice.py | 559 | CODE | |
| LOW | mlx_audio/tts/models/vibevoice/scheduler.py | 234 | CODE | |
| LOW | mlx_audio/tts/models/zonos2/model.py | 850 | CODE | |
| LOW | mlx_audio/tts/models/zonos2/speaker_encoder.py | 40 | CODE | |
| LOW | mlx_audio/tts/models/omnivoice/omnivoice.py | 266 | CODE | |
| LOW | mlx_audio/tts/models/omnivoice/omnivoice.py | 293 | CODE | |
| LOW | mlx_audio/tts/models/omnivoice/convert.py | 33 | CODE | |
| LOW | mlx_audio/tts/models/irodori_tts/model.py | 737 | CODE | |
| LOW | mlx_audio/tts/models/irodori_tts/model.py | 929 | CODE | |
| LOW | mlx_audio/tts/models/irodori_tts/sampling.py | 72 | CODE | |
| LOW | mlx_audio/tts/models/qwen3/qwen3.py | 291 | CODE | |
| LOW | mlx_audio/tts/models/higgs_audio/serve.py | 593 | CODE | |
| LOW | mlx_audio/tts/models/higgs_audio/higgs_audio.py | 271 | CODE | |
| 138 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | mlx_audio/dsp.py | 886 | CODE | |
| LOW | mlx_audio/server.py | 1012 | CODE | |
| LOW | mlx_audio/convert.py | 542 | CODE | |
| LOW | mlx_audio/codec/models/fish_s1_dac/fish_s1_dac.py | 792 | CODE | |
| LOW | mlx_audio/codec/models/fish_s1_dac/fish_s1_dac.py | 1101 | CODE | |
| LOW | mlx_audio/codec/models/bigvgan/resample.py | 98 | CODE | |
| LOW | …x_audio/codec/models/stepaudio2/upsample_encoder_v2.py | 81 | CODE | |
| LOW | mlx_audio/codec/models/stepaudio2/flow.py | 10 | CODE | |
| LOW | mlx_audio/codec/models/snac/snac.py | 16 | CODE | |
| LOW | mlx_audio/codec/models/descript/dac.py | 133 | CODE | |
| LOW | mlx_audio/codec/models/dacvae/codec.py | 260 | CODE | |
| LOW | mlx_audio/codec/models/dacvae/codec.py | 905 | CODE | |
| LOW | mlx_audio/codec/models/dacvae/codec.py | 1067 | CODE | |
| LOW | mlx_audio/tts/generate.py | 151 | CODE | |
| LOW | mlx_audio/tts/utils.py | 211 | CODE | |
| LOW | mlx_audio/tts/models/interpolate.py | 112 | CODE | |
| LOW | mlx_audio/tts/models/base.py | 68 | CODE | |
| LOW | mlx_audio/tts/models/moss_tts_nano/moss_tts_nano.py | 335 | CODE | |
| LOW | mlx_audio/tts/models/voxcpm2/voxcpm2.py | 404 | CODE | |
| LOW | …_audio/tts/models/chatterbox_turbo/chatterbox_turbo.py | 780 | CODE | |
| LOW | …_audio/tts/models/chatterbox_turbo/chatterbox_turbo.py | 1018 | CODE | |
| LOW | …io/tts/models/chatterbox_turbo/models/s3gen/decoder.py | 431 | CODE | |
| LOW | …io/tts/models/chatterbox_turbo/models/s3gen/hifigan.py | 334 | CODE | |
| LOW | …_audio/tts/models/chatterbox_turbo/models/s3gen/mel.py | 56 | CODE | |
| LOW | …io/tts/models/chatterbox_turbo/models/s3gen/xvector.py | 104 | CODE | |
| LOW | …io/tts/models/chatterbox_turbo/models/s3gen/xvector.py | 281 | CODE | |
| LOW | …io/tts/models/chatterbox_turbo/models/s3gen/xvector.py | 336 | CODE | |
| LOW | mlx_audio/tts/models/kitten_tts/istftnet.py | 837 | CODE | |
| LOW | mlx_audio/tts/models/kitten_tts/istftnet.py | 930 | CODE | |
| LOW | mlx_audio/tts/models/kitten_tts/preprocess.py | 909 | CODE | |
| LOW | mlx_audio/tts/models/vibevoice/scheduler.py | 54 | CODE | |
| LOW | mlx_audio/tts/models/zonos2/model.py | 850 | CODE | |
| LOW | mlx_audio/tts/models/zonos2/model.py | 1008 | CODE | |
| LOW | mlx_audio/tts/models/zonos2/prompt.py | 315 | CODE | |
| LOW | mlx_audio/tts/models/omnivoice/omnivoice.py | 293 | CODE | |
| LOW | mlx_audio/tts/models/omnivoice/omnivoice.py | 483 | CODE | |
| LOW | mlx_audio/tts/models/irodori_tts/model.py | 737 | CODE | |
| LOW | mlx_audio/tts/models/irodori_tts/irodori_tts.py | 216 | CODE | |
| LOW | mlx_audio/tts/models/irodori_tts/sampling.py | 72 | CODE | |
| LOW | mlx_audio/tts/models/echo_tts/sampling.py | 53 | CODE | |
| LOW | mlx_audio/tts/models/echo_tts/sampling.py | 164 | CODE | |
| LOW | mlx_audio/tts/models/qwen3/qwen3.py | 291 | CODE | |
| LOW | mlx_audio/tts/models/higgs_audio/generation.py | 77 | CODE | |
| LOW | mlx_audio/tts/models/higgs_audio/serve.py | 593 | CODE | |
| LOW | mlx_audio/tts/models/higgs_audio/serve.py | 420 | CODE | |
| LOW | mlx_audio/tts/models/higgs_audio/serve.py | 485 | CODE | |
| LOW | mlx_audio/tts/models/higgs_audio/serve.py | 534 | CODE | |
| LOW | mlx_audio/tts/models/higgs_audio/model.py | 121 | CODE | |
| LOW | mlx_audio/tts/models/higgs_audio/higgs_audio.py | 413 | CODE | |
| LOW | mlx_audio/tts/models/chatterbox/chatterbox.py | 719 | CODE | |
| LOW | mlx_audio/tts/models/chatterbox/s3gen/decoder.py | 23 | CODE | |
| LOW | mlx_audio/tts/models/chatterbox/s3gen/decoder.py | 173 | CODE | |
| LOW | mlx_audio/tts/models/chatterbox/s3gen/flow.py | 9 | CODE | |
| LOW | mlx_audio/tts/models/chatterbox/s3gen/hifigan.py | 408 | CODE | |
| LOW | mlx_audio/tts/models/chatterbox/s3gen/hifigan.py | 421 | CODE | |
| LOW | mlx_audio/tts/models/chatterbox/s3gen/mel.py | 22 | CODE | |
| LOW | mlx_audio/tts/models/chatterbox/s3gen/xvector.py | 209 | CODE | |
| LOW | mlx_audio/tts/models/chatterbox/s3gen/xvector.py | 517 | CODE | |
| LOW | …odels/chatterbox/s3gen/transformer/upsample_encoder.py | 188 | CODE | |
| LOW | …odels/chatterbox/s3gen/transformer/upsample_encoder.py | 273 | CODE | |
| 110 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | mlx_audio/server.py | 1411 | print(f"Error during initial transcription: {error_msg}") | CODE |
| MEDIUM | mlx_audio/server.py | 1445 | print(f"Error during transcription: {error_msg}") | CODE |
| LOW⚡ | mlx_audio/server.py | 1456 | except Exception: | CODE |
| LOW⚡ | mlx_audio/server.py | 1461 | except Exception as e: | CODE |
| LOW⚡ | mlx_audio/server.py | 1464 | except Exception: | CODE |
| LOW⚡ | mlx_audio/server.py | 1469 | except Exception: | CODE |
| LOW⚡ | mlx_audio/server.py | 1940 | except Exception as e: | CODE |
| LOW⚡ | mlx_audio/server.py | 1946 | except Exception: | CODE |
| LOW⚡ | mlx_audio/server.py | 1951 | except Exception: | CODE |
| LOW | mlx_audio/server.py | 271 | except Exception as exc: | CODE |
| LOW | mlx_audio/server.py | 996 | except Exception as e: | CODE |
| LOW | mlx_audio/server.py | 1099 | except Exception: | CODE |
| LOW | mlx_audio/server.py | 1298 | except Exception: | CODE |
| LOW | mlx_audio/server.py | 1406 | except Exception as e: | CODE |
| LOW | mlx_audio/server.py | 1440 | except Exception as e: | CODE |
| LOW | mlx_audio/server.py | 1623 | except Exception as e: | CODE |
| LOW | mlx_audio/server.py | 1757 | except Exception as e: | CODE |
| LOW | mlx_audio/server.py | 1790 | except Exception as e: | CODE |
| LOW | mlx_audio/server.py | 1997 | except Exception as e: | CODE |
| LOW | mlx_audio/server_inference.py | 248 | except Exception as exc: # pragma: no cover - defensive broker guard | CODE |
| LOW⚡ | mlx_audio/server_inference.py | 340 | except Exception as exc: | CODE |
| LOW⚡ | mlx_audio/server_inference.py | 351 | except Exception as exc: | CODE |
| LOW | mlx_audio/convert.py | 437 | except Exception: | CODE |
| LOW | mlx_audio/tests/test_server.py | 137 | except Exception as e: | CODE |
| LOW | mlx_audio/tests/test_server.py | 449 | except Exception: | CODE |
| LOW | mlx_audio/tts/generate.py | 445 | except Exception as e: | CODE |
| MEDIUM | mlx_audio/tts/generate.py | 446 | print(f"Error loading model: {e}") | CODE |
| MEDIUM | mlx_audio/tts/tests/test_models.py | 224 | def run_sine_generator(): | CODE |
| MEDIUM | mlx_audio/tts/tests/test_models.py | 7034 | def _require_g2p(self): | CODE |
| LOW | mlx_audio/tts/tests/test_models.py | 229 | except Exception as exc: | CODE |
| LOW | mlx_audio/tts/tests/test_models.py | 3241 | except Exception: | CODE |
| LOW | mlx_audio/tts/tests/test_models.py | 3262 | except Exception: | CODE |
| LOW | mlx_audio/tts/tests/test_models.py | 7725 | except Exception: | CODE |
| LOW | …_audio/tts/models/chatterbox_turbo/chatterbox_turbo.py | 295 | except Exception as e: | CODE |
| LOW | …_audio/tts/models/chatterbox_turbo/chatterbox_turbo.py | 313 | except Exception as e: | CODE |
| LOW | …_audio/tts/models/chatterbox_turbo/chatterbox_turbo.py | 344 | except Exception as e: | CODE |
| LOW | …_audio/tts/models/chatterbox_turbo/chatterbox_turbo.py | 414 | except Exception as e: | CODE |
| LOW | …_audio/tts/models/chatterbox_turbo/chatterbox_turbo.py | 424 | except Exception as e: | CODE |
| LOW | …_audio/tts/models/chatterbox_turbo/chatterbox_turbo.py | 500 | except Exception as e: | CODE |
| LOW | …_audio/tts/models/chatterbox_turbo/chatterbox_turbo.py | 537 | except Exception as e: | CODE |
| LOW | …_audio/tts/models/chatterbox_turbo/chatterbox_turbo.py | 587 | except Exception as e: | CODE |
| LOW | …_audio/tts/models/chatterbox_turbo/chatterbox_turbo.py | 641 | except Exception as e: | CODE |
| LOW | …_audio/tts/models/chatterbox_turbo/chatterbox_turbo.py | 1301 | except Exception as e: | CODE |
| LOW⚡ | mlx_audio/tts/models/kitten_tts/istftnet.py | 169 | except Exception as e: | CODE |
| MEDIUM⚡ | mlx_audio/tts/models/kitten_tts/istftnet.py | 170 | print(f"Error: {e}") | CODE |
| LOW | mlx_audio/tts/models/kitten_tts/preprocess.py | 503 | except Exception: | CODE |
| LOW | mlx_audio/tts/models/kitten_tts/kitten_tts.py | 578 | except Exception: | CODE |
| LOW | mlx_audio/tts/models/omnivoice/omnivoice.py | 670 | except Exception as e: | CODE |
| LOW | mlx_audio/tts/models/omnivoice/omnivoice.py | 680 | except Exception as e: | CODE |
| LOW⚡ | mlx_audio/tts/models/irodori_tts/irodori_tts.py | 110 | except Exception as e: | CODE |
| LOW | mlx_audio/tts/models/echo_tts/echo_tts.py | 88 | except Exception: | CODE |
| LOW | mlx_audio/tts/models/chatterbox/chatterbox.py | 825 | except Exception as e: | CODE |
| MEDIUM | mlx_audio/tts/models/chatterbox/chatterbox.py | 826 | print(f"Error tokenizing text: {e}") | CODE |
| LOW | mlx_audio/tts/models/chatterbox/tokenizer.py | 135 | except Exception as e: | CODE |
| LOW | mlx_audio/tts/models/chatterbox/tokenizer.py | 187 | except Exception as e: | CODE |
| LOW | mlx_audio/tts/models/chatterbox/tokenizer.py | 255 | except Exception as e: | CODE |
| MEDIUM | mlx_audio/tts/models/chatterbox/tokenizer.py | 170 | def _load_cangjie_mapping(self, model_dir=None): | CODE |
| LOW⚡ | mlx_audio/tts/models/tada/tada.py | 1486 | except Exception as e: | CODE |
| LOW⚡ | mlx_audio/tts/models/tada/tada.py | 1492 | except Exception as e: | CODE |
| LOW | mlx_audio/tts/models/tada/tada.py | 485 | except Exception as e: | CODE |
| 58 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | mlx_audio/server.py | 929 | Remove a model from the API. Args: model_name (str): The name of the model to remove. Returns: | STRING |
| HIGH | mlx_audio/audio_io.py | 62 | Decode audio using ffmpeg (for formats not supported by miniaudio like M4A). Args: input_data: Path to the | STRING |
| HIGH | mlx_audio/utils.py | 114 | Ensures the model is available locally. If the path does not exist locally, it is downloaded from the Hugging F | STRING |
| HIGH | mlx_audio/utils.py | 156 | Load model configuration from a path or Hugging Face repo. Args: model_path: Local path or Hugging Face rep | STRING |
| HIGH | mlx_audio/utils.py | 180 | Load model weights from safetensors or npz files. Args: model_path: Path to the model directory Return | STRING |
| HIGH | mlx_audio/utils.py | 265 | Retrieve the model architecture module based on the model type and name. Args: model_type: The type of | STRING |
| HIGH | mlx_audio/utils.py | 648 | Load audio from file path or return mx.array as-is. Args: audio: Audio input - can be: - str: P | STRING |
| HIGH | mlx_audio/utils.py | 854 | Load a TTS, STT, STS, LID, or VAD model based on its configuration and name. Args: model_name (str): Name o | STRING |
| HIGH | mlx_audio/lid/models/wav2vec2/wav2vec_lid.py | 106 | Predict language from raw audio waveform. Automatically applies zero-mean unit-variance normalization b | STRING |
| HIGH | mlx_audio/tts/generate.py | 27 | Detect the start and end points of speech in an audio signal using RMS energy. Args: wav: Input audio signa | STRING |
| HIGH | mlx_audio/tts/generate.py | 71 | Remove silence from both ends of an audio signal. Args: wav: Input audio signal array sample_rate: | STRING |
| HIGH | mlx_audio/tts/utils.py | 72 | Retrieve the model architecture module based on the model type and name. This function attempts to find the ap | STRING |
| HIGH | mlx_audio/tts/utils.py | 106 | Load and initialize the model from a given path. Args: model_path (Path): The path to load the model f | STRING |
| HIGH | …odels/chatterbox/s3gen/transformer/upsample_encoder.py | 129 | Make mask tensor containing indices of padded part. Args: lengths: Batch of lengths (B,). max_len: | STRING |
| HIGH | …odels/chatterbox/s3gen/transformer/upsample_encoder.py | 164 | Create mask for subsequent steps (size, size) with chunk size. This is for streaming encoder. Args: si | STRING |
| HIGH | mlx_audio/tts/models/dia/config.py | 239 | Load and validate a Dia configuration from a JSON file. Args: path: The path to the configuration f | STRING |
| HIGH | mlx_audio/tts/models/dia/dia.py | 50 | Loads the Dia model from local configuration and checkpoint files. Args: config_path: Path to the c | STRING |
| HIGH | mlx_audio/tts/models/dia/dia.py | 85 | Loads the Dia model from a Hugging Face Hub repository. Downloads the configuration and checkpoint files from t | STRING |
| HIGH | mlx_audio/tts/models/kokoro/pipeline.py | 312 | Generate audio from either raw phonemes or pre-processed tokens. Args: tokens: Either a phoneme str | STRING |
| HIGH | mlx_audio/tts/models/spark/utils/audio.py | 144 | Detect the start and end points of speech in an audio signal using RMS energy. Args: wav: Input audio signa | STRING |
| HIGH | mlx_audio/tts/models/spark/utils/audio.py | 188 | Remove silence from both ends of an audio signal. Args: wav: Input audio signal array sample_rate: | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | mlx_audio/dsp.py | 10 | __all__ = [ | CODE |
| LOW | mlx_audio/utils.py | 707 | __all__ = [ | CODE |
| LOW | mlx_audio/codec/__init__.py | 11 | __all__ = [ | CODE |
| LOW | mlx_audio/codec/models/__init__.py | 10 | __all__ = [ | CODE |
| LOW | mlx_audio/codec/models/s3/__init__.py | 17 | __all__ = [ | CODE |
| LOW | mlx_audio/codec/models/fish_s1_dac/__init__.py | 3 | __all__ = ["DAC", "ModelArgs", "build_ae"] | CODE |
| LOW | mlx_audio/codec/models/moss_audio_tokenizer/__init__.py | 8 | __all__ = [ | CODE |
| LOW | mlx_audio/codec/models/higgs_audio/__init__.py | 11 | __all__ = [ | CODE |
| LOW | mlx_audio/codec/models/stepaudio2/__init__.py | 9 | __all__ = [ | CODE |
| LOW | mlx_audio/codec/models/ecapa_tdnn/__init__.py | 4 | __all__ = ["EcapaTdnnBackbone", "EcapaTdnnConfig"] | CODE |
| LOW | mlx_audio/lid/__init__.py | 3 | __all__ = ["load", "load_model"] | CODE |
| LOW | mlx_audio/tts/__init__.py | 3 | __all__ = ["load", "load_model"] | CODE |
| LOW | mlx_audio/tts/models/pocket_tts/conditioners.py | 10 | logger = logging.getLogger(__name__) | CODE |
| LOW | mlx_audio/tts/models/moss_tts_nano/__init__.py | 4 | __all__ = ["GPT2Config", "Model", "ModelConfig"] | CODE |
| LOW | mlx_audio/tts/models/bark/__init__.py | 4 | __all__ = ["Model", "Pipeline", "ModelConfig"] | CODE |
| LOW | …_audio/tts/models/chatterbox_turbo/chatterbox_turbo.py | 24 | logger = logging.getLogger(__name__) | CODE |
| LOW | mlx_audio/tts/models/chatterbox_turbo/__init__.py | 11 | __all__ = [ | CODE |
| LOW | …x_audio/tts/models/chatterbox_turbo/models/__init__.py | 7 | __all__ = [ | CODE |
| LOW | …models/chatterbox_turbo/models/s3tokenizer/__init__.py | 19 | __all__ = [ | CODE |
| LOW | …udio/tts/models/chatterbox_turbo/models/t3/__init__.py | 8 | __all__ = [ | CODE |
| LOW | …dels/chatterbox_turbo/models/voice_encoder/__init__.py | 7 | __all__ = [ | CODE |
| LOW | …o/tts/models/chatterbox_turbo/models/s3gen/__init__.py | 17 | __all__ = [ | CODE |
| LOW | …_audio/tts/models/chatterbox_turbo/models/s3gen/mel.py | 12 | logger = logging.getLogger(__name__) | CODE |
| LOW | …udio/tts/models/chatterbox_turbo/models/s3gen/s3gen.py | 19 | logger = logging.getLogger(__name__) | CODE |
| LOW | mlx_audio/tts/models/kugelaudio/__init__.py | 4 | __all__ = ["Model", "ModelConfig"] | CODE |
| LOW | mlx_audio/tts/models/kitten_tts/__init__.py | 3 | __all__ = ["Model", "ModelConfig"] | CODE |
| LOW | mlx_audio/tts/models/vibevoice/__init__.py | 9 | __all__ = [ | CODE |
| LOW | mlx_audio/tts/models/zonos2/convert.py | 233 | def update_largest(key: str, value: mx.array) -> None: | CODE |
| LOW | mlx_audio/tts/models/zonos2/__init__.py | 4 | __all__ = ["Model", "ModelConfig", "Zonos2Config"] | CODE |
| LOW | mlx_audio/tts/models/omnivoice/__init__.py | 7 | __all__ = ["Model", "ModelConfig", "OmniVoiceConfig", "create_voice_clone_prompt"] | CODE |
| LOW | mlx_audio/tts/models/omnivoice/utils.py | 8 | logger = logging.getLogger(__name__) | CODE |
| LOW | mlx_audio/tts/models/qwen3/__init__.py | 3 | __all__ = ["Model", "ModelConfig"] | CODE |
| LOW | mlx_audio/tts/models/higgs_audio/__init__.py | 14 | __all__ = [ | CODE |
| LOW | mlx_audio/tts/models/chatterbox/__init__.py | 5 | __all__ = ["Model", "ModelConfig", "convert_from_source"] | CODE |
| LOW | mlx_audio/tts/models/chatterbox/tokenizer.py | 19 | logger = logging.getLogger(__name__) | CODE |
| LOW | mlx_audio/tts/models/chatterbox/s3tokenizer/__init__.py | 17 | __all__ = [ | CODE |
| LOW | mlx_audio/tts/models/chatterbox/t3/__init__.py | 6 | __all__ = [ | CODE |
| LOW | …_audio/tts/models/chatterbox/voice_encoder/__init__.py | 5 | __all__ = ["VoiceEncoder", "VoiceEncConfig", "melspectrogram"] | CODE |
| LOW | mlx_audio/tts/models/chatterbox/s3gen/__init__.py | 10 | __all__ = [ | CODE |
| LOW | …io/tts/models/chatterbox/s3gen/transformer/__init__.py | 10 | __all__ = [ | CODE |
| LOW | …x_audio/tts/models/chatterbox/s3gen/matcha/__init__.py | 12 | __all__ = [ | CODE |
| LOW | mlx_audio/tts/models/dense/__init__.py | 3 | __all__ = ["Model", "ModelConfig"] | CODE |
| LOW | mlx_audio/tts/models/confucius4/__init__.py | 4 | __all__ = ["Model", "ModelConfig"] | CODE |
| LOW | mlx_audio/tts/models/melotts/__init__.py | 3 | __all__ = ["Model", "ModelConfig"] | CODE |
| LOW | mlx_audio/tts/models/moss_tts_delay/__init__.py | 3 | __all__ = ["Model", "ModelConfig"] | CODE |
| LOW | mlx_audio/tts/models/higgs_audio_v3/__init__.py | 12 | __all__ = [ | CODE |
| LOW | mlx_audio/tts/models/tada/__init__.py | 4 | __all__ = ["Model", "ModelConfig"] | CODE |
| LOW | mlx_audio/tts/models/qwen3_tts/__init__.py | 3 | __all__ = ["Model", "ModelConfig"] | CODE |
| LOW | mlx_audio/tts/models/moss_tts/__init__.py | 4 | __all__ = ["Model", "ModelConfig"] | CODE |
| LOW | mlx_audio/tts/models/dramabox/__init__.py | 4 | __all__ = ["Model", "ModelConfig"] | CODE |
| LOW | mlx_audio/tts/models/bailingmm/__init__.py | 18 | __all__ = ["Model", "ModelConfig", "convert_campplus_onnx_to_safetensors"] | CODE |
| LOW | mlx_audio/tts/models/moss_tts_local/__init__.py | 3 | __all__ = ["Model", "ModelConfig"] | CODE |
| LOW | mlx_audio/tts/models/sesame/__init__.py | 3 | __all__ = ["Model"] | CODE |
| LOW | mlx_audio/tts/models/fish_qwen3_omni/__init__.py | 4 | __all__ = ["Model", "ModelConfig"] | CODE |
| LOW | mlx_audio/tts/models/kokoro/__init__.py | 4 | __all__ = ["KokoroPipeline", "Model", "ModelConfig"] | CODE |
| LOW | mlx_audio/tts/models/indextts/__init__.py | 3 | __all__ = ["Model", "ModelArgs"] | CODE |
| LOW | mlx_audio/tts/models/llama/__init__.py | 3 | __all__ = ["Model", "ModelConfig"] | CODE |
| LOW | mlx_audio/vad/__init__.py | 3 | __all__ = ["load", "load_model"] | CODE |
| LOW | mlx_audio/vad/models/silero_vad/__init__.py | 10 | __all__ = [ | CODE |
| LOW | mlx_audio/vad/models/sortformer/__init__.py | 9 | __all__ = [ | CODE |
| 31 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | mlx_audio/codec/models/snac/vq.py | 44 | # Create a new tensor with the expanded shape | COMMENT |
| MEDIUM | mlx_audio/tts/tests/test_models.py | 16 | # Create a patch for the deprecated open_text function | COMMENT |
| MEDIUM | mlx_audio/tts/tests/test_models.py | 194 | # Create a mock output | COMMENT |
| MEDIUM | mlx_audio/tts/tests/test_models.py | 388 | # Create a mock output | COMMENT |
| MEDIUM | mlx_audio/tts/tests/test_models.py | 393 | # Create a Result instance | COMMENT |
| MEDIUM | mlx_audio/tts/tests/test_models.py | 535 | # Create a minimal config | COMMENT |
| MEDIUM | mlx_audio/tts/tests/test_models.py | 721 | # Create a minimal config | COMMENT |
| MEDIUM | mlx_audio/tts/tests/test_models.py | 775 | # Create a config with tie_word_embeddings=True | COMMENT |
| MEDIUM | mlx_audio/tts/tests/test_models.py | 869 | # Create a minimal config | COMMENT |
| MEDIUM | mlx_audio/tts/tests/test_models.py | 1031 | # Create a minimal config | COMMENT |
| MEDIUM | mlx_audio/tts/tests/test_models.py | 1146 | # Create a config instance | COMMENT |
| MEDIUM | mlx_audio/tts/tests/test_models.py | 2347 | # Create a simple test audio | COMMENT |
| MEDIUM | mlx_audio/tts/tests/test_base.py | 13 | # Define a test subclass | COMMENT |
| MEDIUM | mlx_audio/tts/tests/test_interpolate.py | 42 | # Create a simple test array | COMMENT |
| MEDIUM | mlx_audio/tts/tests/test_interpolate.py | 63 | # Create a simple test array | COMMENT |
| MEDIUM | mlx_audio/tts/models/qwen3/qwen3.py | 142 | # Create a mask and filter manually since boolean indexing isn't supported | COMMENT |
| MEDIUM | mlx_audio/tts/models/dia/dia.py | 510 | # Create a mask for setting tokens beyond 1025 to -inf | COMMENT |
| MEDIUM | mlx_audio/tts/models/spark/modules/blocks/sampler.py | 61 | # Create a new tensor with the expanded shape | COMMENT |
| MEDIUM | mlx_audio/tts/models/llama/llama.py | 174 | # Create a mask and filter manually since boolean indexing isn't supported | COMMENT |
| MEDIUM | mlx_audio/sts/models/sam_audio/model.py | 928 | # Create the generator | COMMENT |
| MEDIUM | mlx_audio/sts/models/mossformer2_se/mossformerblock.py | 74 | # Create a list of attention layers using FLASH_ShareA_FFConvM | COMMENT |
| MEDIUM | …dio/sts/models/mossformer2_se/mossformerblock_gfsmn.py | 65 | # Create a list of Gated FSMN blocks | COMMENT |
| MEDIUM | …dio/sts/models/mossformer2_se/mossformerblock_gfsmn.py | 73 | # Create a list of attention layers using FLASH_ShareA_FFConvM | COMMENT |
| MEDIUM | mlx_audio/stt/models/vibevoice_asr/audio_encoder.py | 68 | # Create the convolution layer (no padding in conv, we'll handle it manually) | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | mlx_audio/audio_io.py | 213 | # Check if this is a file that needs ffmpeg | COMMENT |
| LOW⚡ | mlx_audio/base.py | 21 | # Check if the shape has 4 dimensions | COMMENT |
| LOW⚡ | mlx_audio/base.py | 24 | # Check if out_channels is the largest, and kH and KW are the same | COMMENT |
| LOW⚡ | mlx_audio/base.py | 29 | # Check if the shape has 3 dimensions | COMMENT |
| LOW⚡ | mlx_audio/base.py | 32 | # Check if out_channels is the largest | COMMENT |
| LOW | mlx_audio/codec/models/s3/model_v2.py | 364 | # Check if any audio exceeds 30 seconds | COMMENT |
| LOW | mlx_audio/tests/test_audio_io.py | 13 | # Check if ffmpeg is available for optional tests | COMMENT |
| LOW | mlx_audio/tts/models/base.py | 24 | # Check if the shape has 4 dimensions | COMMENT |
| LOW | mlx_audio/tts/models/base.py | 30 | # Check if out_channels is the largest, and kH and KW are the same | COMMENT |
| LOW | …_audio/tts/models/chatterbox_turbo/chatterbox_turbo.py | 121 | # Check if first argument is a config dict (from load_model) | COMMENT |
| LOW | mlx_audio/tts/models/kugelaudio/kugelaudio.py | 428 | # Check if target key exists | COMMENT |
| LOW⚡ | mlx_audio/tts/models/kitten_tts/istftnet.py | 162 | # Check if channels last match or if groups > 1 for ConvTransposed1d | COMMENT |
| LOW | mlx_audio/tts/models/kitten_tts/istftnet.py | 990 | # Check if this block has upsampling | COMMENT |
| LOW | mlx_audio/tts/models/vibevoice/vibevoice.py | 263 | # Check if key exists in model | COMMENT |
| LOW | mlx_audio/tts/models/vibevoice/vibevoice.py | 279 | # Check if it's a transposed conv weight | COMMENT |
| LOW | mlx_audio/tts/models/qwen3/qwen3.py | 128 | # Check if we found any tokens BEFORE converting to MLX array | COMMENT |
| LOW | mlx_audio/tts/models/chatterbox/chatterbox.py | 161 | # Check if first argument is a config | COMMENT |
| LOW | mlx_audio/tts/models/chatterbox/chatterbox.py | 419 | # Check if we have quantized weights (scales) for this path | COMMENT |
| LOW | mlx_audio/tts/models/chatterbox/chatterbox.py | 480 | # Check if multilingual model from config.json | COMMENT |
| LOW | mlx_audio/tts/models/chatterbox/chatterbox.py | 526 | # Check if multilingual model from config..json | COMMENT |
| LOW | mlx_audio/tts/models/chatterbox/t3/t3.py | 93 | # Check if already converted (idempotent) | COMMENT |
| LOW | mlx_audio/tts/models/chatterbox/s3gen/s3gen.py | 407 | # Check if this is ConvTranspose (ups) or regular Conv | COMMENT |
| LOW | …udio/tts/models/chatterbox/s3gen/matcha/transformer.py | 65 | # Check if it's additive bias (contains large negative values) | COMMENT |
| LOW | mlx_audio/tts/models/outetts/audio_processor.py | 158 | if audio.size == 0: # Check if array is empty | CODE |
| LOW | mlx_audio/tts/models/qwen3_tts/qwen3_tts.py | 1241 | # Check if we should use ICL mode | COMMENT |
| LOW⚡ | mlx_audio/tts/models/kokoro/istftnet.py | 160 | # Check if channels last match or if groups > 1 for ConvTransposed1d | COMMENT |
| LOW | mlx_audio/tts/models/kokoro/istftnet.py | 969 | # Check if this block has upsampling | COMMENT |
| LOW | mlx_audio/tts/models/kokoro/pipeline.py | 177 | # Check if voice exists in local snapshot first | COMMENT |
| LOW | mlx_audio/tts/models/spark/utils/file.py | 61 | # Open the file for reading | COMMENT |
| LOW | mlx_audio/tts/models/spark/utils/file.py | 116 | # Check if there is a base configuration specified and merge if necessary | COMMENT |
| LOW | mlx_audio/tts/models/spark/utils/file.py | 169 | # Set headers to keys from the first dictionary in data if not explicitly provided | COMMENT |
| LOW | mlx_audio/tts/models/spark/modules/residual.py | 130 | # Check if indices are empty | COMMENT |
| LOW | mlx_audio/tts/models/voxcpm/audio_vae.py | 538 | # Check if this is a 3D weight that needs transposition by comparing with model shape | COMMENT |
| LOW | mlx_audio/sts/models/sam_audio/processor.py | 33 | # Check if file exists first | COMMENT |
| LOW | mlx_audio/sts/models/sam_audio/model.py | 507 | ] = None, # Set it to 50 for better performance | CODE |
| LOW | mlx_audio/sts/models/deepfilternet/network.py | 310 | # Check if separable (has pointwise conv at index '2') | COMMENT |
| LOW | …udio/sts/models/mossformer2_se/flash_sharea_ffconvm.py | 230 | # Check if it's mlx.nn.RoPE or custom implementation | COMMENT |
| LOW | mlx_audio/sts/models/mossformer2_se/model.py | 235 | # Check if segmented processing is needed | COMMENT |
| LOW | mlx_audio/sts/models/mossformer2_se/mossformerm.py | 92 | # Set MossFormerBlock to eval mode | COMMENT |
| LOW | mlx_audio/sts/models/mossformer2_se/mossformerm.py | 99 | # Set MossFormerBlock to train mode | COMMENT |
| LOW | mlx_audio/stt/models/qwen3_asr/config.py | 100 | # Check if this is a forced aligner config | COMMENT |
| LOW | mlx_audio/stt/models/whisper/whisper.py | 291 | # Check if this is HuggingFace format (has d_model or encoder_layers) | COMMENT |
| LOW | mlx_audio/stt/models/whisper/whisper.py | 576 | # Check if this is HuggingFace format (has 'model.' prefix) | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | …io/tts/models/chatterbox_turbo/models/s3gen/xvector.py | 194 | # Step 1: Remove DC offset per frame (before preemphasis) | COMMENT |
| LOW⚡ | …io/tts/models/chatterbox_turbo/models/s3gen/xvector.py | 198 | # Step 2: Apply preemphasis PER FRAME (Kaldi applies it after framing) | COMMENT |
| LOW⚡ | …io/tts/models/chatterbox_turbo/models/s3gen/xvector.py | 209 | # Step 3: Apply window | COMMENT |
| LOW⚡ | …io/tts/models/chatterbox_turbo/models/s3gen/xvector.py | 212 | # Step 4: Pad to FFT length | COMMENT |
| LOW⚡ | …io/tts/models/chatterbox_turbo/models/s3gen/xvector.py | 216 | # Step 5: Compute FFT and get magnitude/power spectrum | COMMENT |
| LOW⚡ | …io/tts/models/chatterbox_turbo/models/s3gen/xvector.py | 222 | # Step 6: Apply mel filterbank | COMMENT |
| LOW⚡ | …io/tts/models/chatterbox_turbo/models/s3gen/xvector.py | 225 | # Step 7: Apply log with epsilon floor | COMMENT |
| LOW⚡ | mlx_audio/sts/models/mel_roformer/model.py | 587 | # Step 1: STFT → real/imag [B, 2, freq_bins, T] | COMMENT |
| LOW⚡ | mlx_audio/sts/models/mel_roformer/model.py | 593 | # Step 2: CaC interleave — [B, 2, freq_bins, T] → [B, freq_bins*2, T] | COMMENT |
| LOW⚡ | mlx_audio/sts/models/mel_roformer/model.py | 600 | # Step 3: BandSplit → [B, T, num_bands, dim] | COMMENT |
| LOW⚡ | mlx_audio/sts/models/mel_roformer/model.py | 605 | # Step 4: 6× dual-axis transformer | COMMENT |
| LOW⚡ | mlx_audio/sts/models/mel_roformer/model.py | 617 | # Step 5: Mask estimation → list of [B, T, band_dim] | COMMENT |
| LOW⚡ | mlx_audio/sts/models/mel_roformer/model.py | 620 | # Step 6: Merge masks → [B, freq_bins*2, T, 2] | COMMENT |
| LOW⚡ | mlx_audio/sts/models/mel_roformer/model.py | 623 | # Step 7: Complex multiply (input × mask) | COMMENT |
| LOW⚡ | mlx_audio/sts/models/mel_roformer/model.py | 632 | # Step 8: De-interleave → [B, 2, freq_bins, T] | COMMENT |
| LOW⚡ | mlx_audio/sts/models/mel_roformer/model.py | 636 | # Step 9: iSTFT → [B, 2, samples] | COMMENT |
| LOW⚡ | …o/sts/models/mossformer2_se/flash_attention_kernels.py | 113 | # Step 1: Q @ K^T scaled | COMMENT |
| LOW⚡ | …o/sts/models/mossformer2_se/flash_attention_kernels.py | 116 | # Step 2: Apply fused ReLU² kernel | COMMENT |
| LOW | …o/sts/models/mossformer2_se/flash_attention_kernels.py | 131 | # Step 3: Attention @ V | COMMENT |
| LOW | mlx_audio/stt/models/qwen3_asr/qwen3_asr.py | 975 | # Step 1: Encode audio features | COMMENT |
| LOW | mlx_audio/stt/models/qwen3_asr/qwen3_asr.py | 989 | # Step 2: Build input embeddings with audio merged | COMMENT |
| LOW | docs/contributing/adding-a-model.md | 28 | ## Step 1: Create the Model Package | COMMENT |
| LOW | docs/contributing/adding-a-model.md | 39 | ## Step 2: Implement the Model | COMMENT |
| LOW | docs/contributing/adding-a-model.md | 128 | ## Step 3: Register the Model | COMMENT |
| LOW | docs/contributing/adding-a-model.md | 165 | ## Step 4: Convert and Test | COMMENT |
| LOW | docs/contributing/adding-a-model.md | 210 | ## Step 5: Add Documentation | COMMENT |
| LOW⚡ | docs/models/tts/omnivoice.md | 45 | # Step 1: Preprocess reference audio (silence removal, RMS norm) | COMMENT |
| LOW⚡ | docs/models/tts/omnivoice.md | 49 | # Step 2: Decode preprocessed tokens back to audio, then transcribe | COMMENT |
| LOW⚡ | docs/models/tts/omnivoice.md | 59 | # Step 3: Generate with ref_tokens + ref_text from the same source | COMMENT |
| LOW | examples/qwen3_asr_transcription.py | 55 | # Step 1: Transcribe audio with Qwen3-ASR | COMMENT |
| LOW | examples/qwen3_asr_transcription.py | 90 | # Step 2: Run forced alignment with Qwen3-ForcedAligner | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | …io/tts/models/chatterbox_turbo/models/s3gen/xvector.py | 194 | # Step 1: Remove DC offset per frame (before preemphasis) | COMMENT |
| LOW⚡ | …io/tts/models/chatterbox_turbo/models/s3gen/xvector.py | 198 | # Step 2: Apply preemphasis PER FRAME (Kaldi applies it after framing) | COMMENT |
| LOW⚡ | …io/tts/models/chatterbox_turbo/models/s3gen/xvector.py | 209 | # Step 3: Apply window | COMMENT |
| LOW⚡ | …io/tts/models/chatterbox_turbo/models/s3gen/xvector.py | 212 | # Step 4: Pad to FFT length | COMMENT |
| LOW⚡ | …io/tts/models/chatterbox_turbo/models/s3gen/xvector.py | 216 | # Step 5: Compute FFT and get magnitude/power spectrum | COMMENT |
| LOW⚡ | …io/tts/models/chatterbox_turbo/models/s3gen/xvector.py | 222 | # Step 6: Apply mel filterbank | COMMENT |
| LOW⚡ | …io/tts/models/chatterbox_turbo/models/s3gen/xvector.py | 225 | # Step 7: Apply log with epsilon floor | COMMENT |
| LOW⚡ | mlx_audio/sts/models/mel_roformer/model.py | 587 | # Step 1: STFT → real/imag [B, 2, freq_bins, T] | COMMENT |
| LOW⚡ | mlx_audio/sts/models/mel_roformer/model.py | 593 | # Step 2: CaC interleave — [B, 2, freq_bins, T] → [B, freq_bins*2, T] | COMMENT |
| LOW⚡ | mlx_audio/sts/models/mel_roformer/model.py | 600 | # Step 3: BandSplit → [B, T, num_bands, dim] | COMMENT |
| LOW⚡ | mlx_audio/sts/models/mel_roformer/model.py | 605 | # Step 4: 6× dual-axis transformer | COMMENT |
| LOW⚡ | mlx_audio/sts/models/mel_roformer/model.py | 617 | # Step 5: Mask estimation → list of [B, T, band_dim] | COMMENT |
| LOW⚡ | mlx_audio/sts/models/mel_roformer/model.py | 620 | # Step 6: Merge masks → [B, freq_bins*2, T, 2] | COMMENT |
| LOW⚡ | mlx_audio/sts/models/mel_roformer/model.py | 623 | # Step 7: Complex multiply (input × mask) | COMMENT |
| LOW⚡ | mlx_audio/sts/models/mel_roformer/model.py | 632 | # Step 8: De-interleave → [B, 2, freq_bins, T] | COMMENT |
| LOW⚡ | mlx_audio/sts/models/mel_roformer/model.py | 636 | # Step 9: iSTFT → [B, 2, samples] | COMMENT |
| LOW⚡ | …o/sts/models/mossformer2_se/flash_attention_kernels.py | 113 | # Step 1: Q @ K^T scaled | COMMENT |
| LOW⚡ | …o/sts/models/mossformer2_se/flash_attention_kernels.py | 116 | # Step 2: Apply fused ReLU² kernel | COMMENT |
| LOW | …o/sts/models/mossformer2_se/flash_attention_kernels.py | 131 | # Step 3: Attention @ V | COMMENT |
| LOW | mlx_audio/stt/models/qwen3_asr/qwen3_asr.py | 975 | # Step 1: Encode audio features | COMMENT |
| LOW | mlx_audio/stt/models/qwen3_asr/qwen3_asr.py | 989 | # Step 2: Build input embeddings with audio merged | COMMENT |
| LOW | examples/qwen3_asr_transcription.py | 55 | # Step 1: Transcribe audio with Qwen3-ASR | COMMENT |
| LOW | examples/qwen3_asr_transcription.py | 90 | # Step 2: Run forced alignment with Qwen3-ForcedAligner | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | mlx_audio/server.py | 1814 | # Manual-commit mode (turn_detection: null): no VAD, so | COMMENT |
| HIGH | mlx_audio/realtime_vad.py | 187 | events.extend(self._detector.push(prob, VAD_FRAME_MS)) | CODE |
| HIGH⚡ | mlx_audio/tests/test_realtime_vad.py | 73 | events.extend(detector.push(p, frame_ms)) | CODE |
| HIGH | mlx_audio/sts/voice_pipeline.py | 234 | for chunk in self.chunker.push(samples): | CODE |
| HIGH | …o/sts/models/mossformer2_se/depthwise_conv1d_kernel.py | 31 | if (batch >= B || time >= L_out || chan >= C) { | CODE |
| HIGH | …o/sts/models/mossformer2_se/depthwise_conv1d_kernel.py | 41 | if (in_time >= 0 && in_time < L_in) { | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | mlx_audio/lid/utils.py | 0 | load and initialize an stt model from a given path. args: model_path: the path or huggingface repo to load the model fro | STRING |
| HIGH | mlx_audio/vad/utils.py | 0 | load and initialize an stt model from a given path. args: model_path: the path or huggingface repo to load the model fro | STRING |
| HIGH | mlx_audio/stt/utils.py | 0 | load and initialize an stt model from a given path. args: model_path: the path or huggingface repo to load the model fro | STRING |
| HIGH | mlx_audio/tts/models/qwen3/qwen3.py | 0 | hook called after model weights are loaded. used to initialize the tokenizer which is required for text input. | STRING |
| HIGH | mlx_audio/tts/models/spark/spark.py | 0 | hook called after model weights are loaded. used to initialize the tokenizer which is required for text input. | STRING |
| HIGH | mlx_audio/tts/models/voxcpm/voxcpm.py | 0 | hook called after model weights are loaded. used to initialize the tokenizer which is required for text input. | STRING |
| HIGH | mlx_audio/stt/models/glmasr/glmasr.py | 0 | hook called after model weights are loaded. used to initialize the tokenizer which is required for text input. | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | mlx_audio/tts/tests/test_models.py | 7652 | # Simulate zero-shot input | COMMENT |
| MEDIUM | mlx_audio/tts/models/voxcpm2/voxcpm2.py | 616 | # In zero-shot/ref modes, warmup patches are generated for conditioning | COMMENT |
| MEDIUM | mlx_audio/tts/models/tada/tada.py | 1334 | # For zero-shot: skip structural prefix features | COMMENT |
| MEDIUM | mlx_audio/stt/models/whisper/whisper.py | 1173 | # skip silence before possible hallucinations | COMMENT |
| MEDIUM | mlx_audio/stt/models/whisper/whisper.py | 1188 | # if first segment might be a hallucination, skip leading silence | COMMENT |
| MEDIUM | mlx_audio/stt/models/whisper/whisper.py | 1200 | # skip silence before any possible hallucination that is surrounded | COMMENT |
| MEDIUM | mlx_audio/stt/models/whisper/whisper.py | 1201 | # by silence or more hallucinations | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …udio/tts/models/chatterbox_turbo/models/s3gen/s3gen.py | 441 | COMMENT | |
| LOW | mlx_audio/tts/models/omnivoice/duration.py | 1 | #!/usr/bin/env python3 | COMMENT |
| LOW | mlx_audio/tts/models/chatterbox/s3gen/s3gen.py | 361 | ) | COMMENT |
| LOW | mlx_audio/tts/models/spark/utils/audio.py | 1 | # Copyright (c) 2025 SparkAudio | COMMENT |
| LOW | …/tts/models/spark/modules/speaker/perceiver_encoder.py | 1 | # Copyright (c) 2025 SparkAudio | COMMENT |
| LOW | …x_audio/tts/models/spark/modules/speaker/ecapa_tdnn.py | 1 | # Copyright (c) 2021 Zhengyang Chen (chenzhengyang117@gmail.com) | COMMENT |
| LOW | …x_audio/tts/models/spark/modules/speaker/ecapa_tdnn.py | 281 | # x_np = torch.randn(1, 200, 80) | COMMENT |
| LOW | …dio/tts/models/spark/modules/speaker/pooling_layers.py | 1 | # Copyright (c) 2021 Shuai Wang (wsstriving@gmail.com) | COMMENT |
| LOW | …io/tts/models/spark/modules/speaker/speaker_encoder.py | 1 | # Copyright (c) 2025 SparkAudio | COMMENT |
| LOW | …s/models/spark/modules/encoder_decoder/feat_decoder.py | 1 | # Copyright (c) 2025 SparkAudio | COMMENT |
| LOW | …s/models/spark/modules/encoder_decoder/feat_encoder.py | 1 | # Copyright (c) 2025 SparkAudio | COMMENT |
| LOW | mlx_audio/vad/models/sortformer/convert.py | 41 | # | COMMENT |
| LOW | mlx_audio/vad/models/fsmn/convert.py | 41 | # 2. 去掉多余的 ".linear" (in_linear1.linear.weight → in_linear1.weight) | COMMENT |
| LOW | mlx_audio/sts/models/sam_audio/model.py | 1301 | ) | COMMENT |
| LOW | …udio/sts/models/mossformer2_se/flash_sharea_ffconvm.py | 341 | # Compute k^T @ v: (batch, query_key_dim, value_dim) | COMMENT |
| LOW | mlx_audio/stt/models/vibevoice_asr/vibevoice_asr.py | 221 | # Create padded speech features matching text_embeds shape | COMMENT |
| LOW | …_audio/stt/models/voxtral_realtime/voxtral_realtime.py | 581 | # Precompute mel filters | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | mlx_audio/tts/models/sesame/sesame.py | 672 | # This applies an imperceptible watermark to identify audio as AI-generated. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | mlx_audio/tts/models/voxcpm/audio_vae.py | 228 | # I'll implement it just in case. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | mlx_audio/tts/models/voxcpm2/README.md | 88 | --ref_text "placeholder" \ | CODE |
| LOW | mlx_audio/tts/models/kitten_tts/preprocess.py | 669 | "555-1234" → "five five five one two three four" | STRING |