본문 바로가기

연구실 공부

[논문] T-FOLEY: A Controllable Waveform-Domain Diffusion Model for Temporal-Event-Guided Foley Sound Synthesis

728x90

https://arxiv.org/abs/2401.09294

 

T-FOLEY: A Controllable Waveform-Domain Diffusion Model for Temporal-Event-Guided Foley Sound Synthesis

Foley sound, audio content inserted synchronously with videos, plays a critical role in the user experience of multimedia content. Recently, there has been active research in Foley sound synthesis, leveraging the advancements in deep generative models. How

arxiv.org

해당 논문을 보고 작성했습니다.

 

Abstract

video에 synchornize가 되어 삽입되는 audio content를 Foley sound라 하며, multimedia content를 경험하는 사용자들에게 중요한 역할을 합니다. 최근에 deep generative mode을 이용한 foley sound synthesis에 대한 활발한 연구가 진행되고 있습니다. 하지만 이러한 연구들은 주로 single sound class 또는 textual sound description을 재현하는데 focus를 맞추고 있으며, 실용적인 Foley sound application에 매우 중요한 temporal information을 무시합니다. 그래서 저자들은 T-Foley를 제안합니다. 이는 Temporal-event-guided waveform generation model for Foley sound synthesis입니다. T-Foley는 sound class와 temporal event feature라는 두 condition을 사용하여 high-quality audio를 생성합니다. temporal conditioning의 경우, 저자들은 temporal event feature와 Block-FiLM이라는 새로운 conditioning technique을 고안했습니다. T-Foley는 objective and subjective evaluation metric에서 뛰어난 성능을 보여주고, temporal event와 잘 sync가 맞는 foley sound를 생성합니다.

 

Introduction

Foley sound는 발걸음 소리나 총소리와 같이 시각 매체를 강조하기 위해 인간이 만든 음향 효과를 의미합니다. Foley sound의 중요성은 다양한 media에서 전체적인 몰입감을 향상시키는 데 있습니다. Foley sounds는 보통 foley artist에 의해 시각적 요소와 동기화되어 녹음 및 제작됩니다.

neural audio generation의 등장으로 Foley sound 생성 과정을 자동화하고 단순화할 수 있는 기회가 생겼으며, 소리를 생성할 때 사용되는 시간과 노력을 줄일 수 있게 되었습니다. 특정 category에 맞춰 적절한 소리를 합성하기 위해, 초기 연구들은 발걸음, 웃는 소리, 드럼 소리와 같은 single sound source에 초점을 맞췄었습니다. auto-regressive model, generative adversarial networks (GANs), diffusion model을 사용하여 다양한 sound category를 생성할 수 있는 능력을 지닌 model들을 개발하는 방향으로 발전이 이어졌습니다. 최근에는 text description만 사용하여 pre-defined sound category 없이도 전체 scene sound를 생성할 수 있도록 발전되었습니다.

이전 연구들이 neural model들을 사용하여 target source에 관한 신뢰성있는 sound를 합성한다는 것이 입증되었지만, 정확한 시간적 일치를 고려한 연구는 거의 없었습니다. sound event의 정확한 위치는 실용적인 Foley sound synthesis에서 필수적입니다. 몇몇 연구들은 합성 과정에서 input video로부터 암시적 시간 feature를 생성하는 방식을 사용했습니다. 하지만 명시적 시간 event condition이 부족하여 controllability가 부족하고 정량적 분석이 포함되어 있지 않았습니다.

그래서 이 논문은 이러한 어려움을 해결하여 사실적이고 특정 soudn category에 대한 timing-aligned Foley soundf effect를 생성하는 연구를 진행합니다. 저자들이 알기론 이 논문이 명시적 temporal event condition을 사용하여 audio를 생성하는 첫 연구입니다. 저자들의 contribution은 다음과 같습니다: high-quality Foley sound를 생성하기 위해 sound class를 condition으로 사용하는 Temporal event-guided diffusion model인 T-Foley를 제안합니다. temporal guidance를 위해, 저자들은 timing을 guide 하고 envelope representation을 guide 하기 위해 temporal event feature를 사용합니다. 시간적 정보가 있는 condition을 만드는 conditioning method를 고안하기 위해, block-wise affine transformation을 사용하도록 FiLM을 변형한 Block-FiLM을 제안합니다. 둘째, 성능을 검증하고 temporal conditioning method에 대한 비교 분석을 제공하기 위해 광범위한 실험을 수행합니다.

 

T-FOLEY

 

위 그림과 같이 model은 sound class cateogry와 temporal event condition을 input으로 사용하며 언제 어떤 소리가 생성하는지 반영합니다.

 

Overall Architecture

 

T-Foley 구조는 위와 같습니다. 저자들은 auto-regressive bottleneck을 사용하는 U-Net을 design 했으며, 이는 DAG model을 기반으로 합니다. DAG (Diffusion Audio Generator) model은 pretrained vocoder 없이 high-resolution audio를 생성하는 model입니다. wavenet을 처음부터 끝까지 생성하는 첫 diffusion model인 CRASH와 비교했을 때, DAG는 생성된 sample의 음색의 일관성이 부족하다는 문제를 해결하기 위해 deeper U-Net architecture의 bottleneck으로 sequential module을 사용했습니다. diffusion의 각 timestep의 noise를 예측하기 위해, model은 noised signal x를 latent vector로 downsample 합니다. 그다음 latent vector를 bi-directional LSTM으로 pass 하여 sample의 음색 일관성을 유지합니다. bottleneck layer의 output은 linear projection에 의해 resize 되고 마지막으로 prediction noise ε^로 upsample 됩니다. 각 downsample and upsample block에서 convolution layer들은 diffusion time step embedding σ와 class embedding c를 condition으로 사용합니다. 여기서 embedding을 구하는 것은 DAG와 같이 FiLM을 사용하고, Block-FiLM의 절반 중 뒷부분은 temporal event feature T를 condition으로 사용합니다. model은 CRASH에 의해 예측된 noise와 model의 output에 대한 contiunous-time L2 loss를 minimize 하면서 end-to-end 방식으로 학습됩니다.

 

Temporal Event Feature

T-Foley의 주요 목적은 temporal event condition에 맞춰 audio를 생성하는 것이기 때문에, model은 sound event의 timing과 envelope에 관련된 temporal information을 학습할 필요가 있습니다. 이를 위해선 sound event에 적합한 conditioning temporal feature를 필요로 합니다. 저자들은 frame-level amplitude envelope feature로 사용되는 waveform의 root-mean-square (RMS)를 사용합니다. i번째 frame의 root-mean-square는 다음과 같습니다.

 

x(t)는 audio waveform을 나타내며, W는 window size이고 h는 hop size입니다. 저자들은 W = 512, h = 128로 사용했습니다. 그리고 저자들은 RMS의 제곱과 sound의 시작점과 종료지점 (onset and offset)도 고려했습니다. 사전 실험 결과를 통해, 저자들은 RMS를 사용하기로 했습니다. 왜냐하면 RMS의 제곱과 RMS가 큰 차이가 없었기 때문이며, 몇몇 category (e.g., rain, sneeze)에서는 소리의 특성상 명확한 시작점과 종료지점이 없고 강도가 변하는 시간 패턴(i.e., envelope)을 가지므로 RMS를 사용하기로 했습니다.

 

Block FiLM

저자들은 Block FiLM을 neural module로 제안하여 generation model이 temporal event feature에 따라 condition 되도록 만들었습니다. FiLM은 Conditional Batch Normalization (CBN) 기술 중 하나로, individual feature map의 activation이나 channel의 activation을 conditioning input을 기반으로 afffine transformation하여 조절합니다. image synthesis, style transfer, waveform을 생성하는 diffusion model과 같은 다양한 task에서 널리 사용됩니다. 수학적으로 conditioning input y_{c_{in}, L_{in}} ∈ R^{C_{in} x L_{in}}이 있다고 하겠습니다. 여기서 C_{in}는 input의 channel size를 나타내고, L_{in}은 input length를 나타냅니다. FiLM modulation은 다음과 같이 표현될 수 있습니다. FiLM(x, y, γ, β) = element-wise multiplication(γ, x) + β입니다. 여기서 x는 input activation을 나타내고 c는 input condition을 나타냅니다. γ, β ∈ R^{C_{out}}은 normalizing parameter입니다. γ, β = MLP(y)에서 얻어집니다. 

