Skip to content

[Bug]: Speaker diarization download succeeds but validation checks legacy model directory #92

Description

@7panni

System Information

Pindrop: 1.22.5 (26)
macOS: 26.3 (Build 25D125)
Chip: Apple M4
Hardware: Mac mini (Mac16,10), 16 GB RAM
Transcription model: openai_whisper-large-v3_turbo

What happened?

Downloading the required Speaker Diarization model appears to finish, but Pindrop reports:

Download failed: Speaker diarization model files are incomplete after download

The download actually writes a complete model set to FluidAudio's current directory, ~/Library/Application Support/FluidAudio/Models/speaker-diarization, including Segmentation.mlmodelc, Embedding.mlmodelc, PldaRho.mlmodelc, FBank.mlmodelc, config.json, plda-parameters.json, and xvector-transform.json.

Pindrop 1.22.5 still identifies the feature-model directory as speaker-diarization-coreml. Repeated clicks fail immediately after the first complete download because validation looks at the legacy directory name.

A reversible workaround was to preserve the old speaker-diarization-coreml directory and replace it with a symlink to speaker-diarization. After restarting Pindrop, the warning disappeared, the model loaded successfully as offline-community1, and diarization completed on a 35:51 audio file with three observed speakers.

Expected Behavior

After DiarizerModels.download() completes and the required model files exist in FluidAudio's current default directory, Pindrop should recognize Speaker Diarization as downloaded and allow media transcription without requiring a manual filesystem workaround.

Steps to Reproduce

  1. Install or update to Pindrop 1.22.5 (26).
  2. Open media transcription without an already recognized diarization model.
  3. Click Download model.
  4. Wait for the download to complete.
  5. Observe Speaker diarization model files are incomplete after download.
  6. Verify that the complete files were written under FluidAudio/Models/speaker-diarization, while Pindrop expects speaker-diarization-coreml.
  7. Click Download model again; it fails immediately with the same message.

Log File Attachment

Relevant redacted log lines (full log omitted because it contains local filesystem paths):

2026-08-27T20:13:07.241+08:00 [INFO] [Model] Downloading feature model: Speaker Diarization
2026-08-27T20:14:19.774+08:00 [ERROR] [Model] Feature model download failed: Download failed: Speaker diarization model files are incomplete after download
2026-08-27T20:21:41.196+08:00 [INFO] [Model] Downloading feature model: Speaker Diarization
2026-08-27T20:21:41.272+08:00 [ERROR] [Model] Feature model download failed: Download failed: Speaker diarization model files are incomplete after download

After the directory-name compatibility symlink and restart:

2026-08-27T20:31:34.580+08:00 [INFO] [Transcription] Speaker diarization model loaded (offline-community1)
2026-08-27T20:31:42.962+08:00 [INFO] [Transcription] Diarization pipeline=offline-community1 requestedSpeakers=automatic observedSpeakers=3 audioDuration=2151.083s processingDuration=8.381s

Permissions

  • Microphone access
  • Accessibility access

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions