Audio-029, PersonaPlex: Voice and Role Control for Full Duplex Conversational Speech Models, ICASSP 2026
ABSTRACT
최근 듀플렉스 음성 모델의 발전으로 자연스럽고 낮은 지연시간의 음성-대-음성(speech-to-speech) 상호작용이 가능해졌다. 그러나 기존 모델은 고정된 역할(role)과 음성(voice)에 제한되어 있어, 구조화된 역할 기반의 실제 응용 환경이나 개인화된 상호작용을 지원하는 데 한계가 있다.
본 연구에서는 PersonaPlex를 제안한다. PersonaPlex는 하이브리드 시스템 프롬프트(hybrid system prompt)를 사용하는 듀플렉스 대화형 음성 모델로, 텍스트 프롬프트를 통한 역할 조건화(role conditioning)와 음성 샘플을 통한 음성 복제(voice cloning)를 결합한다.
PersonaPlex는 오픈소스 대규모 언어 모델(LLM)과 텍스트-투-스피치(TTS) 모델을 이용해 생성한, 프롬프트와 사용자–에이전트 대화 쌍으로 구성된 대규모 합성 데이터셋으로 학습된다.
실제 환경에서 역할 조건화 능력을 평가하기 위해, 우리는 기존 Full-Duplex-Bench 벤치마크를 단일 어시스턴트 역할에서 벗어나 다중 역할 고객 서비스 시나리오까지 확장한다.
실험 결과, PersonaPlex는 강력한 역할 조건화 행동, 음성 조건화된 발화, 그리고 자연스러운 대화 응답성을 보여주었으며, 역할 준수도(role adherence), 화자 유사도(speaker similarity), 지연시간(latency), 자연스러움(naturalness) 측면에서 최신 듀플렉스 음성 모델 및 대규모 언어 모델 기반의 하이브리드 음성 시스템을 능가하였다.
Index Terms— 대화형 음성 모델(Conversational Speech Model), 듀플렉스 음성 언어 모델(Duplex Spoken Language Model), 역할 조건화(Role Conditioning), 음성 복제(Voice Cloning)
1. INTRODUCTION
최근 듀플렉스 음성 모델의 발전으로 자연스러운 인간 상호작용에 가까운 실시간 저지연 음성-대-음성 대화 시스템이 가능해졌다. 이러한 시스템은 ASR, LLM, TTS를 하나의 통합 파이프라인으로 결합하여 높은 자연스러움과 짧은 턴 전환 지연시간으로 응답할 수 있게 한다. 그러나 현재의 듀플렉스 시스템은 일반적으로 고정된 음성 정체성과 역할에 제한되어 있어, 고객 서비스, 다중 캐릭터 상호작용, 개인화된 어시스턴트와 같은 구조화되거나 역할 중심적인 응용 환경에서의 활용이 제한된다. 대화 역할과 화자 정체성을 조건으로 사용할 수 없다면, 이러한 시스템은 실제 인간–기계 상호작용에 필요한 유연성을 확보하기 어렵다.
한편, 음성 조건화 TTS에 관한 연구에서는 화자 적응, 음성 복제, 운율 조절 측면에서 발전이 이루어졌으며, instruction-following LLM은 텍스트 기반 상호작용에서 강력한 역할 조건화 능력을 보여왔다. 그러나 이러한 발전은 듀플렉스 음성 시스템에서는 아직 충분히 활용되지 못했다. 듀플렉스 환경에서는 지연시간 제약과 서로 결합된 음성–텍스트 동역학으로 인해 역할과 음성 모두를 조건으로 사용하는 것이 더 어렵기 때문이다. 이 격차를 해소하려면 LLM의 조건화 능력과 최신 TTS의 적응성을 저지연 듀플렉스 프레임워크에 통합한 음성-대-음성 모델이 필요하다.
본 연구에서는 텍스트 기반 역할 조건화와 오디오 기반 음성 복제를 결합한 하이브리드 시스템 프롬프트를 사용하는 full-duplex 음성-대-음성 대화 모델 PersonaPlex를 제안한다. PersonaPlex는 zero-shot 음성 복제와 세밀한 역할 조건화를 가능하게 하며, 듀플렉스 음성 시스템을 일반적인 어시스턴트 역할에서 고객 서비스와 같은 구조화된 도메인으로 확장한다. 또한 프롬프트와 사용자–에이전트 대화 쌍으로 구성된 대규모 합성 학습 코퍼스를 구축한다.
우리는 PersonaPlex를 Full-Duplex-Bench 벤치마크 [1]에서 평가한다. Full-Duplex-Bench는 단일 어시스턴트 역할에 한정되어 있기 때문에, 본 연구에서는 실제 다중 역할 고객 서비스 시나리오를 포함하도록 확장한 Service-Duplex-Bench를 제안한다. 이 확장 벤치마크는 Full-Duplex-Bench의 기존 400개 질문에 더해, 각각 특정 서비스 역할에 대응하는 350개의 고객 서비스 평가 질문을 추가한다. Full-Duplex-Bench와 Service-Duplex-Bench에서 수행한 실험 결과, PersonaPlex는 듀플렉스 음성 모델의 응답성과 턴테이킹 능력을 유지하면서도 역할 준수도, 음성 유사도, 대화 자연스러움 측면에서 최신 수준의 성능을 달성한다.
2. RELATED WORK
연쇄형 ASR–LLM–TTS 시스템은 LLM의 추론 능력과 전용 TTS 모델의 자연스러움을 활용할 수 있지만, 필연적으로 준언어적(paralinguistic) 정보를 잃게 되어 대화의 자연스러움이 저하된다. 이를 해결하기 위해 대화 품질을 향상시키는 여러 접근법이 제안되어 왔다. Streaming TTS 모델 [3, 4]은 LLM→TTS 지연시간을 줄이고 음성 복제를 지원한다. HumeAI의 Empathic Voice Interface는 표현적인 정보를 보존하기 위해 준언어적 정보를 텍스트에 인코딩한다.
Half-duplex 접근법 [5, 6, 7, 8, 9]은 지연시간을 줄이고 준언어적 정보를 유지하기 위해 음성 토큰을 직접 입력받고 스트리밍 방식으로 처리한다. 그러나 이러한 모델들은 여전히 외부 턴테이킹 메커니즘에 의존하며, 자신이 말하는 동안 사용자의 음성을 듣지 못하고, 고정된 음성에 제한된다.
Full-duplex 모델 [2, 10, 11, 12]은 자연스러운 턴테이킹과 응답성을 갖춘 실시간 음성-대-음성 상호작용을 지원하지만, 여전히 고정된 음성과 어시스턴트 스타일의 역할에 제한된다. 상용 시스템 [13, 14]은 컨텍스트 프롬프트를 이용한 역할 조건화를 지원하지만, 음성은 여전히 고정되어 있다. 본 연구는 이러한 한계를 해결하고 실제 응용 환경으로의 활용 범위를 넓히기 위해 듀플렉스 모델링, zero-shot 음성 복제, instruction 기반 역할 조건화를 통합한다.
즉 Full-duplex 모델의 음성이 항상 고정되어 있따는 문제를 해결하려고한 연구라고 보면 될 듯
Duplex Speech Model Evaluation
대부분의 대화형 음성 평가 벤치마크 [15, 16, 17, 18]는 single-turn 응답에 초점을 맞추며, half-duplex 형태의 턴 단위 상호작용을 전제로 한다. Full-Duplex-Bench [1] 벤치마크는 full-duplex 설정을 따르며, 사용자의 입력 오디오를 스트리밍으로 모델에 전달하고 이에 대응해 모델이 생성한 오디오를 수집하여 평가한다.
이 벤치마크는 QA 태스크를 통한 지식 및 추론 능력뿐만 아니라, 턴테이킹, 응답성, 인터럽션, 백채널 처리와 같은 대화 동역학 능력도 평가한다. 실제 응용 환경에서 세밀한 역할 조건화를 더 잘 평가하기 위해, 본 연구에서는 고객 서비스 역할 평가를 포함하도록 Full-Duplex-Bench를 확장한 벤치마크를 제안한다.
3. PERSONAPLEX
3.1. Architecture
우리는 Moshi [2] 아키텍처를 따르는 듀플렉스 형태의 멀티모달 모델 PersonaPlex를 제안한다. 이 모델은 세 개의 입력 스트림, 즉 사용자 오디오(user audio), 에이전트 텍스트(agent text), 에이전트 오디오(agent audio)를 입력으로 받는다. 전체 아키텍처의 개요는 Figure 1에 제시되어 있다.
역할 조건화와 음성 제어를 동시에 가능하게 하기 위해, 텍스트 기반 역할 설명과 오디오 음성 예시를 결합한 Hybrid System Prompt를 도입한다.
Hybrid System Prompt는 시간 순서대로 이어 붙인 두 개의 구간으로 구성된다. 하나는 text prompt segment이고, 다른 하나는 voice prompt segment이다. Text prompt segment는 에이전트 텍스트 채널에 시나리오별 텍스트 토큰을 강제로 입력하고, 동시에 에이전트 오디오 채널은 무음 상태로 유지함으로써 역할 조건화를 수행한다.
Voice prompt segment는 에이전트 오디오 채널에 짧은 음성 샘플을 제공하고, 에이전트 텍스트 채널에는 padding을 넣는 방식으로 음성 프롬프팅을 수행한다. 이러한 설정을 통해 이후 에이전트의 발화는 동일한 음성으로 생성되며, 결과적으로 zero-shot voice cloning이 가능해진다. 안정적인 조건화를 위해 사용자 오디오 채널은 440 Hz 사인파로 대체하며, 사용자 정의 텍스트/오디오 구분자를 사용해 Hybrid System Prompt와 실제 대화 사이의 경계를 표시한다.
- 맨앞에 voice prompt와 text prompt을 넣어서 학습한다는 것
- voice prompt가 우리가 컨트롤할 어시스턴트 목소리가, 이때 assistant 텍스트 채널은 440Hz 사인파를(zero 값 대신 사용한듯) 넣었다고함
저자들은 voice prompt segment와 text prompt segment 중 어느 것을 먼저 배치하더라도 모델 성능에는 차이가 없음을 관찰했다. 실제 구현에서는 zero-shot voice cloning이 필요하지 않은 경우 inference 시 prefilling을 가능하게 해 지연시간을 줄일 수 있도록 voice prompt를 text prompt보다 먼저 배치한다.
학습 과정에서는 system prompt 부분에 대해서는 loss가 역전파되지 않도록 마스킹한다. 또한 Moshi [2]를 따라 토큰 불균형을 고려하도록 학습 목적함수를 조정한다. 구체적으로 non-semantic audio token의 loss weight는 0.02로 낮추고, padding된 text token의 loss weight는 0.3으로 낮춘다.
- 디테일로는 weight로 조절하는게 있는듯
3.2. Synthetic Data
3.2.1. Dialog Transcripts and Text Prompt Generation
우리는 두 화자 간 대화에서 발생할 수 있는 폭넓은 상호작용을 반영하도록 다양한 합성 대화 집합을 구축한다. 모든 대화 transcript는 Qwen-3-32B [20]와 GPT-OSS-120B [21]를 사용해 생성한다.
Service Scenarios
대화는 계층적인 방식으로 생성된다. 먼저 서비스 도메인(예: 레스토랑, 은행)을 샘플링한 뒤, 해당 도메인 내에서 시나리오(예: 환불, 정보 요청, 일반 문의)를 선택한다. 각 시나리오에는 상위 수준의 설명이 주어지며, 이후 대규모 언어 모델을 이용해 이를 완전한 두 화자 대화 transcript로 확장한다.
서비스 에이전트에 대해서는 이에 대응하는 role context도 생성하며, 그 예시는 Table 3에 제시되어 있다.
모든 학습 시나리오는 Service-Duplex-Bench 평가에 사용되는 시나리오와 서로 다르게 구성하여, 모델이 학습 중 보지 못한 새로운 서비스 맥락에서 평가되도록 한다.
Question-Answering Assistant Scenarios
추가로 다양한 주제와 두 번째 질문의 유형(topic change, follow-up 등)을 포함하는 2-turn 질의응답 대화를 합성한다. 이 데이터셋에서는 다음과 같은 고정된 역할을 사용한다.
“You are a wise and friendly teacher. Answer questions or provide advice in a clear and engaging way.”
즉,
“당신은 현명하고 친근한 선생님입니다. 질문에 답하거나 조언을 제공할 때 명확하고 흥미롭게 설명하세요.”
라는 고정 role prompt를 사용한다.
LLM으로 대화 합성 데이터를 만듬 (텍스트로)
3.2.2. Dialog Speech and Voice Prompt Generation
Voice Samples
합성 대화 음성과 이에 대응하는 에이전트 voice prompt를 생성하기 위해 VoxCeleb [22], Libriheavy [23], LibriTTS [24], CommonAccent [25], Fisher [26]에서 총 26,296개의 단일 화자 음성 샘플을 사용한다. 또한 Section 4.1에서 보고하는 화자 유사도 측정을 위해 2,630개의 음성 샘플을 별도의 테스트 세트로 남겨둔다.
Service Scenarios
자연스러운 대화 음성을 생성하기 위해, 두 화자의 음성을 공동으로 생성하는 multi-speaker TTS 모델을 사용한다. 이렇게 하면 대화의 타이밍, 인터럽션, room tone을 더 잘 반영할 수 있다. 저자들은 두 화자의 음성 샘플을 입력받아 각 화자의 음성을 복제하면서 transcript에 따라 오디오를 이어서 생성할 수 있는 Dia [27]를 선택했다.
Question-Answering Scenarios
질의응답 시나리오의 오디오는 각 대화 라운드를 Chatterbox TTS [28]에 입력하여 생성한다. 이 모델은 zero-shot voice cloning을 지원하므로, 생성된 대화에서 각 역할마다 무작위로 선택한 음성 샘플을 제공한다.
Chatterbox TTS는 단일 화자 TTS 모델이기 때문에 추가적인 audio stitching 과정이 필요하다. “user”와 “agent”의 대화 턴을 결합할 때, 자연스러운 턴테이킹을 모사하기 위해 추가적인 silence padding을 삽입할 수 있다. 반대로 저자들은 음수 길이의 silence를 삽입하면 barge-in과 interruption을 모사할 수 있음을 관찰했다. 이러한 방법론은 선행 연구 [12]에서도 검증되었다.
여러 모델로 TTS 합성한듯?
Reference
댓글
댓글 쓰기