티스토리 뷰

반응형

Prompt-Singer: Controllable Singing-Voice-Synthesis with Natural Language Prompt


  • Singing Voice Synthesis는 여전히 style attribute를 explicitly control 하는 것이 어려움
  • Prompt-Singer
    • Gender, vocal range, volume 등을 natural language prompt로 control하는 singing voice synthesis 모델
    • Multi-scale hierarchy를 가지는 decoder-only transformer를 기반으로 melodic accuracy를 유지하면서 text-conditioned vocal range control이 가능한 range-melody decoupled pitch representation을 설계
  • 논문 (NAACL 2024) : Paper Link

1. Introduction

  • Singing Voice Synthesis (SVS)는 주어진 lyrics와 pitch note를 기반으로 고품질의 singing voice를 생성하는 것을 목표로 함
    • 이때 자연스러운 합성을 위해서는 speaker timbre, vocal range, energy 등의 style attribute를 반영할 수 있어야 함
    • 이를 위해 대부분의 경우 reference speech/singing segment로부터 style attribute를 추출하는 방식을 사용함
      - BUT, 해당 방식은 user-friendly하지 않고 acoustic attribute를 explicitly control 하는 것에 한계가 있음
    • 한편으로 singing voice의 style controllability를 향상하기 위해 natural language instruction을 사용하는 방법을 고려할 수 있음
      - 해당 style prompt를 통해 specific attribute를 정확하게 control할 수 있고, user interaction을 simplify 할 수 있기 때문
    • BUT, SVS task에 natural language style prompt를 도입하기 위해서는 다음의 문제를 해결해야 함
      1. Decoupling Melody and Vocal Range
        - 실생활에서는 서로 다른 speaker가 서로 다른 vocal range에서 동일한 노래를 부를 수 있음
        - BUT, SVS data의 pitch annotation은 특정한 vocal range의 특정 singer와 coupling되어 있으므로, 주어진 pitch에 맞는 melody와 vocal range, timbre를 align 하는 것이 어려움
      2. Textual Representation
        - Sining style description에 대응하는 text representation이 존재하지 않고, prompt representation에 대한 optimal choice 역시 알려지지 않음
      3. Data Scarcity
        - 사용할 수 있는 SVS dataset은 크기가 매우 작으므로, 모델의 diversity가 제한되고 natural language description과 data distribution 간의 correlation을 학습하는 것이 어려울 수 있음

-> 그래서 위 문제를 해결하면서, natural language prompt를 통해 style control이 가능한 SVS 모델인 Prompt-Singer를 제안

 

  • Prompt-Singer
    • AudioLM, VALL-E 등의 spoken LLM의 성공에서 영감을 받아 unit vocoder와 discrete codec unit의 conditional generation을 위한 multi-scale hierarchy를 가진 decoder-only transformer를 도입
    • 추가적으로 앞서 언급된 문제들을 해결하기 위해,
      1. Vocal range factor와 speaker-independent melody sequence에 대한 decoupled pitch representation을 설계
        - 이를 통해 melodic accuracy를 유지하면서 voice range controlling이 가능
      2. Prompt encoding을 위한 text encoder를 조사하고 최적의 text representation을 얻기 위해 encoder를 fine-tuning
      3. Data scarcity 문제를 해결하기 위해 speech data를 추가로 도입

< Overall of Prompt-Singer >

  • Gender, vocal range, volume 등을 control하는 natural language prompt를 갖춘 SVS 모델
  • Melody와 voice range를 decouple하는 pitch representation을 설계하여 melodic accuracy를 유지하면서 prompt-conditioned vocie range manipulation을 지원
  • 다양한 text encoder를 fine-tuning하여 prompt에 대한 최적의 text representation을 얻음
  • 결과적으로 low-resource 환경에서도 기존 보다 뛰어난 controllalbility와 합성 성능을 달성

