Phase 1: dual-track audio capture → mixed-mono 16 kHz WAV + mic VAD
AudioRecorder captures system audio (ScreenCaptureKit) + mic (AVAudioEngine) on a single serial ioQueue, one shared monotonic t0, time-driven writers (pad gaps / trim overlaps) so tracks stay aligned, and an energy mic-VAD for 'self' spans. AudioMixer sums the aligned tracks into mixed_mono_16k.wav. SessionController drives a serialized start/stop state machine, writes the session folder + self_vad.json, exposes live level meters, and finalizes on quit. Hardening from review: ioQueue single-domain (no races), stop() never hangs (mic-first teardown + bounded stopCapture), layout-agnostic mic deep-copy, discard-only video output to keep SCStream alive, VAD lockstep on committed frames, stable signing team in project.yml, single-instance enforcement.
This commit is contained in:
+5
-3
@@ -13,9 +13,11 @@ settings:
|
||||
CURRENT_PROJECT_VERSION: "1"
|
||||
SWIFT_VERSION: "5.0"
|
||||
CODE_SIGN_STYLE: Automatic
|
||||
# Leave the team empty; pick your free personal team in Xcode's
|
||||
# Signing & Capabilities tab on first open (see README).
|
||||
DEVELOPMENT_TEAM: ""
|
||||
# Grant's free personal team (cert OU). Baked in so `xcodegen generate` keeps
|
||||
# a STABLE signing identity across regenerations — macOS ties TCC permission
|
||||
# grants (Mic / Screen Recording / Accessibility) to this identity, so a
|
||||
# stable team is what makes those permissions persist across rebuilds.
|
||||
DEVELOPMENT_TEAM: "BK4Y6CXN35"
|
||||
|
||||
targets:
|
||||
Ten31Transcripts:
|
||||
|
||||
Reference in New Issue
Block a user