기록의 배경

“이 목소리와 비슷한 성우”를 찾는 요청에는 서로 다른 뜻이 섞일 수 있습니다. 음색이 닮은 대상을 찾는 것과 톤, 감정, 말하는 분위기까지 비슷한 샘플을 찾는 것은 같은 검색이 아닙니다. VoiceFinder는 한 음성 샘플을 두 종류의 임베딩으로 저장해 이 차이를 검색 모드로 드러냅니다.

같은 음성을 두 방식으로 표현하기

VoiceFinder는 음성 특징 모델이 만든 표현을 서로 다른 풀링 방식으로 정리합니다. 음색 중심 경로는 화자 특성을 압축한 128차원 벡터를 만들고, 종합 경로는 음성 구간의 전체 표현을 평균 내 1024차원 벡터를 만듭니다. 한 샘플에 두 벡터를 함께 저장하므로 검색 시점에 목적에 맞는 표현을 고를 수 있습니다.

두 벡터는 크기만 다른 복사본이 아닙니다. 음색 중심 벡터는 화자의 목소리 결을 좁혀 보는 데 쓰고, 종합 벡터는 음색과 함께 톤과 감정 같은 표현 특성을 비교하는 데 씁니다. 이 구분을 사용자에게는 ‘비슷한 목소리’와 ‘비슷한 느낌’이라는 두 검색 방식으로 보여줍니다.

벡터 저장소에서 가까운 샘플 찾기

검색은 선택한 임베딩과 저장된 벡터 사이의 코사인 거리를 비교합니다. 거리가 가까운 순서로 후보를 정렬하고, 같은 성우의 다른 샘플은 결과에서 제외해 다른 후보를 탐색하도록 합니다. 벡터 저장과 거리 계산은 PostgreSQL의 벡터 확장을 사용합니다.

서버는 입력된 임베딩 경로에 맞춰 음색 중심 컬럼과 종합 컬럼을 선택합니다. 상위 검색 흐름은 하나로 유지하면서, 실제 비교 기준만 검색 의도에 따라 바뀝니다. 이 선택은 모델을 새로 학습했다는 뜻이 아니라, 같은 음성 특징 모델의 출력을 서로 다른 방식으로 모아 사용한 설계입니다.

정확도 수치 대신 검색 의도를 설명하기

이중 임베딩은 두 검색 의도를 제품 안에서 분리하는 구조입니다. 특정 데이터셋에서 어느 경로가 더 정확하다는 평가 결과나 사용자 만족도 수치는 현재 근거에 없습니다. 따라서 ‘더 정확한 검색’이라고 주장하기보다 무엇을 비슷하다고 볼지 선택할 수 있다고 설명하는 편이 맞습니다.

또한 종합 벡터가 감정이나 연기를 완전하게 이해한다고 볼 수는 없습니다. 임베딩은 후보를 좁히는 도구이고, 최종 판단에는 실제 샘플 청취와 캐스팅 맥락이 필요합니다. 모델명과 세부 차원은 구현을 설명하는 근거일 뿐, 품질 보증 문구가 아닙니다.

실제 임베딩 분석 자료를 다시 보기

표지 산점도는 과거 분석 때 TBR 임베딩을 PCA 50차원, t-SNE 2차원으로 투영해 저장한 좌표를 다시 그린 자료입니다. 성우 이름, 범주 라벨과 개인 식별 정보는 제거했고 동일한 표시 규칙으로 모든 점을 그렸습니다. 원본 음성이나 고차원 벡터를 공개하지 않습니다.

2차원 그림의 거리는 실제 검색에서 사용하는 고차원 코사인 거리나 검색 점수와 같지 않습니다. 이 그림은 TBR와 RAW를 비교한 실험도 아니며, 현재 데이터 규모나 검색 정확도를 나타내는 지표도 아닙니다. 두 경로의 차이는 별도의 현행 코드 기반 구조도로 설명합니다.

기록 정보

2026년 10월 2일에 기능과 설계를 정리한 기술 기록입니다. 표시된 날짜는 이 글의 정리일이며, 각 기능의 개발일이나 출시일을 뜻하지 않습니다.

점 분포는 과거 저장된 실제 TBR 2차원 투영 좌표를 균일한 비율로 표시한 자료입니다. 현재 건수나 검색 정확도·성우 분류·RAW와의 우열을 의미하지 않습니다. 나머지는 현행 구현의 경로 도식입니다. 이름·원본 음원은 포함하지 않습니다. 2026년 10월 6일에 그림 배치를 교체했으며 제목·설명은 별도 웹 텍스트입니다.