2. Prompt Generation and Fetching

  • Prompt-Singer는 natural language prompt를 사용하여 SVS task에서 gender, vocal range, volume 등을 control 하는 것을 목표로 함
    • BUT, 해당 task에 적합한 dataset이 존재하지 않으므로, 논문은 일반적인 SVS dataset을 기반으로 각 data item에 대한 prompt sentence를 생성하는 방식을 도입함
    • 이때 manual annotation은 비용이 많이 소모되므로, LLM인 GPT 3.5-Turbo를 활용하여 다음의 3단계로 prompt sentence를 생성
      1. Attribute categorization
      2. Keyword and sentence template generation
      3. Prompt sentence assembling
    • 먼저, 아래 그림의 (a)와 같이 다양한 attribute에 따라 audio를 categorize함
      1. Gender category는 male/female를 pre-annotate 하여 사용하고, volume은 low, medium, high에 대한 3가지 category를 구성하여 각각 $[0.02, 0.04], [0.07, 0.10], [0.16,0.20]$의 amplitude RMS range를 나타냄
      2. Vocal range는 high, low의 2가지 category를 설정한 다음, voiced part의 average $F0$를 기준으로 classify 함
        - 이때 threshold는 남자 125Hz, 여자 305Hz
    • Categorization 이후, (b)와 같이 LLM을 사용하여 각 category에 대한 4~7개의 synonyms set을 keyword로써 생성함
      1. 이때 LLM을 사용하여 각 single attribute에 대한 prompt sentence template를 생성하고, 추가적으로 specific category를 targeting 하는 소수의 prompt sentence도 생성함
        - 각 template은 keyword로 replace 할 placeholder를 포
      2. 결과적으로 manual selection 이후 각 attribute에 대해 50개의 setence template를 얻고, LLM을 prompting 하여 각 single-attribute template를 combine 해 multi-attribute template를 얻음
    • Prompt sentence assembling은 (c)와 같이 training 중에 dynamic 하게 발생함
      1. 먼저 prompt sentence를 fetching 하기 위해, data item에 대한 pre-annotated label을 얻은 다음
      2. 다양한 수의 attribute에 모델이 adapt 되도록 probability $p_{1}, p_{2}$에 따라 label이 randomly drop 됨
      3. 이후 pre-generated set에서 keyword와 sentence template를 radomly fetch 하고, placeholder를 keyword로 대체하여 final prompt sentence를 얻음

Prompt Generation, Fetching Pipeline

3. Prompt-Singer

  • Prompt-Singer는 아래 그림과 같이 크게 2개의 sub-module로 구성됨
    • Multi-scale transformer : natural language prompt, lyrics (duration 포함), pitch information의 input으로 condition 되어 discrete acoustic unit을 생성하는 역할
    • Unit vocoder : 생성된 acoustic unit을 audio waveform으로 mapping 하는 역할

Overall of Prompt-Singer

- Voice Representation

  • Transformer의 prediction target으로 사용되는 acoustic unit은 encoder-decoder architecture와 Residual Vector Quantization (RVQ)를 갖춘 neural codec인 SoundStream을 통해 생성됨
    • 해당 codec은 convolution encoder와 RVQ를 사용하여 audio의 discrete compressed representation을 생성할 수 있고, 해당 representation은 decoder로 waveform을 reconstruction 하는 데 사용됨
    • 이때 acoustic unit sequence는 $\mathbf{a}=[a_{1}^{1},a_{1}^{2},...,a_{1}^{C},a_{2}^{1},...,a_{T}^{C}]$로 represent 됨
      - $a_{i}^{j}\in\{0,1,...,K_{a}-1\}, \,\, \forall 1\leq i\leq T, 1\leq j\leq C$
      - $T,C, K_{a}$ : 각각 frame 수, residual codebook 수, codebook size

- Textual Representation

  • Prompt-Singer의 textual input은 lyrics와 style을 control 하는 natural language prompt의 2가지 component로 구성됨
    • Lyrics의 경우, text를 phonemize 한 다음 dataset annotation이나 Forced-Alignment tool을 사용하여 해당하는 phoneme-level duration을 얻음
      1. 이후 duration을 preset frame rate를 기반으로 frame-level로 변환하고, phoneme을 duplicate 하여 해당 duration으로 phoneme sequence의 length를 regulate 함
        - 이때 phoneme의 frame rate를 acoustic unit과 동일하게 설정하여 legnth alignment를 쉽게 학습하도록 함
      2. 최종적으로 regulated phoneme sequence는 look-up-table (LUT)에 embedding 되어 transformer로 전달됨
    • Natural language prompt는 parameter-frozen text encoder를 사용하여 semantic representation을 추출한 다음, transformer에 맞게 dimension을 mapping 하는 linear layer를 적용함
      1. 이때 style controlling에 대한 text representation의 영향력을 알아보기 위해, 다음의 3가지 encoder를 비교함
        - BERT : masked language modeling, next sentence prediction으로 train 된 self-supervised text encoder
        - FLAN-T5 : insturction으로 fine-tuning 된 unified text-to-text transformer encoder
        - CLAP : natural language, audio에 대한 contrastive pretraining을 활용한 text encoder
      2. 추가적으로 prompt와 해당 label을 사용하여 BERT-large와 FLAN-T5 Large를 fine-tuning 함
        - Multi-label prediction으로 BERT를 fine-tuning 하고, FLAN-T5가 text-to-text 방식으로 prompt에 대응하는 label sequence를 예측하도록 함

