mirror of
https://github.com/nad4-su/meeting-minutes.git
synced 2026-10-11 15:50:13 +09:00
fix: 두 트랙을 확보했을 때만 화자를 라벨링
대면 회의처럼 시스템 오디오가 없는 상황에서 화자 분리를 켜면, 마이크에 섞여 들어온 상대 발언까지 "나"로 기록되는 문제가 있었다. 라벨이 틀리는 것은 라벨이 없는 것보다 나쁘다. capture.mode가 'dual-stream'일 때만 speaker를 붙이고, 마이크 단독으로 폴백하면 라벨 없이 기존 형식으로 기록한다. 설정 UI에도 대면 회의에서는 동작하지 않는다는 점을 명시했다. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
d2cb5b0009
commit
a8cfab8a4a
1 file changed
+12
-3
@@ -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({
|
||||
정확합니다. 시작 시 <strong>화면 공유 대화상자에서 “탭 오디오 공유”를
|
||||
반드시 켜주세요.</strong>
|
||||
</span>
|
||||
<span className="mt-1.5 block text-xs text-amber-700">
|
||||
한 대의 노트북을 앞에 두고 마주 앉은 <strong>대면 회의에서는 동작하지
|
||||
않습니다.</strong> 마이크 하나에 두 사람 목소리가 섞여 들어오기 때문입니다.
|
||||
이 경우 화자 라벨 없이 녹음되며, 대면 화자 분리는 준비 중입니다.
|
||||
</span>
|
||||
</span>
|
||||
</label>
|
||||
|
||||
|
||||
Reference in new issue
Block a user