Temporal FiLM (TFiLM)은 FiLM의 conditioning signal의 시간 변화적 정보에 대한 한계를 극복하기 위해 제안되었습니다. 음성 신호는 시간 변화적 정보가 중요합니다. 연속적인 conditioning input y_{c_{in}, L_{in}} ∈ R^{C_{in} x L_{in}} 가 있을 때, TFiLM은 y를 N개 block으로 나눕니다. i번째 block Y_{b_i} ∈ R^{C_{in} x L_{in}/N}은 time dimension에 맞춰 max-pooled되어 Y_{b_i}^{pool} = Max-Pool(Y_{b_i})를 얻고, Y_{b_i}^{pool}에 RNN을 적용하여 normalizing parameter (γ_i, β_i), h_i = RNN(Y_b^{pool}, h_{i-1})를 얻습니다. 마지막으로 normalizing parameter를 사용하여 channel-wise linear modulation을 수행합니다. 

 

식으로 나타내면 위와 같습니다. γ_i, β_i ∈ R^{C_{out}}, 1_d = [1, ... , 1]^T ∈ R^d입니다. TFiLM은 중간 feature를 조절하기 위해 self-conditioning을 사용하도록 제안되었습니다. 그래서 C_{in} = C_{out}, L_{in} = L_{out}이었습니다. 이 논문에서 저자들은 conditioning signal y_{C_{in}, L_{in}}와 modulating signal x_{C_{out}, L_{out}}을 다르게 만들었습니다. 하지만 TFiLM에 있는 모든 conditioning layer의 연산량이 상당히 증가되게 됩니다.

Block FiLM(BFiLM)은 TFiLM의 간단한 version입니다. temporal event를 RMS의 연속적 information으로 embedding된 것은 의존성이 약합니다. 예를 들어 t = 1.3초 때 sound event는 t = 3초인 다른 sound event에는 영향을 주지 못합니다. 그래서 저자들은 TFiLM의 block-wise transformation에서 불필요한 sequential modeling layer를 simple MLP layer로 대체하는 방식을 사용할 것을 제안합니다. 

 

T-Foley는 U-Net architecture의 bottleneck에 위치한 LSTM layer가 block 간의 sequence modeling을 처리할 수 있다고 가정하고 design 되었습니다. 

 

Experimental Setup

 

Datasets

저자들은 DCASE challenge의 Foley sound synthesis task에서 사용되는 Foley sound dataset을 사용합니다. dataset은 5k class-labeled sound sample로 구성됩니다. 7가지 Foley sound class (DogBark, Footstep, GunShot, Keyboard, MovingMotorVehicle, Rain, Sneeze_Cough)로 구성됩니다. 모든 audio sample들은 mono 16-bit 22050 Hz format이며 각 4초 길이입니다.

temporal event를 표현하는 것은 쉬운 일이 아닙니다. 그래서 직관적인 conditioning을 위해, 저자들은 Foley sound를 모방하는 사람 목소리를 사용하여 temporal event condition을 추출하여 reference로 사용합니다. train data와 일치하도록 저자들은 6가지 sound class (Sneeze_Cough는 제외)의 audio sample 각각의 duration을 조정하였습니다.

 

Objective Evaluation

audio generation model의 objective evaluation은 3가지 metric을 사용합니다. FAD와 IS는 생성된 audio가 주어진 class condition과 얼마나 일치하는지, 얼마나 다양한지 측정합니다. FAD의 경우, 저자들은 VGGish model (FAD-V, 16kHz)와 PANNs (FAD-P, 32kHZ)를 사용하여 2가지 classifier를 준비했습니다. IS도 PANNs을 사용합니다. temporal condition의 효율성을 입증하기 위해, 저자들은 Event-L1 Distance (E-L1)을 사용합니다. E-L1은 생성된 sound가 주어진 temporal event condition을 얼마나 잘 따르는지 평가합니다. 저자들은 target sample의 event timing feature와 그에 대응하는 생성된 sample의 event timing feature 사이 L1 distance를 사용하여 E-L1을 정의합니다.

 

E_i는 i번째 frame의 ground-truth event feature를 나타내며, E^_i는 예측된 event feature를 나타냅니다. 저자들은 class-wise score의 평균을 구해 사용했습니다.

 

Subjective Evaluation

총 23명 참여자가 subjective evaluation을 진행했으며, 두 type의 generated smaple을 가지고 평가를 진행했습니다. 이 type은 1) Foley sound test dataset에서 temporal conditions을 사용하여 생성된 sample, 2) Foley sound를 모방한 사람 목소리에서 temporal condition을 사용하여 생성된 sample입니다. 참여자들은 생성된 sample을 1에서 5 사이로 점수를 측정했습니다. 이때 target sample의 temporal event condition과 생성된 sample의 alignment를 측정하는 Temporal Fidelity (TF), 주어진 category에 얼마나 적합한지 측정하는 Category Fidelity (CF), 생성된 audio의 전반적 quality를 측정하는 Audio Quality (AQ) 관점에 맞춰 실험을 진행했습니다.

 

Results

 

Temporal Event Conditioning Methods

저자들은 temporal event condition을 conditioning 하는 method들에 대한 성능을 비교했습니다. 

 

위 표는 objective score를 보여줍니다. 전반적으로 event condition의 temporal aspect를 고려하는 TFiLM, BFiLM이 대부분의 objective metric에서 가장 좋은 성능을 보여줬습니다. BFiLM이 대부분에서 상당히 좋은 성능을 보여주며, 0.7배 더 적은 수의 parameter를 사용하고 TFiLM보다 inference 시간도 줄였습니다. 이를 통해 BFiLM의 효율성을 입증했습니다.

 

Subjective metric 결과는 위와 같습니다. 이 역시 TFiLM과 BFiLM이 좋은 성능을 보여줍니다. FiLM은 다양한 low-quality audio를 생성하기 때문에 높은 IS 값을 보인다고 합니다.

 

Effect of Block Numbers

Block Number N 이라는 hyperparameter는 condition의 resolution에 영향을 주기 때문에 중요합니다. 적은 수의 block은 시간 축에서 sparser and smoother conditional information을 만듭니다. 저자들은 block 수에 따른 실험 결과는 다음과 같습니다.

 

효율성 관점에서 block 수가 늘어나면 inference time은 증가됩니다. 정확도와 효율성의 tradeoff를 고려했을 때, 저자들은 49개 block을 사용하여 다른 실험들을 진행했다고 합니다.

 

Evaluation on Vocal Mimicking Datasets

 

위 표는 block 수에 따른 결과를 보여줍니다. block 수가 늘어나면 E-L1이 감소됩니다. 반면에 FAD-P는 14, 49 정도의 block 수에서 가장 좋은 결과를 보여줍니다. Foley sound와 vocal 사이 차이가 존재하기 때문이며, 두 소리는 음색과 energy envelope에서의 차이로 인해 서로 다른 RMS 곡선을 나타냅니다. 그러므로 RMS의 smoothness를 조정하여 conditioning feature와 target sound의 characteristic을 일치시키기 위해 적절한 block 수를 선택하는 것은 중요합니다.

 

위 그림과 같이 다양한 conditioning block에 맞춰 생성된 mel-spectrogram을 보여줍니다. BFiLM이 Target과 잘 align 하는 것을 볼 수 있습니다.

 

Conclusion

이 연구에선 temporal domain에서의 controllability를 다루는 Foley sound generation system인 T-Foley를 제안합니다. temporal event feature와 E-L1 metric을 사용하여, 저자들은 Block-FiLM라는 conditioning method를 제안합니다. 이는 quality와 효율성 측면에서 매우 효율적이고 좋은 성능을 보여줍니다.

728x90