Skip to content

Audio input is microphone-only: no Core Audio process tap for system audio #243

Description

@kacperpaczos

Sources/VocaMac/Services/AudioEngine.swift is AVAudioEngine microphone capture — its own header says "Real-time microphone audio capture using AVAudioEngine". There is no path to what the machine is playing.

macOS 14.4 added Core Audio process taps (AudioHardwareCreateProcessTap plus an aggregate device), which is the current way to capture system or per-process audio without a virtual driver like BlackHole. ScreenCaptureKit is the alternative, and it is what the meeting-notes apps use — Mono asks for screen-recording permission for exactly this reason.

The same gap exists in the sibling clients: VocaLinux is on PortAudio, VocaWin on cpal. I am filing per platform because the implementation is entirely different in each.

This is irrelevant to dictation. It only matters if transcription of non-microphone audio ever comes into scope.

Came out of comparing what each Voca client takes from its platform. I do not have a Mac, so this is from reading the source rather than from using the app.

Same gap on the sibling clients: VocaHQ/vocalinux#751 (PipeWire) and VocaHQ/vocawin#38 (WASAPI loopback).

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

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions