Skip to content

Add speaker count controls, mic mixing, and configurable cloud transcription - #7

Merged
buzz39 merged 16 commits into
mainfrom
copilot/fix-article-identification-issues
Apr 28, 2026
Merged

buzz39 merged 16 commits into
mainfrom
copilot/fix-article-identification-issues

Conversation

Copilot AI commented Apr 28, 2026

Copy link
Copy Markdown
Contributor

The recorder was over-splitting a two-person meeting into extra speaker labels, loopback capture did not reliably include the local speaker’s microphone, and local Whisper startup/resource usage made low-spec machines difficult to support.

  • Speaker diarization controls

    • Added exact speaker count support via --speaker-count / --speakers.
    • Added --max-speakers to cap diarization when the exact count is unknown.
    • Passes speaker constraints through to pyannote and applies the same cap to the energy-based fallback.
  • Local microphone capture

    • Added optional microphone mixing with WASAPI loopback via --include-mic.
    • Added --mic-device and --mic-gain for device selection and level tuning.
    • Saves the mixed audio when microphone capture is enabled, so playback and transcript inputs match.
  • Configurable cloud transcription provider

    • Added API-backed transcription without loading local Whisper models.
    • Supports --provider openai, --provider vercel, and --provider compatible.
    • Supports configurable cloud models via --transcription-model / TRANSCRIPTION_MODEL.
    • Supports Vercel AI Gateway via AI_GATEWAY_API_KEY.
    • Supports generic OpenAI-compatible transcription APIs via --transcription-base-url / TRANSCRIPTION_BASE_URL.
    • Keeps local faster-whisper as the default provider.
    • Keeps --openai-model, OPENAI_API_KEY, and OPENAI_TRANSCRIBE_MODEL working for backwards compatibility.
  • Docs and coverage

    • Documented recommended usage for two-speaker meetings, microphone mixing, OpenAI cloud transcription, Vercel AI Gateway, and compatible cloud transcription endpoints.
    • Added tests for speaker caps, cloud provider selection, endpoint construction, model fallback behavior, config env fallback behavior, and transcription request handling.

Example usage:

# Two-person meeting: prevent extra Speaker 3/4 labels
python recorder.py start --speaker-count 2

# Capture both remote audio and your microphone
python recorder.py start --include-mic --mic-gain 1.5

# Use OpenAI cloud transcription on low-resource systems
set OPENAI_API_KEY=sk_your_key_here
python recorder.py start --provider openai --transcription-model whisper-1

# Use Vercel AI Gateway / compatible model routing
set AI_GATEWAY_API_KEY=your_gateway_key_here
python recorder.py start --provider vercel --transcription-model openai/whisper-1

# Use another OpenAI-compatible transcription endpoint
set TRANSCRIPTION_API_KEY=your_key_here
python recorder.py start --provider compatible --transcription-base-url https://example.com/v1 --transcription-model provider/model

Copilot AI and others added 7 commits April 28, 2026 03:56
Agent-Logs-Url: https://github.com/buzz39/meeting-recorder/sessions/4a5e55d8-e31e-414f-b810-87ebbfdf919f

Co-authored-by: buzz39 <16227736+buzz39@users.noreply.github.com>
Agent-Logs-Url: https://github.com/buzz39/meeting-recorder/sessions/4a5e55d8-e31e-414f-b810-87ebbfdf919f

Co-authored-by: buzz39 <16227736+buzz39@users.noreply.github.com>
Agent-Logs-Url: https://github.com/buzz39/meeting-recorder/sessions/4a5e55d8-e31e-414f-b810-87ebbfdf919f

Co-authored-by: buzz39 <16227736+buzz39@users.noreply.github.com>
@buzz39

buzz39 commented Apr 28, 2026

Copy link
Copy Markdown
Owner

@copilot can you add vercel SDK so we can use any model instead of only hardocing to openai

Copilot AI and others added 9 commits April 28, 2026 04:09
Agent-Logs-Url: https://github.com/buzz39/meeting-recorder/sessions/6e0c6c3b-19cc-4cbd-b6e5-78f1e07f0e47

Co-authored-by: buzz39 <16227736+buzz39@users.noreply.github.com>
Agent-Logs-Url: https://github.com/buzz39/meeting-recorder/sessions/6e0c6c3b-19cc-4cbd-b6e5-78f1e07f0e47

Co-authored-by: buzz39 <16227736+buzz39@users.noreply.github.com>
Agent-Logs-Url: https://github.com/buzz39/meeting-recorder/sessions/6e0c6c3b-19cc-4cbd-b6e5-78f1e07f0e47

Co-authored-by: buzz39 <16227736+buzz39@users.noreply.github.com>

Copilot AI commented Apr 28, 2026

Copy link
Copy Markdown
Contributor Author

@copilot can you add vercel SDK so we can use any model instead of only hardocing to openai

Addressed in 8825eb3. Cloud transcription is no longer hardcoded to OpenAI: it now supports --provider vercel for Vercel AI Gateway plus --provider compatible with --transcription-base-url and --transcription-model for other OpenAI-compatible transcription APIs.

Copilot AI changed the title Add speaker count controls, mic mixing, and cloud transcription Add speaker count controls, mic mixing, and configurable cloud transcription Apr 28, 2026
Copilot AI requested a review from buzz39 April 28, 2026 04:19
@buzz39
buzz39 marked this pull request as ready for review April 28, 2026 06:04
@buzz39
buzz39 merged commit f28c5ed into main Apr 28, 2026
11 checks passed
@buzz39
buzz39 deleted the copilot/fix-article-identification-issues branch April 28, 2026 06:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants