Very low latency speech to text, intent recognition, and text to speech, for building voice agents and interfaces
This report presents the forensic synthetic code analysis of moonshine-ai/moonshine, a C++ project with 10,579 GitHub stars. SynthScan v2.0 examined 651,967 lines of code across 1736 source files, recording 3687 pattern matches distributed across 21 syntactic categories. The overall adjusted score of 5.0 places this repository in the Low 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 3687 distinct pattern matches across 21 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 | micro/CMakeLists.txt | 1 | # moonshine-micro -- on-device spelling recognition for the Raspberry Pi Pico 2 | COMMENT |
| LOW | micro/CMakeLists.txt | 21 | # Builds one .uf2 per app under build/examples/rp2350/: | COMMENT |
| LOW | micro/CMakeLists.txt | 101 | COMMENT | |
| LOW | micro/feature-generation/CMakeLists.txt | 1 | # feature-generation -- portable log-mel front-end (batch + streaming). | COMMENT |
| LOW | …ration/include/feature_generation/feature_generation.h | 1 | // feature-generation -- portable, heap-free log-mel spectrogram front-end. | COMMENT |
| LOW | …ration/include/feature_generation/feature_generation.h | 21 | // on fatal misconfiguration). No app, VAD, or STT dependencies -- so the module | COMMENT |
| LOW | …ration/include/feature_generation/feature_generation.h | 141 | // Active views: either the precomputed flash arrays or the *_storage_ | COMMENT |
| LOW | micro/feature-generation/src/fft_scratch.h | 1 | // Shared FFT scratch pool for the on-device log-mel front-ends. | COMMENT |
| LOW | micro/stt-training/requirements.txt | 1 | # Python dependencies for the moonshine-micro STT training recipe. | COMMENT |
| LOW | micro/stt-training/words.txt | 1 | # Robot command vocabulary -- the ONLY file you normally need to edit. | COMMENT |
| LOW | micro/neural-tts/host/CMakeLists.txt | 1 | # Native (desktop) build of the on-device neural TTS engine. | COMMENT |
| LOW | micro/neural-tts/host/tflm_ref/host_platform.cpp | 1 | // Host (desktop) implementations of the TFLM platform hooks the RP2350 build | COMMENT |
| LOW | micro/neural-tts/host/tflm_ref/transpose_conv.cpp | 21 | #include "tensorflow/lite/c/builtin_op_data.h" | COMMENT |
| LOW | micro/neural-tts/host/tflm_ref/conv.cpp | 21 | // reusing conv_common.cpp's ConvInit / ConvPrepare so the Prepare-stage | COMMENT |
| LOW | micro/neural-tts/host/tflm_ref/add.cpp | 21 | #include "tensorflow/lite/c/common.h" | COMMENT |
| LOW | micro/neural-tts/include/neural_tts/neural_tts.h | 1 | // neural_tts -- black-box text-to-speech for the RP2350. | COMMENT |
| LOW | micro/neural-tts/include/neural_tts/neural_tts.h | 21 | // | COMMENT |
| LOW | micro/neural-tts/include/neural_tts/pack_format.h | 1 | // Binary layout of the neural-TTS flash pack, mirroring | COMMENT |
| LOW | micro/neural-tts/include/neural_tts/pack_format.h | 21 | COMMENT | |
| LOW | micro/neural-tts/include/neural_tts/pb_decoder.h | 1 | // TFLM wrapper for the Phase B RVQ decoder (s16x8: int16 activations, | COMMENT |
| LOW | micro/neural-tts/include/neural_tts/pb_decoder.h | 61 | static void GetFrameThunk(void* user, int t, WorldFrame* frame); | COMMENT |
| LOW | micro/neural-tts/include/neural_tts/worldlite_synth.h | 1 | // WORLD-lite vocoder synthesis (float32, kissfft) for the RP2350. | COMMENT |
| LOW | micro/klatt-tts/include/tts/synth_internal.h | 1 | // Shared internals for the batch (synth.cc) and streaming (synth_stream.cc) | COMMENT |
| LOW | micro/klatt-tts/include/tts/tts.h | 1 | // tts -- portable, dependency-free formant (Klatt-style) text-to-speech. | COMMENT |
| LOW | micro/klatt-tts/include/tts/tts.h | 21 | // float buf[256]; | COMMENT |
| LOW | micro/klatt-tts/include/tts/config.h | 1 | // Externalized, tunable voice parameters. | COMMENT |
| LOW | micro/klatt-tts/include/tts/config.h | 41 | // --- Legacy Rosenberg pulse shape (fractions of a pitch period) --- | COMMENT |
| LOW | micro/klatt-tts/include/tts/config.h | 61 | // single 0..1 control, but they are independently tunable (e.g. raise pitch | COMMENT |
| LOW | micro/klatt-tts/include/tts/phonemes.h | 1 | // English phoneme inventory for the formant synthesizer. | COMMENT |
| LOW | micro/klatt-tts/include/tts/synth_stream.h | 1 | // Streaming, caller-arena formant synthesizer for the RP2350 (and desktop). | COMMENT |
| LOW | micro/klatt-tts/include/tts/synth_stream.h | 21 | #ifndef TTS_SYNTH_STREAM_H_ | COMMENT |
| LOW | micro/klatt-tts/include/tts/klatt.h | 1 | // Klatt-style cascade formant synthesizer (simplified). | COMMENT |
| LOW | micro/klatt-tts/include/tts/klatt.h | 81 | // Cycle-to-cycle micro-perturbations applied once per glottal period: jitter | COMMENT |
| LOW | micro/g2p/include/g2p/g2p_dict.h | 1 | // Baked common-word pronunciation dictionary + runtime override table. | COMMENT |
| LOW | micro/g2p/include/g2p/g2p.h | 1 | // English grapheme-to-phoneme front end. | COMMENT |
| LOW | micro/g2p/include/g2p/g2p.h | 21 | #include <vector> | COMMENT |
| LOW | micro/g2p/src/g2p_dict_data.h | 1 | // AUTO-GENERATED by tools/build_g2p_dict.py -- do not edit by hand. | COMMENT |
| LOW | micro/g2p/src/g2p_rules.h | 1 | // Rule-based English letter-to-sound (grapheme -> IPA). | COMMENT |
| LOW | micro/g2p/src/g2p_numbers.h | 1 | // English number-token normalization (numeral -> IPA). | COMMENT |
| LOW | micro/examples/rp2350/CMakeLists.txt | 1 | # examples/rp2350 -- the RP2350 (Raspberry Pi Pico 2) firmware that ties the | COMMENT |
| LOW | micro/examples/rp2350/CMakeLists.txt | 181 | # target. Shared by both WiFi apps (USB-bridge audio and on-board hardware | COMMENT |
| LOW | micro/examples/rp2350/lwipopts.h | 1 | // Minimal lwIP configuration for the voice WiFi-setup app (moonshine_micro_echo_wifi). | COMMENT |
| LOW | micro/examples/rp2350/lwipopts.h | 21 | #define LWIP_SOCKET 0 | COMMENT |
| LOW | micro/examples/rp2350/lwipopts.h | 41 | #define LWIP_ICMP 1 | COMMENT |
| LOW | micro/examples/rp2350/lwipopts.h | 61 | #define MEM_STATS 0 | COMMENT |
| LOW | micro/examples/rp2350/scripts/flash.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | micro/examples/rp2350/scripts/flash.sh | 21 | # Build directory: | COMMENT |
| LOW | micro/examples/rp2350/scripts/flash.sh | 41 | # first. The RP2350 bootrom usually labels its mass-storage volume | COMMENT |
| LOW | micro/examples/rp2350/scripts/build.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | micro/examples/rp2350/scripts/build.sh | 21 | # configure step (e.g. -DSPELLING_TINY_VAD=ON). | COMMENT |
| LOW | micro/examples/rp2350/scripts/monitor.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | micro/examples/rp2350/scripts/monitor.sh | 21 | # /dev/tty.usbmodem* - "modem callin" device. open() blocks until | COMMENT |
| LOW | micro/examples/rp2350/scripts/monitor.sh | 41 | # - Polls for /dev/cu.usbmodem* until it appears (or honors an | COMMENT |
| LOW | micro/examples/rp2350/scripts/monitor.sh | 61 | # moonshine-micro/examples/rp2350/scripts/monitor.sh /dev/cu.usbmodem1101 | COMMENT |
| LOW | micro/examples/rp2350/src/i2s_audio_out.h | 1 | // I2S speaker output for the on-board echo service (MAX98357A / Adafruit 3006). | COMMENT |
| LOW | micro/examples/rp2350/src/audio_service.h | 1 | // Live USB audio service: turns the laptop into the RP2350's mic + speaker. | COMMENT |
| LOW | micro/examples/rp2350/src/audio_service.h | 41 | // front-align the 1 s clip into `window`, classify it with the SpellingCNN, and | COMMENT |
| LOW | micro/examples/rp2350/src/wifi_hardware_app.h | 1 | // Voice-driven WiFi setup on the on-board hardware audio I/O (I2S mic + I2S | COMMENT |
| LOW | micro/examples/rp2350/src/test_app.h | 1 | // The embedded-clip accuracy sweep (the moonshine_micro_echo_test target): run | COMMENT |
| LOW | micro/examples/rp2350/src/op_profiler.h | 1 | // Lightweight per-op profiler for the moonshine-micro SpellingCNN build. | COMMENT |
| 3026 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | micro/CMakeLists.txt | 35 | # =========================================================================== | COMMENT |
| MEDIUM | micro/CMakeLists.txt | 37 | # =========================================================================== | COMMENT |
| MEDIUM | micro/CMakeLists.txt | 68 | # =========================================================================== | COMMENT |
| MEDIUM | micro/CMakeLists.txt | 70 | # =========================================================================== | COMMENT |
| MEDIUM | micro/stt-training/tools/mine_peoples_speech.py | 66 | # -------------------------------------------------------------------------- | COMMENT |
| MEDIUM | micro/stt-training/tools/mine_peoples_speech.py | 68 | # -------------------------------------------------------------------------- | COMMENT |
| MEDIUM | micro/stt-training/tools/mine_peoples_speech.py | 184 | # -------------------------------------------------------------------------- | COMMENT |
| MEDIUM | micro/stt-training/tools/mine_peoples_speech.py | 186 | # -------------------------------------------------------------------------- | COMMENT |
| MEDIUM | micro/neural-tts/host/CMakeLists.txt | 31 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | micro/neural-tts/host/CMakeLists.txt | 33 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | micro/neural-tts/host/CMakeLists.txt | 104 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | micro/neural-tts/host/CMakeLists.txt | 106 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | micro/neural-tts/host/CMakeLists.txt | 114 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | micro/neural-tts/host/CMakeLists.txt | 117 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | micro/klatt-tts/include/tts/klatt.h | 13 | // aspiration noise ─────────────────────┘ │ | COMMENT |
| MEDIUM | micro/klatt-tts/include/tts/klatt.h | 17 | // frication noise ► [highpass] ► R_fric ──────────┴──► output | COMMENT |
| MEDIUM | micro/examples/rp2350/CMakeLists.txt | 25 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM | micro/examples/rp2350/CMakeLists.txt | 216 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM | micro/examples/rp2350/CMakeLists.txt | 225 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM | micro/examples/rp2350/CMakeLists.txt | 239 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM | micro/examples/rp2350/CMakeLists.txt | 269 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM | micro/examples/rp2350/CMakeLists.txt | 307 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM | micro/examples/rp2350/CMakeLists.txt | 335 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM | micro/examples/rp2350/CMakeLists.txt | 383 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM | micro/examples/rp2350/CMakeLists.txt | 415 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM | micro/examples/rp2350/CMakeLists.txt | 445 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM | micro/examples/rp2350/CMakeLists.txt | 500 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM | micro/examples/rp2350/CMakeLists.txt | 705 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM | micro/examples/rp2350/CMakeLists.txt | 746 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM | micro/examples/rp2350/CMakeLists.txt | 784 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM | micro/third-party/pico-tflmicro/CMakeLists_template.txt | 14 | # ==================================================================================== | COMMENT |
| MEDIUM | micro/third-party/pico-tflmicro/sync/create_tests.py | 16 | # ============================================================================== | COMMENT |
| MEDIUM | …cro/third-party/pico-tflmicro/sync/transform_source.py | 15 | # ============================================================================== | COMMENT |
| MEDIUM | …ird-party/pico-tflmicro/sync/fix_arduino_subfolders.py | 15 | # ============================================================================== | COMMENT |
| MEDIUM | …/third-party/pico-tflmicro/sync/create_tflm_arduino.py | 15 | # ============================================================================== | COMMENT |
| MEDIUM | micro/stt/scripts/generate_embedded_data.py | 225 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | python/src/moonshine_voice/download.py | 203 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | python/src/moonshine_voice/download.py | 205 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | python/src/moonshine_voice/download.py | 287 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | python/src/moonshine_voice/download.py | 289 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | python/src/moonshine_voice/download.py | 396 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | python/src/moonshine_voice/download.py | 398 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | python/src/moonshine_voice/cached_embeddings.py | 253 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | python/src/moonshine_voice/cached_embeddings.py | 255 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | python/src/moonshine_voice/moonshine_api.py | 10 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | python/src/moonshine_voice/moonshine_api.py | 12 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | python/src/moonshine_voice/alphanumeric_listener.py | 234 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | python/src/moonshine_voice/alphanumeric_listener.py | 241 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | python/src/moonshine_voice/alphanumeric_listener.py | 244 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | python/src/moonshine_voice/alphanumeric_listener.py | 36 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | python/src/moonshine_voice/alphanumeric_listener.py | 38 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | python/src/moonshine_voice/alphanumeric_listener.py | 92 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | python/src/moonshine_voice/alphanumeric_listener.py | 94 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | python/src/moonshine_voice/alphanumeric_listener.py | 257 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | python/src/moonshine_voice/alphanumeric_listener.py | 260 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | python/src/moonshine_voice/alphanumeric_listener.py | 274 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | python/src/moonshine_voice/alphanumeric_listener.py | 333 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | python/src/moonshine_voice/alphanumeric_listener.py | 344 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | python/src/moonshine_voice/alphanumeric_listener.py | 403 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | python/src/moonshine_voice/alphanumeric_listener.py | 405 | # --------------------------------------------------------------------------- | COMMENT |
| 66 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | micro/stt-training/stt_training/checkpoint.py | 61 | def load_representative_waveforms( | CODE |
| LOW | micro/stt-training/stt_training/export.py | 197 | def _default_calibration_roots(args: argparse.Namespace) -> list[str]: | CODE |
| LOW | micro/stt-training/stt_training/dataset.py | 120 | def speaker_independent_split( | CODE |
| LOW | micro/stt-training/stt_training/dataset.py | 142 | def build_class_balanced_sampler( | CODE |
| LOW | …cro/third-party/pico-tflmicro/sync/transform_source.py | 73 | def add_example_ino_library_include(input_text): | CODE |
| LOW | …cro/third-party/pico-tflmicro/sync/transform_source.py | 79 | def replace_arduino_example_includes(line, _): | CODE |
| LOW | …cro/third-party/pico-tflmicro/sync/transform_source.py | 93 | def replace_esp_example_includes(line, source_path): | CODE |
| LOW | …cro/third-party/pico-tflmicro/sync/transform_source.py | 110 | def transform_arduino_sources(input_lines, flags): | CODE |
| LOW | …ird-party/pico-tflmicro/sync/fix_arduino_subfolders.py | 29 | def rename_example_subfolder_files(library_dir): | CODE |
| LOW | …/third-party/pico-tflmicro/sync/create_tflm_arduino.py | 75 | def _remove_empty_directories_recursive(paths: Iterable[Path], | CODE |
| LOW | …/third-party/pico-tflmicro/sync/create_tflm_arduino.py | 281 | def _create_output_directories( | CODE |
| LOW | …/third-party/pico-tflmicro/sync/create_tflm_arduino.py | 421 | def _generate_base_paths_relative( | CODE |
| LOW | …/third-party/pico-tflmicro/sync/create_tflm_arduino.py | 474 | def _generate_repo_paths_relative( | CODE |
| LOW | …/third-party/pico-tflmicro/sync/create_tflm_arduino.py | 511 | def _remove_empty_directories(self) -> None: | CODE |
| LOW | python/tests/test_mic_transcriber_threading.py | 165 | def test_capture_callback_is_not_blocked_by_transcription(monkeypatch): | CODE |
| LOW⚡ | python/tests/test_cli.py | 58 | def test_console_scripts_are_installed(name): | CODE |
| LOW⚡ | python/tests/test_cli.py | 65 | def test_help_lists_every_command(): | CODE |
| LOW⚡ | python/tests/test_cli.py | 72 | def test_version_reports_package_name(): | CODE |
| LOW⚡ | python/tests/test_cli.py | 78 | def test_unknown_command_is_a_usage_error(): | CODE |
| LOW⚡ | python/tests/test_cli.py | 84 | def test_subcommand_help_parses(command): | CODE |
| LOW | python/tests/test_modules.py | 59 | def test_transcriber_transcribes_bundled_audio(): | CODE |
| LOW | python/tests/test_modules.py | 69 | def test_diarization_finds_two_speakers_on_endgame_clip(): | CODE |
| LOW | python/tests/test_modules.py | 137 | def test_intent_recognizer_matches_transcribed_command(): | CODE |
| LOW | python/tests/test_modules.py | 174 | def test_download_tts_assets_zipvoice_fetches_model_files(): | CODE |
| LOW | python/tests/test_modules.py | 189 | def test_dialog_flow_lists_output_devices(): | CODE |
| LOW | python/tests/test_modules.py | 201 | def test_mic_module_arguments_parse(module, args): | CODE |
| LOW | python/src/moonshine_voice/intent_recognizer.py | 109 | def _setup_function_signatures(self): | CODE |
| LOW | python/src/moonshine_voice/mic_transcriber.py | 60 | def _query_device_default_samplerate(self) -> Optional[int]: | CODE |
| LOW | python/src/moonshine_voice/mic_transcriber.py | 286 | def update_last_terminal_line(self, line: TranscriptLine): | CODE |
| LOW | python/src/moonshine_voice/transcriber.py | 190 | def transcribe_without_streaming( | CODE |
| LOW | python/src/moonshine_voice/transcriber.py | 749 | def format_line_by_speaker_spans(line: TranscriptLine) -> List[str]: | CODE |
| LOW | python/src/moonshine_voice/transcriber.py | 772 | def format_conversation_with_speakers(transcript: Transcript) -> str: | CODE |
| LOW⚡ | python/src/moonshine_voice/download.py | 208 | def supported_embedding_models() -> list[str]: | CODE |
| LOW⚡ | python/src/moonshine_voice/download.py | 213 | def supported_embedding_models_friendly() -> str: | CODE |
| LOW⚡ | python/src/moonshine_voice/download.py | 220 | def get_embedding_model_variants(model_name: str = "embeddinggemma-300m") -> list[str]: | CODE |
| LOW⚡ | python/src/moonshine_voice/download.py | 292 | def _spelling_group_from_manifest(manifest: dict) -> Optional[dict]: | CODE |
| LOW⚡ | python/src/moonshine_voice/download.py | 403 | def normalize_moonshine_language_tag(language: str) -> str: | CODE |
| LOW⚡ | python/src/moonshine_voice/download.py | 409 | def _normalize_tts_language_tag_display(tag: str) -> str: | CODE |
| LOW⚡ | python/src/moonshine_voice/download.py | 416 | def dedupe_tts_language_tags_for_display(tags: List[str]) -> List[str]: | CODE |
| LOW | python/src/moonshine_voice/download.py | 161 | def supported_languages_friendly() -> str: | CODE |
| LOW | python/src/moonshine_voice/download.py | 171 | def get_components_for_model_info(model_info: dict) -> list[str]: | CODE |
| LOW | python/src/moonshine_voice/download.py | 306 | def download_spelling_model_for_language( | CODE |
| LOW | python/src/moonshine_voice/download.py | 453 | def _options_specify_asset_root(opts: Dict[str, Union[str, int, float, bool]]) -> bool: | CODE |
| LOW | python/src/moonshine_voice/download.py | 505 | def _entries_to_present_and_downloadable(entries: List[TtsVoiceEntry]) -> TtsVoicesByAvailability: | CODE |
| LOW | python/src/moonshine_voice/download.py | 511 | def _tts_voices_json_to_catalog(raw: str) -> Dict[str, List[TtsVoiceEntry]]: | CODE |
| LOW | python/src/moonshine_voice/download.py | 643 | def _normalize_tts_voice_stem(stem: str) -> str: | CODE |
| LOW | python/src/moonshine_voice/download.py | 653 | def _is_bare_tts_engine_selector(voice: str) -> bool: | CODE |
| LOW | python/src/moonshine_voice/download.py | 683 | def validate_tts_voice_downloaded( | CODE |
| LOW | python/src/moonshine_voice/download.py | 754 | def ensure_tts_voice_downloaded( | CODE |
| LOW | python/src/moonshine_voice/download.py | 797 | def is_downloadable_tts_asset_key(key: str) -> bool: | CODE |
| LOW | python/src/moonshine_voice/download.py | 805 | def cdn_url_for_tts_asset_key(key: str) -> str: | CODE |
| LOW | python/src/moonshine_voice/tts.py | 129 | def _resolve_default_output_index(sd: Any) -> Optional[int]: | CODE |
| LOW | python/src/moonshine_voice/tts.py | 219 | def _say_enumerate_output_devices(sd) -> List[Tuple[int, str]]: | CODE |
| LOW | python/src/moonshine_voice/tts.py | 270 | def _select_output_sample_rate( | CODE |
| LOW | python/src/moonshine_voice/tts.py | 360 | def _normalize_clone_argument( | CODE |
| LOW | python/src/moonshine_voice/tts.py | 389 | def _autotranscribe_clone_pcm( | CODE |
| LOW | python/src/moonshine_voice/tts.py | 423 | def _say_resolve_output_index( | CODE |
| LOW | python/src/moonshine_voice/tts.py | 636 | def _init_zipvoice_from_clone( | CODE |
| LOW | python/src/moonshine_voice/tts.py | 734 | def _announce_resolved_device(self, sd: Any, resolved: Optional[int]) -> None: | CODE |
| LOW | python/src/moonshine_voice/cached_embeddings.py | 62 | def default_cached_embeddings_path() -> str: | CODE |
| 46 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | micro/stt-training/tools/mine_peoples_speech.py | 114 | except Exception as exc: # noqa: BLE001 | CODE |
| LOW | micro/stt-training/tools/mine_peoples_speech.py | 126 | except Exception: # noqa: BLE001 | CODE |
| LOW | micro/stt-training/tools/mine_peoples_speech.py | 168 | except Exception: # noqa: BLE001 | CODE |
| LOW | micro/stt-training/tools/synthesize.py | 71 | except Exception: # noqa: BLE001 - fall back to the baked-in list | CODE |
| LOW | micro/stt-training/tools/synthesize.py | 157 | except Exception as exc: # noqa: BLE001 | CODE |
| LOW | micro/stt-training/tools/download_musan_rirs.py | 89 | except Exception as exc: # noqa: BLE001 | CODE |
| LOW | micro/stt-training/tools/extract_clips.py | 248 | except Exception: # noqa: BLE001 | CODE |
| LOW | micro/stt-training/tools/extract_clips.py | 298 | except Exception: # noqa: BLE001 | CODE |
| LOW | micro/stt-training/stt_training/checkpoint.py | 76 | except Exception: # noqa: BLE001 | CODE |
| LOW | micro/stt-training/stt_training/augment.py | 93 | except Exception: # noqa: BLE001 | CODE |
| LOW | micro/stt-training/stt_training/augment.py | 119 | except Exception: # noqa: BLE001 | CODE |
| LOW | micro/stt-training/stt_training/dataset.py | 95 | except Exception as exc: # noqa: BLE001 | CODE |
| LOW | micro/examples/rp2350/scripts/usb_audio_bridge.py | 191 | except Exception as exc: # noqa: BLE001 | CODE |
| LOW | micro/examples/rp2350/scripts/usb_audio_bridge.py | 202 | except Exception as exc: # noqa: BLE001 | CODE |
| LOW | micro/examples/rp2350/scripts/usb_audio_bridge.py | 303 | except Exception as exc: # noqa: BLE001 | CODE |
| MEDIUM | micro/examples/rp2350/scripts/usb_audio_bridge.py | 108 | def _fill(self) -> bool: | CODE |
| LOW | python/src/moonshine_voice/mic_transcriber.py | 180 | except Exception as e: | CODE |
| LOW | python/src/moonshine_voice/transcriber.py | 495 | except Exception as e: | CODE |
| LOW | python/src/moonshine_voice/transcriber.py | 612 | except Exception as e: | CODE |
| LOW | python/src/moonshine_voice/transcriber.py | 626 | except Exception: | CODE |
| LOW | python/src/moonshine_voice/transcriber.py | 628 | except Exception: | CODE |
| LOW | python/src/moonshine_voice/download.py | 323 | except Exception: | CODE |
| LOW | python/src/moonshine_voice/download.py | 372 | except Exception as exc: # pragma: no cover - best-effort prefetch | CODE |
| MEDIUM | python/src/moonshine_voice/tts.py | 1326 | def __del__(self) -> None: | CODE |
| LOW | python/src/moonshine_voice/tts.py | 141 | except Exception: | CODE |
| LOW | python/src/moonshine_voice/tts.py | 148 | except Exception: | CODE |
| LOW | python/src/moonshine_voice/tts.py | 185 | except Exception: | CODE |
| LOW | python/src/moonshine_voice/tts.py | 189 | except Exception as e: | CODE |
| LOW | python/src/moonshine_voice/tts.py | 405 | except Exception: | CODE |
| LOW | python/src/moonshine_voice/tts.py | 672 | except Exception: | CODE |
| LOW | python/src/moonshine_voice/tts.py | 764 | except Exception: | CODE |
| LOW | python/src/moonshine_voice/tts.py | 785 | except Exception as e: | CODE |
| LOW | python/src/moonshine_voice/tts.py | 1051 | except Exception: | CODE |
| LOW | python/src/moonshine_voice/tts.py | 1088 | except Exception: | CODE |
| LOW | python/src/moonshine_voice/tts.py | 1193 | except Exception: | CODE |
| LOW | python/src/moonshine_voice/tts.py | 1233 | except Exception as stop_err: # pragma: no cover - defensive | CODE |
| LOW | python/src/moonshine_voice/tts.py | 1251 | except Exception: | CODE |
| LOW | python/src/moonshine_voice/tts.py | 1279 | except Exception: | CODE |
| LOW | python/src/moonshine_voice/tts.py | 1306 | except Exception: | CODE |
| LOW | python/src/moonshine_voice/tts.py | 1329 | except Exception: | CODE |
| LOW | python/src/moonshine_voice/cached_embeddings.py | 113 | except Exception as e: | CODE |
| LOW | python/src/moonshine_voice/cli.py | 64 | except Exception: # pragma: no cover - defensive fallback | CODE |
| MEDIUM | python/src/moonshine_voice/cli.py | 50 | def _package_version() -> str: | CODE |
| LOW | python/src/moonshine_voice/download_file.py | 18 | except Exception: # pragma: no cover - optional acceleration only | CODE |
| LOW | python/src/moonshine_voice/alphanumeric_listener.py | 948 | except Exception as e: | CODE |
| LOW | python/src/moonshine_voice/alphanumeric_listener.py | 973 | except Exception as e: | CODE |
| LOW | python/src/moonshine_voice/alphanumeric_listener.py | 1045 | except Exception as e: | CODE |
| LOW | python/src/moonshine_voice/g2p.py | 114 | except Exception: | CODE |
| MEDIUM | python/src/moonshine_voice/g2p.py | 111 | def __del__(self) -> None: | CODE |
| LOW⚡ | python/src/moonshine_voice/dialog_flow.py | 1901 | except Exception as e: | CODE |
| LOW⚡ | python/src/moonshine_voice/dialog_flow.py | 1911 | except Exception as e: | CODE |
| LOW | python/src/moonshine_voice/dialog_flow.py | 293 | except Exception as e: | CODE |
| LOW | python/src/moonshine_voice/dialog_flow.py | 321 | except Exception as e: | CODE |
| LOW | python/src/moonshine_voice/dialog_flow.py | 330 | except Exception as exc: | CODE |
| LOW | python/src/moonshine_voice/dialog_flow.py | 920 | except Exception as e: | CODE |
| LOW | python/src/moonshine_voice/dialog_flow.py | 962 | except Exception as e: | CODE |
| LOW | python/src/moonshine_voice/dialog_flow.py | 1064 | except Exception as e: | CODE |
| LOW | python/src/moonshine_voice/dialog_flow.py | 1072 | except Exception as e: | CODE |
| LOW | python/src/moonshine_voice/dialog_flow.py | 1203 | except Exception as e: | CODE |
| LOW | python/src/moonshine_voice/dialog_flow.py | 1229 | except Exception as e: | CODE |
| 39 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | micro/stt-training/tools/mine_peoples_speech.py | 32 | CODE | |
| LOW | micro/stt-training/tools/synthesize.py | 19 | CODE | |
| LOW | micro/stt-training/tools/download_musan_rirs.py | 20 | CODE | |
| LOW | micro/stt-training/tools/extract_clips.py | 21 | CODE | |
| LOW | micro/stt-training/stt_training/checkpoint.py | 3 | CODE | |
| LOW | micro/stt-training/stt_training/__init__.py | 12 | CODE | |
| LOW | micro/stt-training/stt_training/__init__.py | 12 | CODE | |
| LOW | micro/stt-training/stt_training/__init__.py | 12 | CODE | |
| LOW | micro/stt-training/stt_training/__init__.py | 12 | CODE | |
| LOW | micro/stt-training/stt_training/features.py | 8 | CODE | |
| LOW | micro/stt-training/stt_training/export.py | 24 | CODE | |
| LOW | micro/stt-training/stt_training/augment.py | 12 | CODE | |
| LOW | micro/stt-training/stt_training/augment.py | 18 | CODE | |
| LOW | micro/stt-training/stt_training/model.py | 9 | CODE | |
| LOW | micro/stt-training/stt_training/model.py | 14 | CODE | |
| LOW | micro/stt-training/stt_training/dataset.py | 8 | CODE | |
| LOW | micro/stt-training/stt_training/train.py | 14 | CODE | |
| LOW | micro/stt-training/stt_training/words.py | 7 | CODE | |
| LOW | micro/stt-training/stt_training/evaluate.py | 14 | CODE | |
| LOW | micro/examples/rp2350/scripts/usb_audio_bridge.py | 30 | CODE | |
| LOW | micro/examples/rp2350/scripts/usb_audio_bridge.py | 36 | CODE | |
| LOW | micro/examples/rp2350/scripts/usb_audio_bridge.py | 219 | CODE | |
| LOW | …examples/rp2350/scripts/generate_speaker_test_clips.py | 11 | CODE | |
| LOW | micro/examples/rp2350/scripts/capture_neural_tts.py | 11 | CODE | |
| LOW | micro/examples/rp2350/scripts/capture_stt.py | 25 | CODE | |
| LOW | micro/third-party/pico-tflmicro/sync/create_tests.py | 19 | CODE | |
| LOW | micro/third-party/pico-tflmicro/sync/create_tests.py | 20 | CODE | |
| LOW | micro/third-party/pico-tflmicro/sync/create_tests.py | 21 | CODE | |
| LOW | …cro/third-party/pico-tflmicro/sync/transform_source.py | 21 | CODE | |
| LOW | …cro/third-party/pico-tflmicro/sync/transform_source.py | 22 | CODE | |
| LOW | …cro/third-party/pico-tflmicro/sync/transform_source.py | 23 | CODE | |
| LOW | …ird-party/pico-tflmicro/sync/fix_arduino_subfolders.py | 18 | CODE | |
| LOW | …ird-party/pico-tflmicro/sync/fix_arduino_subfolders.py | 19 | CODE | |
| LOW | …ird-party/pico-tflmicro/sync/fix_arduino_subfolders.py | 20 | CODE | |
| LOW | micro/vad/scripts/generate_vad_embedded_data.py | 23 | CODE | |
| LOW | micro/vad/scripts/generate_vad_embedded_data.py | 26 | CODE | |
| LOW | micro/stt/scripts/desktop_parity.py | 21 | CODE | |
| LOW | micro/stt/scripts/desktop_parity.py | 25 | CODE | |
| LOW | micro/stt/scripts/generate_embedded_data.py | 32 | CODE | |
| LOW | micro/stt/scripts/generate_embedded_data.py | 36 | CODE | |
| LOW | python/src/moonshine_voice/mic_transcriber.py | 8 | CODE | |
| LOW | python/src/moonshine_voice/transcriber.py | 22 | CODE | |
| LOW | python/src/moonshine_voice/cached_embeddings.py | 38 | CODE | |
| LOW | python/src/moonshine_voice/__init__.py | 8 | CODE | |
| LOW | python/src/moonshine_voice/__init__.py | 8 | CODE | |
| LOW | python/src/moonshine_voice/__init__.py | 8 | CODE | |
| LOW | python/src/moonshine_voice/__init__.py | 8 | CODE | |
| LOW | python/src/moonshine_voice/__init__.py | 8 | CODE | |
| LOW | python/src/moonshine_voice/__init__.py | 8 | CODE | |
| LOW | python/src/moonshine_voice/__init__.py | 8 | CODE | |
| LOW | python/src/moonshine_voice/__init__.py | 18 | CODE | |
| LOW | python/src/moonshine_voice/__init__.py | 18 | CODE | |
| LOW | python/src/moonshine_voice/__init__.py | 18 | CODE | |
| LOW | python/src/moonshine_voice/__init__.py | 18 | CODE | |
| LOW | python/src/moonshine_voice/__init__.py | 18 | CODE | |
| LOW | python/src/moonshine_voice/__init__.py | 18 | CODE | |
| LOW | python/src/moonshine_voice/__init__.py | 27 | CODE | |
| LOW | python/src/moonshine_voice/__init__.py | 27 | CODE | |
| LOW | python/src/moonshine_voice/__init__.py | 27 | CODE | |
| LOW | python/src/moonshine_voice/__init__.py | 27 | CODE | |
| 49 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | micro/examples/rp2350/CMakeLists.txt | 502 | # Step 1: blink the LED, nothing else. | COMMENT |
| LOW | micro/examples/rp2350/CMakeLists.txt | 523 | # Step 2: blinky + one printf per second over USB CDC. | COMMENT |
| LOW | micro/examples/rp2350/CMakeLists.txt | 537 | # Step 3: step 2 + heap probe + kissfft plans + one FFT per tick. | COMMENT |
| LOW | micro/examples/rp2350/CMakeLists.txt | 551 | # Step 4: same code as step 3, but with the TTS app's custom memory | COMMENT |
| LOW | micro/examples/rp2350/CMakeLists.txt | 570 | # Step 5: step 4 + real WorldLiteSynth construction + FFT self-test/tick. | COMMENT |
| LOW | micro/examples/rp2350/CMakeLists.txt | 588 | # Step 6: step 5 + PbDecoder (TFLM) + one tile decode per tick. | COMMENT |
| LOW | micro/examples/rp2350/CMakeLists.txt | 619 | # Step 7: step 6 + full synthesis per utterance, PCM discarded. | COMMENT |
| LOW⚡ | …arty/pico-tflmicro/src/tensorflow/lite/core/c/common.h | 1428 | // NOTE: This function is part of the TensorFlow Lite Extension APIs, see above. | COMMENT |
| LOW⚡ | …arty/pico-tflmicro/src/tensorflow/lite/core/c/common.h | 1434 | // NOTE: This function is part of the TensorFlow Lite Extension APIs, see above. | COMMENT |
| LOW⚡ | …arty/pico-tflmicro/src/tensorflow/lite/core/c/common.h | 1440 | // NOTE: This function is part of the TensorFlow Lite Extension APIs, see above. | COMMENT |
| LOW | …arty/pico-tflmicro/src/tensorflow/lite/core/c/common.h | 1009 | /// NOTE: This function is expected to be paired with ReleaseSubgraphContext() | COMMENT |
| LOW | …arty/pico-tflmicro/src/tensorflow/lite/core/c/common.h | 1020 | /// NOTE: This function is expected to be used after AcquireSubgraphContext() | COMMENT |
| LOW⚡ | core/word-alignment.cpp | 196 | // Step 1: Copy cross_attention_data into a working buffer | COMMENT |
| LOW⚡ | core/word-alignment.cpp | 204 | // Step 2: Z-score normalize per head (along the time/encoder_frames axis) | COMMENT |
| LOW⚡ | core/word-alignment.cpp | 242 | // Step 3: Median filter (width=7) along the last axis | COMMENT |
| LOW⚡ | core/word-alignment.cpp | 248 | // Step 4: Average across all heads/layers -> [n_steps, encoder_frames] | COMMENT |
| LOW | core/word-alignment.cpp | 267 | // Step 5: Run DTW on the negated matrix | COMMENT |
| LOW | core/word-alignment.cpp | 279 | // Step 6: Group tokens into words using SentencePiece word boundaries | COMMENT |
| LOW | core/word-alignment.cpp | 332 | // Step 7: Map DTW alignment to word start/end times | COMMENT |
| LOW | core/word-alignment.cpp | 383 | // Step 8: Fix overlapping word boundaries (snap to midpoint) | COMMENT |
| LOW⚡ | scripts/export-decoder-with-attention.py | 76 | # Step 1: Load the original .ort and save as ONNX | COMMENT |
| LOW⚡ | scripts/export-decoder-with-attention.py | 84 | # Step 2: Modify the ONNX graph to add attention outputs | COMMENT |
| LOW⚡ | scripts/export-decoder-with-attention.py | 194 | # Step 3: Convert to ORT format | COMMENT |
| LOW⚡ | scripts/export-decoder-with-attention.py | 204 | # Step 4: Verify | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | micro/stt-training/tools/mine_peoples_speech.py | 131 | CODE | |
| LOW | micro/stt-training/tools/mine_peoples_speech.py | 247 | CODE | |
| LOW | micro/stt-training/tools/synthesize.py | 85 | CODE | |
| LOW | micro/stt-training/tools/download_musan_rirs.py | 37 | CODE | |
| LOW | micro/stt-training/tools/download_musan_rirs.py | 67 | CODE | |
| LOW | micro/stt-training/tools/extract_clips.py | 171 | CODE | |
| LOW | micro/stt-training/stt_training/model.py | 146 | CODE | |
| LOW | micro/stt-training/stt_training/train.py | 88 | CODE | |
| LOW | micro/stt-training/stt_training/evaluate.py | 38 | CODE | |
| LOW | micro/examples/rp2350/scripts/usb_audio_bridge.py | 140 | CODE | |
| LOW | micro/examples/rp2350/scripts/usb_audio_bridge.py | 224 | CODE | |
| LOW | micro/examples/rp2350/scripts/usb_audio_bridge.py | 268 | CODE | |
| LOW | micro/examples/rp2350/scripts/capture_stt.py | 117 | CODE | |
| LOW | micro/third-party/pico-tflmicro/sync/create_tests.py | 33 | CODE | |
| LOW | …/third-party/pico-tflmicro/sync/create_tflm_arduino.py | 358 | CODE | |
| LOW | …/third-party/pico-tflmicro/sync/create_tflm_arduino.py | 421 | CODE | |
| LOW | micro/stt/scripts/generate_embedded_data.py | 617 | CODE | |
| LOW | python/tests/test_docs.py | 185 | CODE | |
| LOW | python/src/moonshine_voice/transcriber.py | 231 | CODE | |
| LOW | python/src/moonshine_voice/transcriber.py | 591 | CODE | |
| LOW | python/src/moonshine_voice/download.py | 511 | CODE | |
| LOW | python/src/moonshine_voice/tts.py | 1356 | CODE | |
| LOW | python/src/moonshine_voice/tts.py | 1288 | CODE | |
| LOW | python/src/moonshine_voice/moonshine_api.py | 182 | CODE | |
| LOW | python/src/moonshine_voice/moonshine_api.py | 200 | CODE | |
| LOW | python/src/moonshine_voice/utils.py | 47 | CODE | |
| LOW | python/src/moonshine_voice/errors.py | 107 | CODE | |
| LOW | python/src/moonshine_voice/download_file.py | 75 | CODE | |
| LOW | python/src/moonshine_voice/alphanumeric_listener.py | 1063 | CODE | |
| LOW | python/src/moonshine_voice/dialog_flow.py | 2120 | CODE | |
| LOW | python/src/moonshine_voice/dialog_flow.py | 380 | CODE | |
| LOW | python/src/moonshine_voice/dialog_flow.py | 1684 | CODE | |
| LOW | python/src/moonshine_voice/dialog_flow.py | 1865 | CODE | |
| LOW | examples/python/ollama-voice/ollama_voice.py | 69 | CODE | |
| LOW | scripts/analyze_ko_phoneme_patterns.py | 98 | CODE | |
| LOW | scripts/eval-alphanumeric.py | 138 | CODE | |
| LOW | scripts/convert_tokenizer.py | 29 | CODE | |
| LOW | scripts/analyze_ko_stress.py | 198 | CODE | |
| LOW | scripts/compare_ko_phonemes.py | 87 | CODE | |
| LOW | scripts/tts_g2p_intelligibility.py | 360 | CODE | |
| LOW | scripts/tts_g2p_intelligibility.py | 1197 | CODE | |
| LOW | scripts/tts_g2p_intelligibility.py | 1556 | CODE | |
| LOW | scripts/export-decoder-with-attention.py | 33 | CODE | |
| LOW | scripts/generate-model-file-metadata.py | 44 | CODE | |
| LOW | scripts/generate-model-file-metadata.py | 78 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …arty/flatbuffers/include/flatbuffers/vector_downward.h | 34 | // Essentially, this supports 2 std::vectors in a single buffer. | COMMENT |
| MEDIUM | …tflmicro/src/tensorflow/lite/micro/micro_interpreter.h | 144 | // utilize the space. If it's not the case, the optimial arena size would be | COMMENT |
| MEDIUM | …src/tensorflow/lite/micro/kernels/micro_tensor_utils.h | 41 | // TODO(b/230666277): consider removing this since micro does not utilize it | COMMENT |
| MEDIUM | …ensorflow/lite/kernels/internal/optimized/neon_check.h | 18 | // TFLM does not need to utilize any Neon optimizations. | COMMENT |
| MEDIUM | core/third-party/Eigen/src/Core/ConditionEstimator.h | 128 | // added to make the algorithm more robust in certain corner cases where | COMMENT |
| MEDIUM | core/third-party/Eigen/src/Core/arch/SSE/PacketMath.h | 123 | // to leverage AVX instructions. | COMMENT |
| MEDIUM | core/third-party/Eigen/src/Core/arch/SSE/Complex.h | 26 | // to leverage AVX instructions. | COMMENT |
| MEDIUM | core/third-party/Eigen/src/Core/arch/SSE/Complex.h | 194 | // to leverage AVX instructions. | COMMENT |
| MEDIUM | core/third-party/Eigen/src/Core/arch/AVX/PacketMath.h | 56 | // to leverage AVX512 instructions. | COMMENT |
| MEDIUM | core/third-party/Eigen/src/Core/arch/AVX/PacketMath.h | 638 | // NOTE: leverage _mm256_i32gather_ps and _mm256_i32gather_pd if AVX2 instructions are available | COMMENT |
| MEDIUM | core/third-party/Eigen/src/Geometry/AngleAxis.h | 200 | // let's use the robust Quaternion implementation: | COMMENT |
| LOW | python/src/moonshine_voice/transcriber.py | 492 | # transcribe() already calls _notify_from_transcript(), so we just call it | COMMENT |
| LOW | scripts/reliability-remote.sh | 357 | # cheap threaded sanity check. Building the whole tree would just add minutes. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | micro/examples/rp2350/scripts/flash.sh | 5 | # Usage: | COMMENT |
| LOW | micro/examples/rp2350/scripts/build.sh | 14 | # Usage: | COMMENT |
| LOW | micro/examples/rp2350/scripts/monitor.sh | 59 | # Usage: | COMMENT |
| LOW | …co-tflmicro/src/tensorflow/lite/micro/micro_profiler.h | 108 | // Usage example: | COMMENT |
| LOW | core/moonshine-cpp.h | 705 | /// Example usage: | COMMENT |
| LOW | core/moonshine-cpp.h | 805 | /// Example usage: | COMMENT |
| LOW | python/src/moonshine_voice/download_file.py | 255 | # Example usage | COMMENT |
| LOW | scripts/test-android.sh | 12 | # Usage: | COMMENT |
| LOW | scripts/check-banned-constructs.sh | 21 | # Usage: | COMMENT |
| LOW | scripts/build-android.sh | 15 | # Usage: | COMMENT |
| LOW | scripts/finish-release.sh | 7 | # Usage: | COMMENT |
| LOW | scripts/test-model-downloads.sh | 32 | # Usage: | COMMENT |
| LOW | scripts/test-python.sh | 8 | # Usage: | COMMENT |
| LOW | scripts/check-clang-tidy.sh | 16 | # Usage: | COMMENT |
| LOW | scripts/test-examples.sh | 12 | # Usage: | COMMENT |
| LOW | scripts/format-core.sh | 8 | # Usage: | COMMENT |
| LOW⚡ | scripts/start-candidate.sh | 47 | # Usage: | COMMENT |
| LOW | scripts/update-version.sh | 5 | # Usage: | COMMENT |
| LOW | scripts/test-docs.sh | 11 | # Usage: | COMMENT |
| LOW | scripts/gh-upload-retry.sh | 14 | # Usage: | COMMENT |
| LOW | scripts/build-all-platforms.sh | 5 | # Usage: | COMMENT |
| LOW | scripts/reliability.sh | 17 | # Usage: | COMMENT |
| LOW | scripts/preflight-release.sh | 7 | # Usage: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | README.md | 1036 | One common issue to watch out for if you're using models that don't use the Latin alphabet (so any languages except Engl | CODE |
| MEDIUM | README.md | 1286 | A flow is an ordinary Python generator function that takes a [`Dialog`](#dialog) as its argument and yields prompt objec | CODE |
| MEDIUM | core/moonshine-tts/CMakeLists.txt | 166 | # ZipVoice zero-shot voice-cloning engine: compiled-in ai.zipvoice custom ops + embedded VCTK | COMMENT |
| MEDIUM | python/README.md | 48 | # We use an event-driven interface to respond in real time | COMMENT |
| MEDIUM | python/src/moonshine_voice/download.py | 39 | # The speech-to-text and embedding model tables used to be duplicated here. They | COMMENT |
| MEDIUM | python/src/moonshine_voice/tts.py | 491 | # ZipVoice zero-shot voice cloning: supply your own reference clip via ``clone`` (a .wav | COMMENT |
| MEDIUM⚡ | python/src/moonshine_voice/dialog_flow.py | 2115 | # and every trigger / confirmation / choice goes through the embedding model. | COMMENT |
| MEDIUM | python/src/moonshine_voice/dialog_flow.py | 637 | # utterances) fall through to the embedding model, which | COMMENT |
| MEDIUM | examples/raspberry-pi/my-dalek/my-dalek.py | 36 | # embedding model it downloads and loads for us. These are "globals": one-shot | COMMENT |
| MEDIUM | scripts/eval-speaker-id.py | 12 | # Starting point for v1 of speaker identification (embedding model + | COMMENT |
| MEDIUM | scripts/eval-model-accuracy.py | 131 | # so we can use a lower max tokens per second to avoid hallucinations. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …o/third-party/pico-tflmicro/sync/sync_with_upstream.sh | 22 | # Create the TFLM base tree | COMMENT |
| MEDIUM | …o/third-party/pico-tflmicro/sync/sync_with_upstream.sh | 30 | # Create the final tree in ${ARDUINO_REPO_DIR} using the base tree in ${TFLM_TREE_DIR} | COMMENT |
| MEDIUM | micro/third-party/pico-tflmicro/sync/MANIFEST.ini | 2 | # This file is parsed by the create_tflm_arduino.py script using | COMMENT |
| MEDIUM | micro/third-party/pico-tflmicro/sync/MANIFEST.ini | 11 | # The following sections are required: | COMMENT |
| MEDIUM | python/src/moonshine_voice/intent_recognizer.py | 92 | # Create the intent recognizer | COMMENT |
| MEDIUM | python/src/moonshine_voice/transcriber.py | 144 | # Create a ctypes array from the options list | COMMENT |
| MEDIUM | scripts/eval-speaker-id.py | 46 | # Create a new transcriber for each sample to avoid remembering previous speaker IDs. | COMMENT |
| MEDIUM | scripts/gh-upload-retry.sh | 31 | # Create the release if it is missing. Pass -R explicitly because callers may | COMMENT |
| MEDIUM | scripts/publish-binary.sh | 122 | # Create the release if needed and upload with a bounded per-attempt timeout | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | core/word-alignment.cpp | 196 | // Step 1: Copy cross_attention_data into a working buffer | COMMENT |
| LOW⚡ | core/word-alignment.cpp | 204 | // Step 2: Z-score normalize per head (along the time/encoder_frames axis) | COMMENT |
| LOW⚡ | core/word-alignment.cpp | 242 | // Step 3: Median filter (width=7) along the last axis | COMMENT |
| LOW⚡ | core/word-alignment.cpp | 248 | // Step 4: Average across all heads/layers -> [n_steps, encoder_frames] | COMMENT |
| LOW | core/word-alignment.cpp | 267 | // Step 5: Run DTW on the negated matrix | COMMENT |
| LOW | core/word-alignment.cpp | 279 | // Step 6: Group tokens into words using SentencePiece word boundaries | COMMENT |
| LOW | core/word-alignment.cpp | 332 | // Step 7: Map DTW alignment to word start/end times | COMMENT |
| LOW | core/word-alignment.cpp | 383 | // Step 8: Fix overlapping word boundaries (snap to midpoint) | COMMENT |
| LOW⚡ | scripts/export-decoder-with-attention.py | 76 | # Step 1: Load the original .ort and save as ONNX | COMMENT |
| LOW⚡ | scripts/export-decoder-with-attention.py | 84 | # Step 2: Modify the ONNX graph to add attention outputs | COMMENT |
| LOW⚡ | scripts/export-decoder-with-attention.py | 194 | # Step 3: Convert to ORT format | COMMENT |
| LOW⚡ | scripts/export-decoder-with-attention.py | 204 | # Step 4: Verify | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | core/third-party/Eigen/src/Core/arch/SSE/PacketMath.h | 547 | // In this implementation, we take advantage of the fact that pmin/pmax for SSE | COMMENT |
| HIGH | core/third-party/Eigen/src/Core/arch/SSE/PacketMath.h | 556 | // In this implementation, we take advantage of the fact that pmin/pmax for SSE | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | python/src/moonshine_voice/utils.py | 48 | Load a WAV file and return audio data as float array and sample rate. Supports 16-bit and 24-bit PCM WAV files | STRING |
| HIGH | python/src/moonshine_voice/download_file.py | 85 | Download a file with progress bar, resume support, and integrity checking. Args: url: URL to download | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | micro/stt-training/stt_training/__init__.py | 14 | __all__ = [ | CODE |
| LOW | python/src/moonshine_voice/intent_recognizer.py | 454 | def set_on_intent(self, callback: Optional[Callable[[IntentMatch], None]]) -> None: | CODE |
| LOW | python/src/moonshine_voice/mic_transcriber.py | 227 | def set_transcribe_flags(self, flags: int) -> None: | CODE |
| LOW | python/src/moonshine_voice/transcriber.py | 468 | def set_transcribe_flags(self, flags: int) -> None: | CODE |
| LOW | python/src/moonshine_voice/__init__.py | 266 | __all__ = [ | CODE |
| LOW | python/src/moonshine_voice/dialog_flow.py | 1010 | def set_spelling_mode(active: bool) -> None: | CODE |
| LOW | python/src/moonshine_voice/dialog_flow.py | 1519 | def _set_spelling_mode(self, active: bool) -> None: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | core/third-party/Eigen/src/Core/util/SymbolicIndex.h | 19 | * Here is a simple example: | COMMENT |
| MEDIUM | …hird-party/Eigen/src/Core/arch/AltiVec/MatrixProduct.h | 114 | * As mentioned earlier MatrixProduct breaks complex numbers into a real vector and a complex vector so packing has | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | scripts/generate-model-file-metadata.py | 157 | " if (it != end && it->url == key) {", | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | python/src/moonshine_voice/download_file.py | 114 | # Check if already downloaded and valid. For cached files we only verify | COMMENT |
| LOW | scripts/analyze_ko_stress.py | 150 | # Check if everything before ˈ is consonantal onset | COMMENT |
| LOW | scripts/publish-examples.sh | 13 | # Check if the GitHub release exists; create it if missing | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | micro/stt-training/stt_training/features.py | 23 | CODE | |
| LOW | micro/stt-training/stt_training/augment.py | 36 | CODE | |
| LOW | python/src/moonshine_voice/mic_transcriber.py | 22 | CODE | |
| LOW | python/src/moonshine_voice/tts.py | 477 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | core/moonshine-utils/debug-utils-test.cpp | 71 | "Lorem ipsum dolor sit amet, consectetur adipiscing " | CODE |
| LOW | core/moonshine-utils/debug-utils-test.cpp | 71 | "Lorem ipsum dolor sit amet, consectetur adipiscing " | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …rd_party/flatbuffers/include/flatbuffers/flexbuffers.h | 128 | // TODO: implement proper support for 8/16bit floats, or decide not to | COMMENT |