Buzz transcribes and translates audio offline on your personal computer. Powered by OpenAI's Whisper.
This report summarizes scanner evidence for chidiwilliams/buzz, a Python project with 21,913 GitHub stars. SynthScan examined 66,316 lines of code across 361 source files, recording 1736 pattern matches distributed across 15 syntactic categories. The legacy adjusted pattern signal is 30.6 (High 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.
Use each vector to guide manual verification of the underlying findings.
Can maintainers explain intent, assumptions, and trade-offs? 1423 finding(s).
Are imports declared and package/API names verified? 82 finding(s).
Are wrappers, guards, and repeated structures necessary? 1576 finding(s).
Which changes need focused human review? 1736 finding(s).
This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.
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.
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.
The scanner identified 1736 distinct pattern matches across 15 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.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/cache_test.py | 10 | def test_should_save_and_load(self, tmp_path): | CODE |
| LOW | tests/conftest.py | 65 | def transcription_segment_dao(db) -> TranscriptionSegmentDAO: | CODE |
| LOW⚡ | tests/gui_test.py | 53 | def test_should_show_sorted_whisper_languages(self, qtbot): | CODE |
| LOW⚡ | tests/gui_test.py | 60 | def test_should_select_en_as_default_language(self, qtbot): | CODE |
| LOW⚡ | tests/gui_test.py | 65 | def test_should_select_detect_language_as_default(self, qtbot): | CODE |
| LOW | tests/gui_test.py | 83 | def test_select_default_mic_when_no_default(self): | CODE |
| LOW | tests/gui_test.py | 97 | def test_should_check_for_updates(self, qtbot: QtBot): | CODE |
| LOW | tests/gui_test.py | 115 | def test_should_update_advanced_settings(self, qtbot: QtBot): | CODE |
| LOW | tests/gui_test.py | 156 | def test_should_update_selected_model_on_type(self, qtbot: QtBot): | CODE |
| LOW | tests/gui_test.py | 169 | def test_should_show_list_of_models(self, qtbot: QtBot): | CODE |
| LOW | tests/gui_test.py | 181 | def test_should_select_model_from_list(self, qtbot: QtBot): | CODE |
| LOW | tests/gui_test.py | 219 | def _set_text_and_wait_response(qtbot: QtBot, widget: HuggingFaceSearchLineEdit): | CODE |
| LOW | tests/gui_test.py | 226 | def test_should_update_model_type(self, qtbot): | CODE |
| LOW | tests/recording_test.py | 9 | def test_initial_buffer_is_empty(self): | CODE |
| LOW | tests/recording_test.py | 15 | def test_initial_accumulation_size_is_zero(self): | CODE |
| LOW | tests/recording_test.py | 26 | def test_emits_amplitude_changed(self): | CODE |
| LOW | tests/recording_test.py | 54 | def test_emits_average_amplitude_when_buffer_full(self): | CODE |
| LOW | tests/recording_test.py | 67 | def test_resets_buffer_after_emitting_average(self): | CODE |
| LOW | tests/recording_test.py | 77 | def test_does_not_emit_average_before_buffer_full(self): | CODE |
| LOW | tests/recording_test.py | 89 | def test_average_amplitude_is_rms_of_accumulated_buffer(self): | CODE |
| LOW | tests/recording_test.py | 106 | def test_accumulation_size_set_from_sample_rate(self): | CODE |
| LOW | tests/transformers_transcriber_test.py | 59 | def test_should_transcribe_parakeet(self): | CODE |
| LOW | tests/transformers_transcriber_test.py | 70 | def test_should_transcribe_orukeet(self, monkeypatch): | CODE |
| LOW | tests/transformers_transcriber_test.py | 89 | def test_should_transcribe_vibevoice(self): | CODE |
| LOW | tests/transformers_transcriber_test.py | 104 | def test_should_transcribe_qwen(self): | CODE |
| LOW⚡ | tests/model_loader_test.py | 56 | def test_empty_returns_english(self): | CODE |
| LOW⚡ | tests/model_loader_test.py | 59 | def test_two_letter_known_code(self): | CODE |
| LOW⚡ | tests/model_loader_test.py | 64 | def test_three_letter_code_returned_as_is(self): | CODE |
| LOW⚡ | tests/model_loader_test.py | 68 | def test_unknown_two_letter_code_returned_as_is(self): | CODE |
| LOW⚡ | tests/model_loader_test.py | 103 | def test_parakeet_in_model_id(self): | CODE |
| LOW⚡ | tests/model_loader_test.py | 106 | def test_parakeet_case_insensitive(self): | CODE |
| LOW⚡ | tests/model_loader_test.py | 112 | def test_orukeet_detected_from_downloaded_config(self, tmp_path): | CODE |
| LOW⚡ | tests/model_loader_test.py | 152 | def test_to_faster_whisper_model_size_large(self): | CODE |
| LOW⚡ | tests/model_loader_test.py | 155 | def test_to_faster_whisper_model_size_tiny(self): | CODE |
| LOW⚡ | tests/model_loader_test.py | 161 | def test_to_whisper_cpp_model_size_large(self): | CODE |
| LOW⚡ | tests/model_loader_test.py | 164 | def test_to_whisper_cpp_model_size_tiny(self): | CODE |
| LOW⚡ | tests/model_loader_test.py | 247 | def test_default_respects_model_type_env(self, monkeypatch): | CODE |
| LOW⚡ | tests/model_loader_test.py | 252 | def test_default_respects_model_size_env(self, monkeypatch): | CODE |
| LOW⚡ | tests/model_loader_test.py | 257 | def test_default_invalid_model_type_env_falls_back(self, monkeypatch): | CODE |
| LOW⚡ | tests/model_loader_test.py | 262 | def test_default_invalid_model_size_env_falls_back(self, monkeypatch): | CODE |
| LOW⚡ | tests/model_loader_test.py | 267 | def test_get_local_model_path_openai_api(self): | CODE |
| LOW⚡ | tests/model_loader_test.py | 277 | def test_unknown_size_returns_none(self): | CODE |
| LOW⚡ | tests/model_loader_test.py | 281 | def test_all_defined_sizes_have_values(self): | CODE |
| LOW⚡ | tests/model_loader_test.py | 309 | def test_lumii_uses_lumii_repo(self): | CODE |
| LOW⚡ | tests/model_loader_test.py | 314 | def test_lumii_on_coreml_uses_mac_repo(self): | CODE |
| LOW⚡ | tests/model_loader_test.py | 319 | def test_standard_size_on_coreml_stays_in_whisper_cpp_repo(self): | CODE |
| LOW⚡ | tests/model_loader_test.py | 338 | def test_reduce_gpu_memory_uses_quantized_model( | CODE |
| LOW⚡ | tests/model_loader_test.py | 347 | def test_reduce_gpu_memory_lumii(self, monkeypatch): | CODE |
| LOW⚡ | tests/model_loader_test.py | 353 | def test_reduce_gpu_memory_lumii_on_coreml_has_no_quantized_model(self, monkeypatch): | CODE |
| LOW⚡ | tests/model_loader_test.py | 359 | def test_reduce_gpu_memory_keeps_coreml_encoder_unquantized(self, monkeypatch): | CODE |
| LOW⚡ | tests/model_loader_test.py | 367 | def test_reduce_gpu_memory_disabled(self, monkeypatch): | CODE |
| LOW⚡ | tests/model_loader_test.py | 373 | def test_reduce_gpu_memory_unset(self, monkeypatch): | CODE |
| LOW⚡ | tests/model_loader_test.py | 381 | def test_custom_size_does_not_use_hugging_face(self): | CODE |
| LOW⚡ | tests/model_loader_test.py | 385 | def test_looks_up_size_named_file(self): | CODE |
| LOW⚡ | tests/model_loader_test.py | 395 | def test_looks_up_quantized_file_when_reducing_gpu_memory(self, monkeypatch): | CODE |
| LOW⚡ | tests/model_loader_test.py | 430 | def test_whisper_model_not_downloaded(self): | CODE |
| LOW⚡ | tests/model_loader_test.py | 435 | def test_whisper_model_downloaded(self): | CODE |
| LOW⚡ | tests/model_loader_test.py | 440 | def test_openai_api_not_deletable(self): | CODE |
| LOW⚡ | tests/model_loader_test.py | 444 | def test_hugging_face_not_deletable(self): | CODE |
| LOW⚡ | tests/model_loader_test.py | 453 | def test_whisper_cpp_file_not_exists(self): | CODE |
| 1285 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tests/conftest.py | 22 | except RuntimeError: | CODE |
| HIGH | tests/conftest.py | 125 | except OSError: | CODE |
| HIGH | tests/conftest.py | 115 | except OSError: | CODE |
| HIGH | tests/gui_test.py | 38 | except RuntimeError: | CODE |
| HIGH | tests/transcriber/recording_transcriber_test.py | 142 | except: | CODE |
| HIGH | tests/widgets/recording_transcriber_widget_test.py | 79 | except FileNotFoundError: | CODE |
| HIGH | buzz/transformers_whisper.py | 270 | except ValueError: | CODE |
| HIGH | buzz/recording.py | 62 | except RuntimeError: | CODE |
| HIGH | buzz/sounddevice_player.py | 239 | except Exception: | CODE |
| HIGH | buzz/cache.py | 56 | except (FileNotFoundError, json.JSONDecodeError): | CODE |
| HIGH | buzz/model_loader.py | 28 | except ImportError: | CODE |
| HIGH | buzz/model_loader.py | 70 | except ImportError: | CODE |
| HIGH | buzz/model_loader.py | 832 | except OSError: | CODE |
| HIGH | buzz/model_loader.py | 107 | except OSError: | CODE |
| HIGH | buzz/model_loader.py | 1165 | except OSError: | CODE |
| HIGH | buzz/model_loader.py | 1216 | except OSError: | CODE |
| HIGH | buzz/ffmpeg_video_player.py | 190 | except Exception: | CODE |
| HIGH | buzz/ffmpeg_video_player.py | 157 | except Exception: | CODE |
| HIGH | buzz/update_checker.py | 63 | except ValueError: | CODE |
| HIGH | buzz/cuda_manager.py | 142 | except (FileNotFoundError, subprocess.TimeoutExpired, OSError): | CODE |
| HIGH | buzz/file_transcriber_queue_worker.py | 28 | except ImportError: | CODE |
| HIGH | buzz/file_transcriber_queue_worker.py | 184 | except OSError: | CODE |
| HIGH | buzz/file_transcriber_queue_worker.py | 211 | except Exception: | CODE |
| HIGH | buzz/file_transcriber_queue_worker.py | 280 | except OSError: | CODE |
| HIGH | buzz/file_transcriber_queue_worker.py | 312 | except Exception: | CODE |
| HIGH | buzz/file_transcriber_queue_worker.py | 570 | except OSError: | CODE |
| HIGH | buzz/file_transcriber_queue_worker.py | 692 | except Exception: | CODE |
| HIGH | buzz/transcriber/whisper_file_transcriber.py | 72 | except (psutil.NoSuchProcess, psutil.AccessDenied): | CODE |
| HIGH | buzz/transcriber/whisper_file_transcriber.py | 81 | except (psutil.NoSuchProcess, psutil.AccessDenied): | CODE |
| HIGH | buzz/transcriber/whisper_file_transcriber.py | 168 | except OSError: | CODE |
| HIGH | buzz/transcriber/whisper_file_transcriber.py | 175 | except OSError: | CODE |
| HIGH | buzz/transcriber/whisper_file_transcriber.py | 152 | except OSError: | CODE |
| HIGH | buzz/widgets/transcription_tasks_table_widget.py | 87 | except (ValueError, OSError): | CODE |
| HIGH | buzz/widgets/transcription_tasks_table_widget.py | 522 | except Exception: | CODE |
| HIGH | buzz/widgets/transcription_tasks_table_widget.py | 534 | except Exception: | CODE |
| HIGH | buzz/widgets/transcription_tasks_table_widget.py | 773 | except ValueError: | CODE |
| HIGH | buzz/widgets/recording_transcriber_widget.py | 816 | except OSError: | CODE |
| HIGH | buzz/widgets/recording_transcriber_widget.py | 1213 | except RuntimeError: | CODE |
| HIGH | …/transcription_viewer/speaker_identification_widget.py | 21 | except ImportError: | CODE |
| HIGH | …/transcription_viewer/speaker_identification_widget.py | 353 | except (ImportError, AttributeError): | CODE |
| HIGH | …/transcription_viewer/speaker_identification_widget.py | 456 | except Exception: | CODE |
| HIGH | …/transcription_viewer/speaker_identification_widget.py | 449 | except Exception: | CODE |
| HIGH | …/transcription_viewer/speaker_identification_widget.py | 979 | except Exception: | CODE |
| HIGH | …ts/transcription_viewer/transcription_viewer_widget.py | 1763 | except Exception as e: | CODE |
| HIGH | buzz/store/keyring_store.py | 240 | except keyring.errors.PasswordDeleteError: | CODE |
| HIGH | buzz/store/keyring_store.py | 315 | except keyring.errors.PasswordDeleteError: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | hatch_build.py | 184 | print(f"Error building whisper.cpp: {e}", file=sys.stderr) | CODE |
| MEDIUM | hatch_build.py | 189 | print("Error: 'make' command not found. Please ensure make is installed.", file=sys.stderr) | CODE |
| MEDIUM | tests/recording_transcriber_test.py | 117 | def callback(): | CODE |
| LOW | tests/recording_transcriber_test.py | 121 | except Exception as e: | CODE |
| LOW | tests/widgets/main_window_test.py | 147 | except Exception: | CODE |
| LOW | tests/widgets/main_window_test.py | 170 | except Exception: | CODE |
| MEDIUM | scripts/build_ctc_forced_aligner.py | 137 | print(f"Error building ctc_forced_aligner: {e}", file=sys.stderr) | CODE |
| LOW | buzz/transformers_whisper.py | 731 | except Exception: | CODE |
| LOW | buzz/recording.py | 40 | except Exception as e: | CODE |
| MEDIUM | buzz/recording.py | 29 | def start_recording(self): | CODE |
| LOW | buzz/sounddevice_player.py | 104 | except Exception: | CODE |
| LOW | buzz/sounddevice_player.py | 120 | except Exception: | CODE |
| LOW | buzz/sounddevice_player.py | 169 | except Exception: | CODE |
| LOW | buzz/sounddevice_player.py | 195 | except Exception: | CODE |
| LOW | buzz/sounddevice_player.py | 239 | except Exception: | CODE |
| LOW⚡ | buzz/audio_devices.py | 56 | except Exception: | CODE |
| LOW⚡ | buzz/audio_devices.py | 62 | except Exception: | CODE |
| LOW⚡ | buzz/audio_devices.py | 67 | except Exception: | CODE |
| MEDIUM | buzz/cli.py | 52 | print(f"Error: {str(exc)}\n", file=sys.stderr) | CODE |
| LOW | buzz/model_loader.py | 30 | except Exception as e: | CODE |
| LOW | buzz/model_loader.py | 72 | except Exception as e: | CODE |
| LOW | buzz/model_loader.py | 116 | except Exception as e: | CODE |
| LOW | buzz/model_loader.py | 312 | except Exception: | CODE |
| LOW | buzz/model_loader.py | 345 | except Exception: | CODE |
| LOW | buzz/model_loader.py | 380 | except Exception: | CODE |
| LOW | buzz/model_loader.py | 417 | except Exception: | CODE |
| LOW | buzz/model_loader.py | 770 | except Exception as exc: | CODE |
| LOW | buzz/model_loader.py | 1051 | except Exception as exc: | CODE |
| LOW | buzz/model_loader.py | 1096 | except Exception as e: | CODE |
| LOW | buzz/model_loader.py | 1122 | except Exception as e: | CODE |
| LOW | buzz/model_loader.py | 1125 | except Exception as e: | CODE |
| LOW | buzz/model_loader.py | 1212 | except Exception: | CODE |
| LOW | buzz/ffmpeg_video_player.py | 45 | except Exception: | CODE |
| LOW | buzz/ffmpeg_video_player.py | 147 | except Exception: | CODE |
| LOW | buzz/ffmpeg_video_player.py | 157 | except Exception: | CODE |
| LOW | buzz/ffmpeg_video_player.py | 190 | except Exception: | CODE |
| LOW | buzz/ffmpeg_video_player.py | 224 | except Exception: | CODE |
| LOW | buzz/translator.py | 72 | except Exception as e: | CODE |
| LOW | buzz/translator.py | 109 | except Exception as e: | CODE |
| LOW | buzz/cuda_setup.py | 260 | except Exception as e: | CODE |
| MEDIUM | buzz/file_transcriber_queue_worker.py | 202 | def callback(progress): | CODE |
| LOW⚡ | buzz/file_transcriber_queue_worker.py | 305 | except Exception as e: | CODE |
| LOW⚡ | buzz/file_transcriber_queue_worker.py | 312 | except Exception: | CODE |
| LOW | buzz/file_transcriber_queue_worker.py | 211 | except Exception: | CODE |
| LOW | buzz/file_transcriber_queue_worker.py | 459 | except Exception as e: | CODE |
| LOW | buzz/file_transcriber_queue_worker.py | 692 | except Exception: | CODE |
| LOW | buzz/sleep_inhibitor.py | 147 | except Exception: | CODE |
| LOW | buzz/transcriber/whisper_cpp.py | 352 | except Exception as e: | CODE |
| LOW | buzz/transcriber/whisper_cpp.py | 358 | except Exception as e: | CODE |
| LOW | buzz/transcriber/whisper_cpp.py | 513 | except Exception as e: | CODE |
| LOW | buzz/transcriber/speaker_identifier.py | 117 | except Exception: | CODE |
| LOW | buzz/transcriber/file_transcriber.py | 69 | except Exception as exc: | CODE |
| LOW | buzz/transcriber/file_transcriber.py | 151 | except Exception as exc: | CODE |
| LOW | buzz/transcriber/recording_transcriber.py | 164 | except Exception as exc: | CODE |
| LOW | buzz/transcriber/recording_transcriber.py | 362 | except Exception as e: | CODE |
| LOW | buzz/transcriber/recording_transcriber.py | 522 | except Exception as e: | CODE |
| LOW | buzz/transcriber/cuda_device.py | 15 | except Exception as e: | CODE |
| LOW | buzz/transcriber/whisper_file_transcriber.py | 274 | except Exception as e: | CODE |
| LOW | buzz/transcriber/whisper_file_transcriber.py | 498 | except Exception as e: | CODE |
| LOW | buzz/transcriber/whisper_file_transcriber.py | 504 | except Exception as e: | CODE |
| 72 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tests/plugins/plugin_system_test.py | 668 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/plugins/plugin_system_test.py | 670 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/widgets/speaker_identification_widget_test.py | 399 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | tests/widgets/speaker_identification_widget_test.py | 404 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | tests/widgets/speaker_identification_widget_test.py | 583 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | tests/widgets/speaker_identification_widget_test.py | 585 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | …_viewer/transcription_viewer_widget_additional_test.py | 998 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | …_viewer/transcription_viewer_widget_additional_test.py | 1000 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | …_viewer/transcription_viewer_widget_additional_test.py | 1141 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | …_viewer/transcription_viewer_widget_additional_test.py | 1143 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | …_viewer/transcription_viewer_widget_additional_test.py | 1200 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | …_viewer/transcription_viewer_widget_additional_test.py | 1202 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | …_viewer/transcription_viewer_widget_additional_test.py | 1232 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | …_viewer/transcription_viewer_widget_additional_test.py | 1234 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | …_viewer/transcription_viewer_widget_additional_test.py | 1310 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | …_viewer/transcription_viewer_widget_additional_test.py | 1312 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | appimage/build-appimage.sh | 33 | # ── Step 1: PyInstaller bundle ────────────────────────────────────────────── | COMMENT |
| MEDIUM | appimage/build-appimage.sh | 42 | # ── Step 2: Create AppDir ─────────────────────────────────────────────────── | COMMENT |
| MEDIUM | appimage/build-appimage.sh | 74 | # ── Step 3: Desktop integration ───────────────────────────────────────────── | COMMENT |
| MEDIUM | appimage/build-appimage.sh | 100 | # ── Step 4: AppRun entry point ────────────────────────────────────────────── | COMMENT |
| MEDIUM | appimage/build-appimage.sh | 120 | # ── Step 5: Build AppImage ────────────────────────────────────────────────── | COMMENT |
| MEDIUM | buzz/widgets/video_player.py | 131 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | buzz/widgets/video_player.py | 133 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | buzz/widgets/video_player.py | 153 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | buzz/widgets/video_player.py | 155 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | buzz/widgets/video_player.py | 177 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | buzz/widgets/video_player.py | 179 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | buzz/widgets/audio_player.py | 129 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | buzz/widgets/audio_player.py | 131 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | buzz/widgets/audio_player.py | 162 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | buzz/widgets/audio_player.py | 164 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | buzz/widgets/audio_player.py | 225 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | buzz/widgets/audio_player.py | 227 | # ------------------------------------------------------------------ | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/recording_test.py | 2 | CODE | |
| LOW | tests/mock_qt.py | 5 | CODE | |
| LOW | tests/model_loader_test.py | 1 | CODE | |
| LOW | tests/model_loader_test.py | 3 | CODE | |
| LOW | tests/model_loader_test.py | 4 | CODE | |
| LOW | tests/model_loader_test.py | 6 | CODE | |
| LOW | tests/model_loader_test.py | 1128 | CODE | |
| LOW | tests/model_loader_test.py | 1138 | CODE | |
| LOW | tests/recording_transcriber_test.py | 2 | CODE | |
| LOW | tests/recording_transcriber_test.py | 5 | CODE | |
| LOW | tests/translator_test.py | 2 | CODE | |
| LOW | tests/translator_test.py | 4 | CODE | |
| LOW | tests/translator_test.py | 11 | CODE | |
| LOW | tests/cuda_manager_test.py | 4 | CODE | |
| LOW | tests/cuda_manager_test.py | 8 | CODE | |
| LOW | tests/update_checker_test.py | 6 | CODE | |
| LOW | tests/transcriber/recording_transcriber_test.py | 5 | CODE | |
| LOW | tests/transcriber/recording_transcriber_test.py | 14 | CODE | |
| LOW | tests/transcriber/recording_transcriber_test.py | 62 | CODE | |
| LOW | tests/transcriber/transformers_whisper_test.py | 1 | CODE | |
| LOW | tests/transcriber/transformers_whisper_test.py | 2 | CODE | |
| LOW | tests/transcriber/transformers_whisper_test.py | 3 | CODE | |
| LOW | …ranscriber/openai_whisper_api_file_transcriber_test.py | 10 | CODE | |
| LOW | tests/settings/settings_test.py | 1 | CODE | |
| LOW | tests/settings/settings_test.py | 2 | CODE | |
| LOW | tests/db/service/transcription_service_test.py | 2 | CODE | |
| LOW | tests/db/service/transcription_service_test.py | 3 | CODE | |
| LOW | tests/widgets/update_dialog_test.py | 4 | CODE | |
| LOW | tests/widgets/transcription_tasks_table_widget_test.py | 10 | CODE | |
| LOW | tests/widgets/transcription_tasks_table_widget_test.py | 14 | CODE | |
| LOW | tests/widgets/speaker_identification_widget_test.py | 1 | CODE | |
| LOW | tests/widgets/recording_transcriber_widget_test.py | 10 | CODE | |
| LOW | tests/widgets/presentation_window_test.py | 2 | CODE | |
| LOW | tests/widgets/presentation_window_test.py | 3 | CODE | |
| LOW | tests/widgets/presentation_window_test.py | 5 | CODE | |
| LOW | tests/widgets/presentation_window_test.py | 5 | CODE | |
| LOW | tests/widgets/video_player_test.py | 4 | CODE | |
| LOW | tests/widgets/cuda_installer_widget_test.py | 3 | CODE | |
| LOW | tests/widgets/hugging_face_search_line_edit_test.py | 5 | CODE | |
| LOW | tests/widgets/menu_bar_test.py | 1 | CODE | |
| LOW | tests/widgets/plugins_dialog/plugins_dialog_test.py | 1 | CODE | |
| LOW | tests/store/keyring_store_test.py | 1 | CODE | |
| LOW | tests/store/keyring_store_test.py | 5 | CODE | |
| LOW | tests/store/keyring_store_test.py | 5 | CODE | |
| LOW | buzz/transformers_whisper.py | 3 | CODE | |
| LOW | buzz/transformers_whisper.py | 8 | CODE | |
| LOW | buzz/transformers_whisper.py | 426 | CODE | |
| LOW | buzz/transformers_whisper.py | 312 | CODE | |
| LOW | buzz/whisper_audio.py | 5 | CODE | |
| LOW | buzz/locale.py | 1 | CODE | |
| LOW | buzz/locale.py | 2 | CODE | |
| LOW | buzz/translator.py | 7 | CODE | |
| LOW | buzz/buzz.py | 7 | CODE | |
| LOW | buzz/buzz.py | 12 | CODE | |
| LOW | buzz/transcriber/recording_transcriber.py | 16 | CODE | |
| LOW | buzz/transcriber/openai_whisper_api_file_transcriber.py | 11 | CODE | |
| LOW | buzz/transcriber/whisper_file_transcriber.py | 10 | CODE | |
| LOW | buzz/transcriber/whisper_file_transcriber.py | 22 | CODE | |
| LOW | buzz/transcriber/whisper_file_transcriber.py | 24 | CODE | |
| LOW | …zz/transcriber/local_whisper_cpp_server_transcriber.py | 7 | CODE | |
| 18 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | hatch_build.py | 13 | CODE | |
| LOW | tests/cuda_setup_test.py | 184 | CODE | |
| LOW | tests/cuda_manager_test.py | 309 | CODE | |
| LOW | tests/cuda_manager_test.py | 444 | CODE | |
| LOW | tests/transcriber/recording_transcriber_test.py | 88 | CODE | |
| LOW | buzz/transformers_whisper.py | 240 | CODE | |
| LOW | buzz/model_loader.py | 777 | CODE | |
| LOW | buzz/model_loader.py | 901 | CODE | |
| LOW | buzz/model_loader.py | 1021 | CODE | |
| LOW | buzz/model_loader.py | 1058 | CODE | |
| LOW | buzz/model_loader.py | 1151 | CODE | |
| LOW | buzz/ffmpeg_video_player.py | 102 | CODE | |
| LOW | buzz/translator.py | 149 | CODE | |
| LOW | buzz/cuda_setup.py | 107 | CODE | |
| LOW | buzz/cuda_setup.py | 163 | CODE | |
| LOW | buzz/cuda_setup.py | 182 | CODE | |
| LOW | buzz/cuda_manager.py | 195 | CODE | |
| LOW | buzz/file_transcriber_queue_worker.py | 524 | CODE | |
| LOW | buzz/transcriber/whisper_cpp.py | 77 | CODE | |
| LOW | buzz/transcriber/whisper_cpp.py | 243 | CODE | |
| LOW | buzz/transcriber/file_transcriber.py | 253 | CODE | |
| LOW | buzz/transcriber/recording_transcriber.py | 88 | CODE | |
| LOW | buzz/transcriber/openai_whisper_api_file_transcriber.py | 193 | CODE | |
| LOW | buzz/transcriber/whisper_file_transcriber.py | 215 | CODE | |
| LOW | buzz/transcriber/whisper_file_transcriber.py | 518 | CODE | |
| LOW | buzz/plugins/loader.py | 248 | CODE | |
| LOW | buzz/plugins/manager.py | 167 | CODE | |
| LOW | buzz/plugins/base.py | 44 | CODE | |
| LOW | buzz/plugins/skip_already_transcribed/plugin.py | 77 | CODE | |
| LOW | buzz/plugins/skip_already_transcribed/plugin.py | 98 | CODE | |
| LOW | buzz/widgets/transcription_tasks_table_widget.py | 67 | CODE | |
| LOW | buzz/widgets/recording_transcriber_widget.py | 804 | CODE | |
| LOW | buzz/widgets/recording_transcriber_widget.py | 839 | CODE | |
| LOW | buzz/widgets/recording_transcriber_widget.py | 885 | CODE | |
| LOW | buzz/widgets/recording_transcriber_widget.py | 963 | CODE | |
| LOW | buzz/widgets/recording_transcriber_widget.py | 1037 | CODE | |
| LOW | buzz/widgets/recording_transcriber_widget.py | 1163 | CODE | |
| LOW | …/transcription_viewer/speaker_identification_widget.py | 279 | CODE | |
| LOW | …/transcription_viewer/speaker_identification_widget.py | 384 | CODE | |
| LOW | …/transcription_viewer/speaker_identification_widget.py | 848 | CODE | |
| LOW | …/transcription_viewer/speaker_identification_widget.py | 928 | CODE | |
| LOW | …ription_viewer/transcription_segments_editor_widget.py | 66 | CODE | |
| LOW | …ription_viewer/transcription_segments_editor_widget.py | 169 | CODE | |
| LOW | …ts/transcription_viewer/transcription_viewer_widget.py | 1258 | CODE | |
| LOW | …ts/transcription_viewer/transcription_viewer_widget.py | 1645 | CODE | |
| LOW | …ts/transcription_viewer/transcription_viewer_widget.py | 1684 | CODE | |
| LOW | …ts/transcription_viewer/transcription_viewer_widget.py | 1732 | CODE | |
| LOW | buzz/store/keyring_store.py | 31 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/conftest.py | 16 | # Set multiprocessing to use 'spawn' instead of 'fork' on Linux | COMMENT |
| LOW | …_viewer/transcription_viewer_widget_additional_test.py | 300 | # Set speed to a known value below maximum to ensure we can increase | COMMENT |
| LOW | …_viewer/transcription_viewer_widget_additional_test.py | 317 | # Set speed to a known value above minimum to ensure we can decrease | COMMENT |
| LOW | buzz/transformers_whisper.py | 297 | # Check if this is a PEFT model | COMMENT |
| LOW | buzz/transformers_whisper.py | 306 | # Check if user wants reduced GPU memory usage (8-bit quantization) | COMMENT |
| LOW | buzz/pip_utils.py | 87 | # Check if pip is already available | COMMENT |
| LOW | buzz/model_loader.py | 96 | # Check if it's the same file | COMMENT |
| LOW | buzz/file_transcriber_queue_worker.py | 656 | # Check if the error indicates cancellation | COMMENT |
| LOW | buzz/transcriber/recording_transcriber.py | 212 | # Check if user wants reduced GPU memory usage (int8 quantization) | COMMENT |
| LOW | buzz/transcriber/whisper_file_transcriber.py | 195 | # Check if the process was terminated (likely due to cancellation). | COMMENT |
| LOW | buzz/transcriber/whisper_file_transcriber.py | 250 | # Check if the file has audio streams before processing | COMMENT |
| LOW | buzz/transcriber/whisper_file_transcriber.py | 357 | # Check if user wants reduced GPU memory usage (int8 quantization) | COMMENT |
| LOW | buzz/widgets/transcription_tasks_table_widget.py | 705 | # Check if the task can be restarted | COMMENT |
| LOW | buzz/widgets/transcription_tasks_table_widget.py | 810 | # Add the task to the queue worker | COMMENT |
| LOW⚡ | …widgets/transcriber/transcription_options_group_box.py | 309 | # Check if this is an MMS model | COMMENT |
| LOW | …ription_viewer/transcription_segments_editor_widget.py | 192 | # Check if new start overlaps with previous segment's end | COMMENT |
| LOW | …ription_viewer/transcription_segments_editor_widget.py | 212 | # Check if new end overlaps with next segment's start | COMMENT |
| LOW | …s/transcription_viewer/transcription_resizer_widget.py | 57 | # Check if the language uses spaces between words | COMMENT |
| LOW | …ts/transcription_viewer/transcription_viewer_widget.py | 620 | # Set position to the start of the segment | COMMENT |
| LOW | …ts/transcription_viewer/transcription_viewer_widget.py | 1401 | # Check if we're editing the currently selected segment | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tests/model_loader_test.py | 1104 | # Create a fake zip with a single top-level directory inside | COMMENT |
| MEDIUM | tests/transcriber/file_transcriber_queue_worker_test.py | 225 | # Create a temporary file to simulate speech extraction output | COMMENT |
| MEDIUM | tests/transcriber/whisper_file_transcriber_test.py | 82 | # Create a temporary text file (not a valid media file) | COMMENT |
| MEDIUM | buzz/transformers_whisper.py | 455 | # Create a simple processor-like object that the pipeline expects | COMMENT |
| MEDIUM | buzz/widgets/transcription_tasks_table_widget.py | 438 | # Create a mapping of column IDs to their saved visual positions | COMMENT |
| MEDIUM | buzz/widgets/transcription_tasks_table_widget.py | 798 | # Create the new task | COMMENT |
| MEDIUM | buzz/store/keyring_store.py | 55 | # Create a socket pair for receiving the secret | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | buzz/pip_utils.py | 23 | logger = logging.getLogger(__name__) | CODE |
| LOW | buzz/cuda_setup.py | 22 | logger = logging.getLogger(__name__) | CODE |
| LOW | buzz/cuda_manager.py | 13 | logger = logging.getLogger(__name__) | CODE |
| LOW | buzz/sleep_inhibitor.py | 125 | def set_busy(self, busy: bool) -> None: | CODE |
| LOW | buzz/sleep_inhibitor.py | 129 | def set_enabled(self, enabled: bool) -> None: | CODE |
| LOW | buzz/settings/settings.py | 107 | def set_value(self, key: Key, value: typing.Any) -> None: | CODE |
| LOW | buzz/plugins/loader.py | 28 | logger = logging.getLogger(__name__) | CODE |
| LOW | buzz/plugins/manager.py | 23 | logger = logging.getLogger(__name__) | CODE |
| LOW | buzz/plugins/manager.py | 192 | def set_config(self, plugin_id: str, values: dict) -> None: | CODE |
| LOW | buzz/plugins/manager.py | 214 | def set_enabled(self, plugin_id: str, enabled: bool) -> None: | CODE |
| LOW | buzz/plugins/base.py | 30 | logger = logging.getLogger(__name__) | CODE |
| LOW | buzz/plugins/skip_already_transcribed/plugin.py | 18 | logger = logging.getLogger(__name__) | CODE |
| LOW | buzz/plugins/export_docx/plugin.py | 27 | logger = logging.getLogger(__name__) | CODE |
| LOW | buzz/plugins/ai_summary/plugin.py | 25 | logger = logging.getLogger(__name__) | CODE |
| LOW | buzz/plugins/enhanced_language_detection/plugin.py | 29 | logger = logging.getLogger(__name__) | CODE |
| LOW | buzz/plugins/transcript_resizer/plugin.py | 27 | logger = logging.getLogger(__name__) | CODE |
| LOW | buzz/widgets/cuda_installer_widget.py | 25 | logger = logging.getLogger(__name__) | CODE |
| LOW | …/transcription_viewer/speaker_identification_widget.py | 721 | def _setup_audio_player(self) -> None: | CODE |
| LOW | buzz/store/keyring_store.py | 221 | def set_password(username: Key, password: str) -> None: | CODE |
| LOW | buzz/store/keyring_store.py | 298 | def set_secret(name: str, password: str) -> None: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | …ranscriber/openai_whisper_api_file_transcriber_test.py | 121 | mock_openai_client.return_value.audio.transcriptions.create.assert_called() | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …ferences_dialog/shortcuts_editor_preferences_widget.py | 41 | self.shortcuts.set(shortcut, sequence.toString()) | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/widgets/update_dialog_test.py | 217 | reply = MockDownloadReply(data=b"fake-data") | CODE |
| LOW | tests/widgets/update_dialog_test.py | 232 | reply = MockDownloadReply(data=b"fake-data") | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | appimage/build-appimage.sh | 17 | # Usage: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | appimage/build-appimage.sh | 1 | #!/usr/bin/env bash | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tests/widgets/transcription_viewer_test.py | 994 | """Test comprehensive search clear functionality including UI state reset""" | STRING |