Repository Analysis

fishaudio/fish-speech

SOTA Open Source TTS

6.3 Low AI signal View on GitHub
6.3
Adjusted Score
6.3
Raw Score
100%
Time Factor
2026-05-26
Last Push
30,601
Stars
Python
Language
24,766
Lines of Code
154
Files
123
Pattern Hits
2026-05-31
Scan Date

Score History

Severity Breakdown

CRITICAL 0HIGH 3MEDIUM 9LOW 111

Pattern Findings

123 matches across 10 categories. Click a row to expand file-level details.

Unused Imports52 hits · 52 pts
SeverityFileLineSnippet
LOWtools/api_server.py10
LOWtools/api_client.py2
LOWtools/vqgan/extract_vq.py8
LOWtools/server/model_utils.py2
LOWtools/server/model_utils.py6
LOWtools/server/views.py4
LOWtools/server/views.py27
LOWtools/llama/merge_lora.py1
LOWtools/llama/merge_lora.py6
LOWtools/llama/merge_lora.py13
LOWtools/llama/build_dataset.py5
LOWfish_speech/conversation.py8
LOWfish_speech/tokenizer.py1
LOWfish_speech/tokenizer.py3
LOWfish_speech/tokenizer.py10
LOWfish_speech/train.py4
LOWfish_speech/train.py13
LOWfish_speech/callbacks/grad_norm.py3
LOWfish_speech/callbacks/__init__.py1
LOWfish_speech/callbacks/__init__.py2
LOWfish_speech/datasets/concat_repeat.py2
LOWfish_speech/datasets/semantic.py3
LOWfish_speech/datasets/semantic.py9
LOWfish_speech/datasets/semantic.py12
LOWfish_speech/datasets/semantic.py13
LOWfish_speech/datasets/semantic.py615
LOWfish_speech/utils/__init__.py1
LOWfish_speech/utils/__init__.py2
LOWfish_speech/utils/__init__.py3
LOWfish_speech/utils/__init__.py4
LOWfish_speech/utils/__init__.py4
LOWfish_speech/utils/__init__.py5
LOWfish_speech/utils/__init__.py6
LOWfish_speech/utils/__init__.py7
LOWfish_speech/utils/__init__.py7
LOWfish_speech/utils/__init__.py8
LOWfish_speech/utils/__init__.py8
LOWfish_speech/utils/__init__.py8
LOWfish_speech/utils/__init__.py8
LOWfish_speech/utils/spectrogram.py4
LOWfish_speech/utils/schema.py2
LOWfish_speech/utils/schema.py3
LOWfish_speech/utils/schema.py4
LOWfish_speech/utils/schema.py7
LOWfish_speech/utils/schema.py12
LOWfish_speech/utils/schema.py12
LOWfish_speech/models/dac/modded_dac.py8
LOWfish_speech/models/text2semantic/lit_module.py1
LOWfish_speech/models/text2semantic/inference.py36
LOWfish_speech/models/text2semantic/inference.py36
LOWfish_speech/text/__init__.py1
LOWfish_speech/i18n/__init__.py1
Self-Referential Comments8 hits · 24 pts
SeverityFileLineSnippet
MEDIUMtools/run_webui.py76 # Create the inference engine
MEDIUMtools/vqgan/extract_vq.py23# This file is used to convert the audio files to text files using the Whisper model.
MEDIUMtools/server/views.py235 # Create a temporary file for the audio data
MEDIUMfish_speech/tokenizer.py81 # Create a lookup tensor to handle potential gaps in token IDs safely
MEDIUMfish_speech/inference_engine/reference_loader.py36 # Define the torchaudio backend
MEDIUMfish_speech/inference_engine/__init__.py166 # Create a queue to get the response
MEDIUMfish_speech/i18n/scan.py55# Define the standard file name
MEDIUMfish_speech/i18n/scan.py78# Define the standard file name
Excessive Try-Catch Wrapping21 hits · 22 pts
SeverityFileLineSnippet
LOWtools/api_server.py109 except Exception as exc:
LOWtools/vqgan/create_train_split.py48 except Exception as e:
LOWtools/vqgan/extract_vq.py101 except Exception as e:
LOWtools/server/api_utils.py146 except Exception as e:
LOWtools/server/views.py108 except Exception as e:
LOWtools/server/views.py139 except Exception as e:
LOWtools/server/views.py201 except Exception as e:
LOWtools/server/views.py271 except Exception as e:
LOWtools/server/views.py310 except Exception as e:
LOWtools/server/views.py372 except Exception as e:
LOWtools/server/views.py480 except Exception as e:
LOWtools/llama/build_dataset.py40 except Exception as e:
LOWtools/llama/build_dataset.py87 except Exception as e:
LOWfish_speech/datasets/vqgan.py70 except Exception as e:
MEDIUMfish_speech/datasets/vqgan.py67def __getitem__(self, idx):
LOWfish_speech/utils/utils.py72 except Exception as ex:
LOWfish_speech/utils/schema.py72 except Exception:
LOWfish_speech/models/text2semantic/llama.py507 except Exception as e:
LOWfish_speech/models/text2semantic/inference.py789 except Exception as e:
LOWfish_speech/inference_engine/reference_loader.py246 except Exception as e:
LOWfish_speech/inference_engine/reference_loader.py283 except Exception as e:
Redundant / Tautological Comments10 hits · 14 pts
SeverityFileLineSnippet
LOWtools/run_webui.py48 # Check if MPS or CUDA is available
LOWtools/vqgan/extract_vq.py37 import torchaudio.io._load_audio_fileobj # Check if ffmpeg backend is available
LOWtools/server/model_manager.py30 # Check if MPS or CUDA is available
LOWtools/server/views.py158 # Check if the text is too long
LOWtools/server/views.py165 # Check if streaming is enabled
LOWfish_speech/utils/schema.py69 ): # Check if audio is a string (Base64)
LOWfish_speech/inference_engine/reference_loader.py171 # Check if directory contains at least one audio file and corresponding .lab file
LOWfish_speech/inference_engine/reference_loader.py178 # Check if corresponding .lab file exists for at least one audio file
LOWfish_speech/inference_engine/reference_loader.py207 # Check if reference already exists
LOWfish_speech/inference_engine/reference_loader.py212 # Check if audio file exists
Deep Nesting14 hits · 14 pts
SeverityFileLineSnippet
LOWtools/vqgan/create_train_split.py20
LOWtools/server/api_utils.py83
LOWtools/webui/__init__.py9
LOWtools/llama/quantize.py267
LOWtools/llama/quantize.py310
LOWfish_speech/content_sequence.py86
LOWfish_speech/content_sequence.py326
LOWfish_speech/datasets/semantic.py118
LOWfish_speech/datasets/semantic.py341
LOWfish_speech/utils/logger.py27
LOWfish_speech/utils/braceexpand.py105
LOWfish_speech/utils/braceexpand.py156
LOWfish_speech/models/text2semantic/llama.py480
LOWfish_speech/models/text2semantic/inference.py839
Hyper-Verbose Identifiers13 hits · 13 pts
SeverityFileLineSnippet
LOWtools/server/model_utils.py55def cached_vqgan_batch_encode(model, audios: list[bytes]):
LOWtools/server/api_utils.py79async def buffer_to_async_generator(buffer):
LOWtools/llama/quantize.py22def dynamically_quantize_per_channel(x, quant_min, quant_max, target_dtype):
LOWtools/llama/quantize.py101def group_quantize_tensor_from_qparams(w, scales, zeros, n_bit=4, groupsize=128):
LOWtools/llama/quantize.py137def group_dequantize_tensor_from_qparams(
LOWtools/llama/quantize.py168 def create_quantized_state_dict(self) -> "StateDict":
LOWtools/llama/quantize.py195 def create_quantized_state_dict(self):
LOWtools/llama/quantize.py310 def create_quantized_state_dict(self):
LOWfish_speech/scheduler.py4def get_cosine_schedule_with_warmup_lr_lambda(
LOWfish_speech/scheduler.py28def get_constant_schedule_with_warmup_lr_lambda(
LOWfish_speech/models/dac/modded_dac.py225 def _compute_conformer_pos_scores(self, q: Tensor, seqlen: int) -> Tensor:
LOWfish_speech/models/text2semantic/llama.py948 def eq_scaled_dot_product_attention(
LOWfish_speech/models/text2semantic/inference.py43def multinomial_sample_one_no_sync(probs_sort):
Cross-Language Confusion2 hits · 10 pts
SeverityFileLineSnippet
HIGHtools/server/views.py70 {"error": "WebUI not built. Run: cd awesome_webui && npm run build"},
HIGHtools/webui/__init__.py17 js="() => {const params = new URLSearchParams(window.location.search);if (!params.has('__theme')) {params.se
Magic Placeholder Names1 hit · 5 pts
SeverityFileLineSnippet
HIGHtools/api_client.py133 default="YOUR_API_KEY",
Overly Generic Function Names1 hit · 1 pts
SeverityFileLineSnippet
LOWtools/llama/build_dataset.py65def run_task(task):
Over-Commented Block1 hit · 1 pts
SeverityFileLineSnippet
LOWfish_speech/configs/base.yaml81 # log_model: False # upload lightning ckpts