- Decoupled Pitch Representation

  • Temperament theory에 따르면, musical interval에 대한 human perception은 frequency의 logarithmic distance에 해당함
    • 따라서 logarithmic domain에서 offset을 추가하는 것과 동일하게, singing의 voiced part에 fundamental frequency $F0$를 multiply 하면 melody의 변경 없이 vocal range만 adjust 할 수 있음
    • 이를 기반으로 논문은 $F0$를 다음과 같이 2가지 component로 decompose 함
      1. $\bar{f}_{0}$ : $F0$의 voiced part의 average value로써 vocal range를 의미
      2. $\tilde{\mathbf{f}_{0}} = [\tilde{f}_{0}^{1},\tilde{f}_{0}^{2},...,\tilde{f}_{0}^{T}]$ : vocal-range-invariant melody information을 의미
        - 이때 original $F0$ sequence의 vocied part가 specific mean value (논문에서는 230Hz)를 가지도록 rescale 함
    • 위의 representation을 통해 information bottleneck을 형성하고, 모델이 rescaled $F0$ sequence와 average $F0$ factor에서 melodic, vocal range information을 추출하도록 함
      - 실제로는 $\tilde{\mathbf{f}_{0}},\bar{f}_{0}$를 integer로 반올림하고, LUT를 사용하여 transformer backbone 이전에 embed 함
      - 이때 $\tilde{\mathbf{f}_{0}}, \bar{f}_{0}$는 동일한 embedding space를 share 함

- Alleviating Data Scarcity

  • Speech와 singing은 다른 형태의 human voice이므로, style characteristic과 distribution 측면에서 commonality를 share 한다고 볼 수 있음
    • 따라서 논문은 해당 직관을 기반으로 data scarcity를 alleviate 하기 위해 text-to-speech (TTS) data를 prompt SVS task에 incorporate 함
    • 구체적으로 text를 phonemize 하고 prompt를 생성한 다음, off-the-shelft tool을 통해 speech에서 pitch를 추출하여 SVS data와 동일한 format의 data item을 얻음
      - 이를 기반으로 low-resource scenario에서 singing data를 speech data로 대체할 수 있도록 함

- Multi-Scale Transformer Architecture

  • End-to-End differentiable multi-scale transformer architecture는 audio 합성에서 뛰어난 relationship modeling 성능을 달성했고, sub-quadratic self-attention을 기반으로 long-sequence를 효과적으로 생성 가능함
    • 이를 위해 논문에서는 Uni-Audio의 multi-scale transformer를 backbone으로 하여long sequence modeling을 위한 hierarchical structure를 갖춘 decoder-only transformer를 설계함 
      1. 해당 module은 intermediate output인 vocal range factor와 함께 language prompt, lyrics, duration, melody representation으로 condition 되어 singing voice의 discrete acoustic unit을 생성함 
      2. Training 중에 conditional input과 target sequence는 single sequence로 concatenate 되어 transformer에 전달되고, 해당 transformer는 cross-entropy loss와 next-token-prediction을 사용하여 correlation을 모델링함
      3. 추론 시에는 prefix input sequence에 따라 autoregressively condition 된 range factor와 acoustic unit을 예측함:
        (Eq. 1) $P_{cond}(\mathbf{a})=P_{cond}(\bar{f}_{0})\cdot \prod_{t=1}^{T}\prod_{c=1}^{C}P_{AR}(\mathbf{a}^{c}_{t})$
        (Eq. 2) $P_{cond}(*)=p\left(*|\mathbf{E}_{\mathcal{P}}(\mathcal{P}),L,\mathbf{d},\tilde{\mathbf{f}_{0}};\theta_{AR}\right)$
        (Eq. 3) $P_{AR}(\mathbf{a}_{t}^{c})=p\left(\mathbf{a}_{t}^{c}|\mathbf{a}_{<t},\mathbf{a}_{t}^{<c},\mathbf{E}_{\mathcal{P}}(\mathcal{P}),L,\mathbf{d},\tilde{\mathbf{f}_{0}},\bar{f}_{0};\theta_{AR} \right)$
        - $\mathbf{a},\mathbf{E}_{\mathcal{P}}, \mathcal{P}, L,\mathbf{d},\tilde{\mathbf{f}_{0}}, \bar{f}_{0}, \theta_{AR}$ : 각각 acoustic unit, prompt encoder, prompt, lyrics, duration, melody representation, vocal-range factor, model parameter
        - $t, c$ : 각각 acoustic unit의 temporal index, codebook index
    • 이때 vocal range factor를 예측하는 transformer는 다음과 같이 formulate 됨:
      (Eq. 4) $P_{cond}(\bar{f}_{0})=p\left(\bar{f}_{0}|\mathbf{E}_{\mathcal{P}}(\mathcal{P}), L,\mathbf{d},\tilde{\mathbf{f}_{0}};\theta_{AR}\right)$
      - 여기서 average $F0$ value는 lyrics, duration, melody와 independent 하다고 가정하므로, (Eq. 4)는 natural language prompt를 통해 vocal range를 control 하는 model capability를 의미함

      - 추가적으로 예측된 vocal range information은 singing acoustic unit generation을 위한 condition으로 사용됨
    • 구조적으로 hierarchical multi-scale transformer는 global, local decoder-only transformer로 구성됨 
      1. Temporal position $t$의 경우, 서로 다른 codebook의 acoustic unit embedding $z_{t}^{1:n_{q}}$가 concatenate 된 다음 inter-frame correlation modeling을 위해 global transformer에 전달됨
      2. Output hidden feature $h_{t}$는 $h_{1:t-1}$을 condition으로 하여 autoregressive 하게 생성됨
      3. 이후 해당 hidden feature는 embedding의 original shape에 따라 split 되고 linear layer로 proejct 된 다음, frame-level context로 local transformer의 input embedding에 추가됨
      4. 최종적으로 local transformer는 frame 내의 다양한 codebook의 acoustic unit을 autoregressive 하게 예측함
        - Non-acoustic modality의 경우, 각 item은 해당 modeling mechanism에 맞게 $n_{q}$번 repeat 됨
        - $n_{q}$ : codebook size

Global Transformer 구조

- Unit Vocoder

  • Acoustic unit generation이 완료되면, 생성된 unit을 high-fidelity audio waveform에 mapping 해야 함
    • 이때 codec의 compressive nature로 인해 decoder를 통해 단순히 limited codebook의 acoustic unit을 audio로 reconstruction 하면 perceptual quality가 저하될 수 있음
    • 따라서 논문은 codec decoder 대신, GAN-based unit vocoder를 채택하여 richer detail의 high-fidelity audio를 생성함
      1. 구체적으로, BigVGAN vocoder를 기반으로 discrete unit을 embed 하는 LUT set와 transposed convolution으로 구성된 generator를 사용
      2. 여기서 multi-period discriminator (MPD)와 multi-resolution discriminator (MRD)는 adversarial training을 위해 사용됨

4. Experiments

- Settings

  • Dataset
    - SVS : M4Singer, OpenCPop, OpenSinger, PopCS
    - TTS : AISHELL-3, Biaobei, THCHS-30, DidiSpeech
  • Comparisons : FFT-Singer, DiffSinger

- Results

  • Evaluation on Text Representations
    • Pre-trained Text Encoder의 경우, simpler distribution을 가지는 label과 text representation을 align 하는 것이 singing style에 대한 correlation을 학습하는데 유용함
    • 결과적으로 FLAN-T5를 text encoder로 사용했을 때 Prompt-Singer는 가장 우수한 성능을 달성함

Text Representation 별 성능

  • Evaluation on Data Scarcity Alleviation
    • Low-resource scenario에서 SVS data의 양이 줄어들수록 모델의 성능이 급격히 저하됨
    • 즉, speech data를 도입하면 controllable SVS 성능을 향상할 수 있지만, 품질과 melody accuracy를 보장하려면 충분한 양의 singing data가 필요함

Data Scarcity Alleviation

  • Ablation Study
    • Pitch representation 측면에서 vocal range factor와 $F0$에 대한 rescaling을 제거하는 경우, 성능 저하가 발생함
    • Multi-attribute prompt 측면에서 attribute 수가 늘어날수록 약간의 RMOS의 저하가 발생했음
      - BUT, Prompt-Singer는 single/multiple attribute prompt 모두에서 여전히 뛰어난 합성 성능을 보임

Ablation Study 결과

 

반응형
댓글
최근에 올라온 글
최근에 달린 댓글
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Total
Today
Yesterday