Methodology

결과가 만들어지는 과정

녹음 버튼을 누른 순간부터 후보가 표시될 때까지, 현재 서비스가 실제로 수행하는 계산과 해석상의 한계를 설명합니다.

1. 음성 입력 받기

사용자가 마이크 사용을 허용하면 브라우저의 Web Audio API가 짧은 간격으로 음성 파형과 주파수 정보를 읽습니다. 화면에 표시된 문장을 충분히 읽었는지 확인하고, 너무 짧은 입력은 결과 왜곡을 줄이기 위해 다시 녹음하도록 안내합니다.

주변 소음이 적은 장소에서 마이크와 약 15~30cm 거리를 유지하고, 평소 말하는 크기로 문장을 읽는 것을 권장합니다.

2. 7가지 특징 계산하기

평균 음높이

녹음 구간에서 안정적으로 관찰된 기본 주파수의 평균입니다. 목소리가 전반적으로 높거나 낮은 경향을 설명합니다.

음높이 범위

관찰된 낮은 음과 높은 음 사이의 폭입니다. 문장을 얼마나 평평하게 또는 다채롭게 읽었는지에 영향을 받습니다.

평균 에너지

파형의 평균적인 세기입니다. 실제 성량만이 아니라 마이크 거리와 입력 볼륨의 영향도 받습니다.

에너지 변화량

문장 안에서 소리의 강약이 얼마나 변했는지 나타냅니다. 강조와 말하기 리듬을 간접적으로 반영합니다.

밝기

전체 소리 중 높은 주파수 영역이 차지하는 상대적 비중을 바탕으로 계산합니다.

고주파 성분

파형이 빠르게 변화하는 정도를 나타냅니다. 자음, 호흡, 주변 잡음의 영향을 받을 수 있습니다.

스펙트럼 중심

주파수별 에너지의 무게중심입니다. 소리가 어둡거나 밝게 느껴지는 경향과 관련됩니다.

3. 같은 척도로 후보 비교하기

서로 단위가 다른 특징을 그대로 더하지 않고, 각 특징을 미리 정의한 범위 안에서 0과 1 사이 값으로 정규화합니다. 이후 특징별 가중치를 적용한 거리로 후보와의 차이를 계산합니다. 거리가 가까울수록 유사도가 높게 표시됩니다.

결과 화면의 백분율은 실제 인물이 같을 확률이 아닙니다. 현재 후보 집합 안에서 비교하기 쉽게 변환한 엔터테인먼트용 유사도입니다.

두 가지 분석 경로

기본 분석: 브라우저에서 특징을 계산하고, 원본 녹음 대신 수치화된 특징만 매칭 API에 전달합니다.

임베딩 분석: 운영 환경에서 별도로 활성화된 경우에만 녹음이 분석 서버로 일시 전송되어 음성 표현 벡터를 계산합니다. 연결에 실패하면 기본 분석으로 전환됩니다.

결과에 영향을 주는 요소

  • 휴대전화와 노트북 등 기기별 마이크 특성
  • 방의 울림, 음악, 대화와 같은 주변 소음
  • 마이크와 입 사이의 거리 및 방향
  • 감기, 피로, 수분 상태 등 당일 목소리 컨디션
  • 문장을 읽는 속도, 높이, 감정과 강조 방식

따라서 한 번의 결과보다 같은 환경에서 여러 번 측정한 경향을 가볍게 비교하는 방식이 적합합니다.