시리, 빅스비는 어떻게 내 말을 알아들을까? 음성 인식이 텍스트가 되기까지

4 분 소요

“시리야"라고 부르면 폰이 깨어나 날씨를 알려 줍니다. 사람에게는 한 호흡의 일이지만, 기계 입장에서는 소리의 파동을 글자로 바꾸고, 글자에서 의도를 읽고, 답을 만들어 다시 목소리로 바꾸는 릴레이입니다. 이번 글에서는 그 릴레이를 구간별로 따라가면서, “항상 듣고 있는 것 아니냐"는 흔한 불안과 “왜 가끔 엉뚱하게 알아듣냐"는 흔한 불만에 구조로 답해 보겠습니다.

1구간 — 호출어만 기다리는 작은 귀 #

음성 비서의 첫 번째 비밀은 귀가 두 개라는 것입니다. 평소에 켜져 있는 것은 호출어 전용의 작은 귀입니다. 폰 안에서만 도는 아주 작은 인식기가 “시리야”, “하이 빅스비” 같은 정해진 소리 패턴 하나만 기다립니다. 이 단계에서는 대화 내용을 이해하지도, 어딘가로 보내지도 않습니다. 정해진 패턴이 아니면 소리는 그 자리에서 버려집니다.

호출어가 감지되면 그제야 큰 귀가 열립니다. 이후의 말소리를 녹음해 본격적인 인식으로 넘기는 단계로, 보통 이 시점부터 화면에 표시가 뜨고 처리의 상당 부분이 서버로 갑니다. “항상 듣고 있다"는 말은 작은 귀에 대해서는 맞고, 큰 귀에 대해서는 틀린 셈입니다. 다만 작은 귀가 가끔 오작동해서, TV 소리에 혼자 깨어나는 일은 구조상 피하기 어렵습니다.

2구간 — 소리를 글자로 바꾸기 #

큰 귀로 들어온 것은 단어가 아니라 공기의 진동, 즉 파형입니다. 이것을 텍스트로 바꾸는 기술이 음성 인식(STT, Speech-to-Text)입니다. 사람의 말소리를 잘게 쪼개 “이 구간의 소리는 어떤 발음에 가까운가"를 확률로 추정하고, 그 발음 조각들을 이어 가장 그럴듯한 문장을 조립합니다.

핵심 단어는 확률입니다. 기계는 소리를 “듣고 아는” 것이 아니라, 후보 문장들 중 가장 그럴듯한 것을 고릅니다. 그래서 발음이 비슷한 말들 사이에서 갈팡질팡합니다. “스무 시"와 “수무시”, 사람 이름과 일반 명사처럼 소리가 가까운 후보가 많을수록, 그리고 주변이 시끄러워 소리 정보 자체가 흐릴수록 엉뚱한 문장이 뽑힐 확률이 올라갑니다. 음성 비서가 시끄러운 차 안에서 유독 바보가 되는 것은 귀가 나빠서가 아니라 후보 고르기가 어려워져서입니다.

문맥은 이 확률 싸움의 심판입니다. “엄마한테 전화해 줘” 다음의 “문자도"는 “문자도(섬 이름)“보다 “문자도(보내 줘)“로 읽는 것이 그럴듯합니다. 최근의 인식기가 과거보다 좋아진 것은 이 문맥 활용이 깊어진 덕이 큽니다.

3구간 — 뜻을 읽고, 실행하고, 말로 돌려주기 #

텍스트가 됐다고 끝이 아닙니다. “내일 우산 챙겨야 돼?“라는 문장에서 기계가 해야 할 일은 날씨 조회입니다. 문장에서 의도(날씨 질문)와 재료(내일, 현재 위치)를 뽑아 실행 가능한 명령으로 바꾸는 단계가 필요합니다.

과거의 음성 비서는 이 단계가 약했습니다. 미리 등록된 명령 패턴에서 벗어나면 “잘 모르겠어요"가 나오는, 챗봇 글에서 본 룰 기반에 가까운 구조였기 때문입니다. 최근의 변화가 바로 여기입니다. 다음 단어를 확률로 잇는 LLM이 이 역할을 맡으면서, 정해진 패턴 밖의 말도 의도를 읽어 내는 폭이 크게 넓어졌습니다.

의도가 파악되면 실행(날씨 API 조회, 알람 등록, 메시지 전송)이 이뤄지고, 마지막으로 답 문장을 사람 목소리로 합성(TTS, Text-to-Speech)해 들려줍니다. 합성 음성이 점점 사람 같아지는 것도 같은 시기의 발전입니다.

폰에서 처리할까, 서버에서 처리할까 #

릴레이의 각 구간이 어디서 도는지는 기기와 설정에 따라 다릅니다. 예전에는 호출어 감지만 기기에서 하고 나머지는 전부 서버로 보냈지만, 폰의 칩이 좋아지면서 음성 인식까지 기기 안에서 처리하는 범위가 늘고 있습니다. 기기 내 처리가 늘수록 좋은 점은 두 가지입니다. 인터넷 없이도 일부 기능이 동작하고, 내 목소리가 폰 밖으로 덜 나갑니다.

프라이버시 관점의 실용적인 정리는 이렇습니다. 평소의 작은 귀는 보내는 것이 없고, 호출 후의 발화는 서비스에 따라 서버로 갈 수 있습니다. 신경 쓰인다면 설정에서 음성 데이터의 저장·검토 허용 여부를 끌 수 있고, 호출어 오작동이 잦은 환경(회의실 등)에서는 호출어 기능 자체를 끄는 선택지도 있습니다.

정리 #

“시리야, 내일 우산 챙겨야 돼?” 한마디의 뒤에는 네 개의 구간이 있습니다. 호출어만 기다리던 작은 귀가 큰 귀를 깨우고, 음성 인식이 파동을 가장 그럴듯한 문장으로 조립하고, 의도 파악이 문장을 명령으로 바꾸고, 실행 결과가 합성 음성으로 돌아옵니다. 엉뚱한 대답은 대부분 2구간의 확률 싸움에서 비슷한 소리의 후보가 이긴 결과이고, “항상 듣는다"는 불안은 작은 귀와 큰 귀를 구분하면 절반으로 줄어듭니다. 다음에 음성 비서가 동문서답을 하면, 화내는 대신 조금 시끄럽지 않았는지 주변을 한번 둘러봐 주세요.

X