diff --git a/src/components/recorder/LiveRecorder.tsx b/src/components/recorder/LiveRecorder.tsx
index 9de8bef..b57a247 100644
--- a/src/components/recorder/LiveRecorder.tsx
+++ b/src/components/recorder/LiveRecorder.tsx
@@ -39,9 +39,13 @@ export function LiveRecorder({
// 화자 분리를 켜면 트랙마다 인식기를 붙인다. 트랙이 곧 화자가 되므로
// 추론 없이 화자가 갈린다.
+ // 두 트랙을 실제로 확보했을 때만 화자를 라벨링한다.
+ // 마이크만 잡힌 상태에서 라벨을 붙이면 상대 발언이 내 것으로 기록된다.
+ const isSeparating = capture.mode === 'dual-stream'
+
const local = useSpeechRecognition({
audioTrack: speakerSeparation ? capture.micTrack : null,
- speaker: speakerSeparation ? LOCAL_SPEAKER : undefined,
+ speaker: isSeparating ? LOCAL_SPEAKER : undefined,
timeOrigin: timeOriginRef.current || undefined,
})
@@ -61,10 +65,10 @@ export function LiveRecorder({
const chunks = useMemo(
() =>
- speakerSeparation
+ isSeparating
? mergeSpeakerChunks(local.chunks, remote.chunks)
: local.chunks,
- [speakerSeparation, local.chunks, remote.chunks],
+ [isSeparating, local.chunks, remote.chunks],
)
// 캡처가 끝나 트랙이 준비되면 그때 인식기를 시작한다.
@@ -252,6 +256,11 @@ export function LiveRecorder({
정확합니다. 시작 시 화면 공유 대화상자에서 “탭 오디오 공유”를
반드시 켜주세요.
+
+ 한 대의 노트북을 앞에 두고 마주 앉은 대면 회의에서는 동작하지
+ 않습니다. 마이크 하나에 두 사람 목소리가 섞여 들어오기 때문입니다.
+ 이 경우 화자 라벨 없이 녹음되며, 대면 화자 분리는 준비 중입니다.
+