Repository navigation
[feat] 마이크 + 회의 소리 녹음 소스를 추가한다 - #15
Merged
Merged
Conversation
…hone Why: Slack huddles, Zoom and Google Meet play the other side through the speakers, so a microphone-only recording never contained it. The recorder now offers "마이크 + 회의 소리": the default output device is captured through cpal loopback (WASAPI on Windows, Core Audio tap on macOS 14.6+) into its own track, and the two tracks are merged into the usual single mono WAV after stop, so transcription, Drive upload and meeting folders are unchanged. The system track is downmixed to mono in the writer thread, a silent render stream keeps WASAPI loopback delivering during silence, and every failure or discard path removes all partial files and the empty meeting folder. The choice is saved at once and restored on launch. Microphone-only recording is unchanged. Refs: galpi#14 Tested: cargo fmt --check, cargo clippy --all-targets -D warnings, cargo test --all-targets (351 passed) on Windows; bun run check, bun test (274 passed); worker unittest (141); verify-platform-fence.py, verify-docs-platform.py. Windows real-device runs (not committed): loopback keeps silence gaps, combined recording merges to one mono WAV, discard leaves no folder, the installed worker transcribes the merged file. Merge of 10 min of audio takes about 1.2 s in release. Not-tested: macOS (no Mac: process tap, 14.6 gate, permission prompt, input capable output device rejection), the installed app's UI path, the silent stream's effect on other apps' volume, the rendered layout.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
요약
녹음 카드에서
마이크만과마이크 + 회의 소리중 녹음 소스를 고를 수 있습니다.마이크 + 회의 소리를 고르면 내 마이크에 더해 컴퓨터 스피커로 나오는 소리(Slack 허들, Zoom, Google Meet의 상대방 목소리)를 함께 녹음하고, 정지하면 회의 폴더에 WAV 파일 하나로 합칩니다. 합친 파일은 기존 전사, 화자 분리, Drive 업로드 흐름을 그대로 탑니다.마이크만녹음은 이전과 같습니다.Closes #14
변경 내용
segmented-control마크업과 SEED 토큰으로녹음 소스선택을 넣었습니다. 선택은 바로 저장되고 다음 실행에 복원되며, 녹음 중에는 바뀌지 않습니다. 저장에 실패하면 이전 선택으로 돌아가고 오류를 알립니다.마이크 + 회의 소리를 고르면 스피커 대신 헤드폰을 쓰라는 안내가 보입니다.SYSTEM_AUDIO_UNAVAILABLE과 함께 이유와 "마이크만 녹음은 계속 쓸 수 있습니다."라는 안내를 한국어로 보여 줍니다. 시작 실패, 녹음 실패, 버리기 어느 경우에도 모든.part파일과 빈 회의 폴더를 지웁니다.recordingSource가 생기고(구버전은 이 키를 무시),start_recording에source인자가 늘었으며, Tauri 명령은 38개에서 40개가 됩니다.Info.plist에NSAudioCaptureUsageDescription을 추가했고, README, DESIGN, ARCHITECTURE, 수동 Windows 확인 목록, 결정 기록(ADR)을 갱신했습니다.마이크만녹음의 파일 이름과 형식.확인한 것
cargo fmt --check,cargo clippy --all-targets -- -D warnings,cargo test --all-targets(351건),bun run check,bun test(274건), worker 단위 테스트(141건), 플랫폼 문서 검사를 모두 통과했습니다.마이크 + 회의 소리녹음은 mono 48 kHz 파일 하나로 합쳐졌고 정지부터 합치기까지 0.28초가 걸렸습니다. 폴더에는 최종.wav만 남았습니다. 버리면 폴더가 남지 않았고,마이크만녹음은 이전과 같은 2채널 파일이었습니다.리뷰 포인트