---
title: "음성 합성의 혁신: WaveNet을 통한 원시 오디오 생성의 새로운 패러다임"
description: "WaveNet은 DeepMind가 개발한 딥러닝 기반 음성 합성 모델로, 원시 오디오 파형을 샘플 단위로 생성하여 기존 TTS 시스템보다 자연스러운 음성을 제공합니다. 자기회귀 모델과 Dilated Causal Convolution을 사용하여 장기 의존성을 효과적으로 처리하며, 조건부 생성을 통해 다양한 화자의 음성을 생성할 수 있습니다. 실험 결과, WaveNet은 MOS 테스트에서 기존 시스템을 크게 초월하는 성능을 보여주었으며, 음악 생성에도 적용 가능합니다. 그러나 느린 생성 속도와 높은 계산 비용이 한계로 지적됩니다."
date: "2024-10-18"
last_modified: "2026-05-15T08:36:00.000Z"
type: "Post"
tags:
  - "deep learning"
  - "audio generation"
  - "speech synthesis"
categories:
  - "AI논문리뷰"
canonical_url: "https://blog.pieroot.xyz/wavenet-innovation"
markdown_url: "https://blog.pieroot.xyz/wavenet-innovation.md"
---

# 음성 합성의 혁신: WaveNet을 통한 원시 오디오 생성의 새로운 패러다임

WaveNet은 DeepMind가 개발한 딥러닝 기반 음성 합성 모델로, 원시 오디오 파형을 샘플 단위로 생성하여 기존 TTS 시스템보다 자연스러운 음성을 제공합니다. 자기회귀 모델과 Dilated Causal Convolution을 사용하여 장기 의존성을 효과적으로 처리하며, 조건부 생성을 통해 다양한 화자의 음성을 생성할 수 있습니다. 실험 결과, WaveNet은 MOS 테스트에서 기존 시스템을 크게 초월하는 성능을 보여주었으며, 음악 생성에도 적용 가능합니다. 그러나 느린 생성 속도와 높은 계산 비용이 한계로 지적됩니다.

## WaveNet: A Generative Model for Raw Audio

---

WaveNet은 DeepMind이 2016년에 발표한 딥러닝 기반의 **음성 합성(TTS) 모델**입니다.

기존의 음성 합성 기술과 달리, 원시 오디오 파형(raw waveform)을 **한 샘플씩 직접 생성**하는 자기회귀(autoregressive) 방식을 사용하여 매우 자연스러운 음성을 만들어낼 수 있습니다.

> **한 줄 요약**
> 
> Dilated Causal Convolution 기반의 자기회귀 모델로, 원시 오디오 파형을 **샘플 단위로 직접 생성**하여 기존 TTS 시스템(Concatenative, Parametric)을 크게 뛰어넘는 자연스러움을 달성한 모델입니다.

> **논문 정보**
> 
> - **제목**: WaveNet: A Generative Model for Raw Audio
> 
> - **저자**: Aäron van den Oord et al. (DeepMind)
> 
> - **발표**: 2016년 9월 (arXiv: 1609.03499)
> 
> - **인용수**: 5,200+ (2026년 기준)

---

### 배경: 기존 TTS의 한계

---

기존의 음성 합성(TTS) 기술은 크게 두 가지 방식이 있었습니다:

두 방식 모두 한계가 명확했습니다. Concatenative는 녹음된 음성 조각에 종속되어 새로운 음성으로 수정하기 어렵고, Parametric은 보코더가 생성하는 파형이 부자연스러웠습니다.

WaveNet은 이런 중간 표현 없이 **원시 파형을 직접 모델링**하는 접근으로 이 문제를 해결했습니다.

![image](https://blog.pieroot.xyz/api/image-proxy?id=9e7d7a4d-f3d4-479c-91a3-20ee18f7d6bf&kind=s3&pageId=2ff067c0-15d0-800a-bef0-c57a5143c17b&source=block&blockId=2ff067c0-15d0-80c6-8c9b-e723b2ede7c2)

---

### 핵심 아이디어: 자기회귀 모델로 오디오 생성

---

오디오 신호는 초당 **16,000개 이상의 샘플**로 구성됩니다. WaveNet은 이 샘플들을 하나씩 순차적으로 생성하는 **자기회귀 모델**입니다.

수식으로 표현하면 다음과 같습니다:

$$
p(\mathbf{x}) = \prod_{t=1}^{T} p(x_t \mid x_1, \ldots, x_{t-1})
$$

각 오디오 샘플 $x_t$ 는 이전의 모든 샘플 $x_1, \ldots, x_{t-1}$ 에 의해 조건부로 결정됩니다.

> **PixelCNN에서 WaveNet으로**
> 
> 이 아이디어는 이미지 생성 분야의 PixelRNN/PixelCNN에서 가져왔습니다. PixelCNN이 2차원 이미지를 픽셀 단위로 생성하는 것처럼, WaveNet은 **1차원 오디오 파형을 샘플 단위로 생성**합니다. 2D → 1D로 차원만 바뀐 셈이죠.

#### µ-law Companding

원시 오디오는 연속적인 값을 가지지만, WaveNet은 이를 효율적으로 모델링하기 위해 **µ-law companding** 변환을 적용한 뒤 **256단계로 양자화**합니다.

$$
f(x_t) = \text{sign}(x_t) \frac{\ln(1 + \mu |x_t|)}{\ln(1 + \mu)}
$$

여기서 $\mu = 255$ 로 설정합니다. 이렇게 하면 softmax 출력으로 각 샘플 값의 **확률 분포**를 계산할 수 있으며, 단순 선형 양자화보다 훨씬 자연스러운 음질을 얻을 수 있습니다.

---

### 아키텍처

---

WaveNet의 아키텍처는 크게 3가지 핵심 구성 요소로 이루어져 있습니다:

#### 1. Dilated Causal Convolution

---

일반적인 CNN에서는 수용 영역(receptive field)을 넓히려면 레이어를 매우 깊게 쌓아야 합니다. 오디오처럼 **수만 개의 타임스텝**에 걸친 장기 의존성을 포착하려면 비현실적으로 깊은 네트워크가 필요하죠.

WaveNet은 이 문제를 **Dilated Causal Convolution**으로 해결합니다.

![image](https://blog.pieroot.xyz/api/image-proxy?id=82da3fc1-fa1d-4618-b7a7-16973f1aca0c&kind=s3&pageId=2ff067c0-15d0-800a-bef0-c57a5143c17b&source=block&blockId=2ff067c0-15d0-8010-b4d3-e2fa8028b505)

- **Causal**: 미래 시점의 정보를 사용하지 않음 (현재 샘플은 과거 샘플에만 의존)

- **Dilated**: 필터가 입력값을 건너뛰며 적용 (dilation factor가 레이어마다 2배씩 증가: 1, 2, 4, 8, ...)

논문에서는 이 구조를 여러 번 반복(stack)하여 사용합니다. 예를 들어 dilation 1, 2, 4, ..., 512를 **5번 반복**하면 총 수용 영역은 수천 개의 타임스텝을 커버할 수 있습니다.

#### 2. Gated Activation Units

---

WaveNet은 단순한 ReLU 대신 **Gated Activation** 함수를 사용합니다. 이는 PixelCNN에서도 효과적이었던 구조입니다:

$$
\mathbf{z} = \tanh(W_{f,k} * \mathbf{x}) \odot \sigma(W_{g,k} * \mathbf{x})
$$

- $W_{f,k}$ : **filter** (학습 가능한 합성곱 필터)

- $W_{g,k}$ : **gate** (정보를 얼마나 통과시킬지 결정)

- $\tanh$ : 값의 범위를 제한

- $\sigma$ : 시그모이드 함수로 게이트 역할

- $\odot$ : 원소별 곱셈

> tanh가 "무엇을 표현할지"를 결정하고, sigmoid가 "얼마나 표현할지"를 결정하는 구조입니다. LSTM의 게이트 메커니즘과 유사한 아이디어이며, 오디오 같은 복잡한 신호를 모델링할 때 ReLU보다 효과적입니다.

#### 3. Residual & Skip Connections

---

WaveNet은 수십 개의 레이어를 쌓기 때문에, 깊은 네트워크에서 발생하는 **기울기 소실 문제**를 해결하기 위해 Residual Connection과 Skip Connection을 함께 사용합니다.

```
Input ──→ [Dilated Conv] ──→ [Gated Activation] ──┬──→ [1×1 Conv] ──→ (+) ──→ 다음 레이어
  |                                                 |                    ↑
  |                                                 |              Residual
  └─────────────────────────────────────────────────┘
                                                    |
                                                    └──→ [1×1 Conv] ──→ Skip Connection
                                                                         ↓
                                                                    (모든 레이어의 Skip을 합산)
                                                                         ↓
                                                                    [ReLU → 1×1 Conv → ReLU → 1×1 Conv → Softmax]
```

- **Residual Connection**: 각 레이어의 입력을 출력에 더해서 정보가 직접 전달되도록 함

- **Skip Connection**: 각 레이어의 출력을 최종 출력단으로 직접 전달하여 모든 레이어가 최종 예측에 기여

---

### 조건부 생성 (Conditional WaveNet)

---

WaveNet은 추가 정보를 조건으로 주입하여 **원하는 스타일의 음성을 생성**할 수 있습니다.

#### Global Conditioning

화자 ID, 언어 등 **시퀀스 전체에 일정한 조건**을 부여합니다:

$$
\mathbf{z} = \tanh(W_{f,k} * \mathbf{x} + V_{f,k}^T \mathbf{h}) \odot \sigma(W_{g,k} * \mathbf{x} + V_{g,k}^T \mathbf{h})
$$

여기서 $\mathbf{h}$ 는 화자 임베딩 같은 글로벌 조건 벡터입니다. 하나의 WaveNet 모델로 **수백 명의 서로 다른 화자 음성**을 생성할 수 있습니다.

#### Local Conditioning

언어적/음성적 특징 등 **시간에 따라 변하는 조건**을 부여합니다. TTS에서는 텍스트에서 추출한 언어 특징(현재 음소, 음절, 단어 정보 등)을 타임스텝별로 주입하여 텍스트에 맞는 음성을 생성합니다.

> **조건 없이 훈련하면?**
> 
> 텍스트 시퀀스 없이 네트워크를 훈련시키면 음성을 생성할 수는 있지만, 의미 없는 소리들이 산재한 **옹알이 같은 음성**이 생성됩니다. 다만 운율, 억양, 음색은 놀라울 정도로 자연스럽게 학습됩니다.

[조건 없이 생성된 음성 샘플 1](https://prod-files-secure.s3.us-west-2.amazonaws.com/da63dd0f-9bae-4c9d-a318-bd0705ed73e2/27d6b7a6-b13b-4522-91ca-4782914de0aa/speaker-1.wav?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=ASIAZI2LB4666EPFVB3M%2F20260912%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20260912T002701Z&X-Amz-Expires=3600&X-Amz-Security-Token=IQoJb3JpZ2luX2VjEOD%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FwEaCXVzLXdlc3QtMiJHMEUCIBNPrSzUpmtjELAe%2BVDu%2FFYcy0BHS2Vycrsh07qiWCnFAiEAkaLVBLP86K0C3EahD%2BDW0NW%2B%2F2Ni4YsKLgcJ2L48f9IqiAQIqf%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FARAAGgw2Mzc0MjMxODM4MDUiDLpI%2BVwc9OLGYlTgwSrcA79pEjcJFa7q8UWtAel7I%2Fu34oPUgWGviO6WCBDZCBdt9GgA2usBBSt2W9%2FbXz6C0jw2iyahBFUtR5FDD1GzOa8HqxV3i99%2F%2Bur8v4zfNK0FcHmt0IJ0oP%2FpY73%2Bzn%2B1YCcMuuX7zO43JRbzozb3QuFq5oDMjlbdvPqrW2Y2x9blErg74LqHPoDdVrRO4JvpseEO%2BewWRsSBMMNRydovSleVF%2B6sA%2F7yMLVTf9FB3ZsqGdwS1pJ%2BbfLJk0pL0GYgSzMvzEs1JY0p5z9WGYwB7YQY91iV5kV0hZkYGNbli4VfuJpCmwk0M7ZwC76603IbfHBI3sATzXcGPnWy%2FTXg2NRtperSP9B3lG%2FXfMeLMSMMi6bLnIjH9hgExbRXqBMgR1qT69rngC9H9KfxaFnlII4arCPwd8VAajXAG8fOmZxqtzlv61lwYtfMsuNNdTF0s10MJZQQmKZFenwz6RIOoyzpzxfTZGzyseq6QUEQ4TtlIls3a7yFZxSxhRrx6oKLRNAWNhLLnpB8kGH7in8cVTtyW49PsqrRz0gTRx7oPMDbNFZ%2BlhsFejHILDPnYUmzrxz%2FCM04Nns3F2ATzedN%2BDNmyDuANTSVfvTqZ7Gpp7ruzMq1YbiqYiC0U%2F21MNOtktUGOqUB8OK0CeBvnKI7oFuZ0FuAnMD1HSABJL%2FZeD%2FRhjGVpgHKR%2BnbpxSENCQv3cQ9JeQ%2FNusXbUn01HMj7EdNSuk0lEZThNlAs6bD6KUyG9JcQ%2Fs5zo9aBb6HqJzd8rPxswUtKCyPg5orpOo7lQ4v1hNDi0aHKS5ULtErvexImi%2F0nkhJdz6yIBYNBFF61OwmeJqLT7i0gYrpF3mbPtR2OyvZ6Kovjeo6&X-Amz-Signature=b1dbe237d8e3d84fcd2bfd74db77dfe36f7d08ce1b617ac6249399b153ff9dbb&X-Amz-SignedHeaders=host&x-amz-checksum-mode=ENABLED&x-id=GetObject)

[조건 없이 생성된 음성 샘플 2](https://prod-files-secure.s3.us-west-2.amazonaws.com/da63dd0f-9bae-4c9d-a318-bd0705ed73e2/7afe1b0a-9a6f-404d-9335-2362c9fc0868/speaker-2.wav?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=ASIAZI2LB4666EPFVB3M%2F20260912%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20260912T002701Z&X-Amz-Expires=3600&X-Amz-Security-Token=IQoJb3JpZ2luX2VjEOD%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FwEaCXVzLXdlc3QtMiJHMEUCIBNPrSzUpmtjELAe%2BVDu%2FFYcy0BHS2Vycrsh07qiWCnFAiEAkaLVBLP86K0C3EahD%2BDW0NW%2B%2F2Ni4YsKLgcJ2L48f9IqiAQIqf%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FARAAGgw2Mzc0MjMxODM4MDUiDLpI%2BVwc9OLGYlTgwSrcA79pEjcJFa7q8UWtAel7I%2Fu34oPUgWGviO6WCBDZCBdt9GgA2usBBSt2W9%2FbXz6C0jw2iyahBFUtR5FDD1GzOa8HqxV3i99%2F%2Bur8v4zfNK0FcHmt0IJ0oP%2FpY73%2Bzn%2B1YCcMuuX7zO43JRbzozb3QuFq5oDMjlbdvPqrW2Y2x9blErg74LqHPoDdVrRO4JvpseEO%2BewWRsSBMMNRydovSleVF%2B6sA%2F7yMLVTf9FB3ZsqGdwS1pJ%2BbfLJk0pL0GYgSzMvzEs1JY0p5z9WGYwB7YQY91iV5kV0hZkYGNbli4VfuJpCmwk0M7ZwC76603IbfHBI3sATzXcGPnWy%2FTXg2NRtperSP9B3lG%2FXfMeLMSMMi6bLnIjH9hgExbRXqBMgR1qT69rngC9H9KfxaFnlII4arCPwd8VAajXAG8fOmZxqtzlv61lwYtfMsuNNdTF0s10MJZQQmKZFenwz6RIOoyzpzxfTZGzyseq6QUEQ4TtlIls3a7yFZxSxhRrx6oKLRNAWNhLLnpB8kGH7in8cVTtyW49PsqrRz0gTRx7oPMDbNFZ%2BlhsFejHILDPnYUmzrxz%2FCM04Nns3F2ATzedN%2BDNmyDuANTSVfvTqZ7Gpp7ruzMq1YbiqYiC0U%2F21MNOtktUGOqUB8OK0CeBvnKI7oFuZ0FuAnMD1HSABJL%2FZeD%2FRhjGVpgHKR%2BnbpxSENCQv3cQ9JeQ%2FNusXbUn01HMj7EdNSuk0lEZThNlAs6bD6KUyG9JcQ%2Fs5zo9aBb6HqJzd8rPxswUtKCyPg5orpOo7lQ4v1hNDi0aHKS5ULtErvexImi%2F0nkhJdz6yIBYNBFF61OwmeJqLT7i0gYrpF3mbPtR2OyvZ6Kovjeo6&X-Amz-Signature=57899cd62a8ca74e67ce9ecdf07cad18a97fd686541bfbb8e9c612c477bbd743&X-Amz-SignedHeaders=host&x-amz-checksum-mode=ENABLED&x-id=GetObject)

---

### 실험 결과

---

#### TTS 품질 평가 (MOS)

WaveNet은 MOS(Mean Opinion Score) 테스트에서 기존 TTS 시스템을 **크게 앞서는** 결과를 보여주었습니다:

![image](https://blog.pieroot.xyz/api/image-proxy?id=1dc52305-4edc-4e8e-af30-8261a3b5a4e3&kind=s3&pageId=2ff067c0-15d0-800a-bef0-c57a5143c17b&source=block&blockId=2ff067c0-15d0-806f-92d6-f21309080840)

사람의 음성과의 격차를 **50% 이상 줄인** 역사적인 결과입니다. 특히 영어와 중국어 두 언어 모두에서 일관되게 높은 성능을 달성했습니다.

#### 음악 생성

WaveNet은 음성뿐 아니라 **음악 생성**에도 적용할 수 있습니다. 피아노 음악 데이터로 학습시키면 새로운 멜로디를 자동으로 생성하는데, 하모니와 리듬이 놀라울 정도로 자연스럽습니다.

---

### 한계점

---

WaveNet이 획기적이었지만, 몇 가지 명확한 한계가 있습니다:

1. **느린 생성 속도** 🐌: 자기회귀 방식이라 한 번에 하나의 샘플만 생성 가능. 1초 음성(16,000 샘플)을 생성하는 데 실시간보다 훨씬 느림

1. **높은 계산 비용** 💰: 학습과 추론 모두 대규모 GPU 리소스 필요

1. **대규모 학습 데이터 필요**: 자연스러운 음성을 위해 수십 시간 이상의 고품질 음성 데이터 필요

> **이후 발전**
> 
> 이 한계를 극복하기 위해 다양한 후속 연구가 등장했습니다:
> 
> - **Parallel WaveNet** (2017): Teacher-Student 구조로 실시간 음성 생성 달성
> 
> - **WaveRNN** (2018): 단일 RNN 기반으로 모바일 디바이스에서도 실시간 생성
> 
> - **WaveGlow** (2018): Flow 기반 모델로 병렬 생성 가능
> 
> - 현재 Google Assistant, Google Cloud TTS 등에서 WaveNet 기반 기술이 **프로덕션**으로 사용 중

---

### 논문의 주요 기여 (Contributions)

---

이 논문의 핵심 기여를 정리하면:

1. 원시 오디오 파형을 직접 생성하는 자기회귀 모델을 제안하여, **TTS 분야에서 사람이 평가한 자연스러움 기준 최고 성능** 달성

1. 장거리 시간적 의존성을 위한 **Dilated Causal Convolution** 아키텍처 개발

1. 하나의 모델로 **여러 화자의 음성을 생성**할 수 있음을 보임 (화자 ID 조건부)

1. 동일한 아키텍처가 **음악 생성**, **음성 인식** 등 다양한 오디오 태스크에서도 강력한 성능을 보임

---

### 정리

WaveNet은 딥러닝을 활용한 음성 합성 분야의 **패러다임 전환**을 이끈 모델입니다. Dilated Causal Convolution이라는 핵심 구조를 통해 넓은 수용 영역을 효율적으로 확보하고, 원시 파형을 직접 모델링함으로써 기존 TTS 시스템의 한계를 뛰어넘었습니다.

#### 핵심 정리

✅ **자기회귀 모델**: 오디오 샘플을 한 번에 하나씩 생성, 이전 샘플에 조건부

✅ **Dilated Causal Convolution**: 적은 레이어로 수천 타임스텝의 수용 영역 확보 (지수적 증가)

✅ **Gated Activation**: tanh × sigmoid 게이팅으로 복잡한 오디오 신호 모델링

✅ **Residual + Skip Connection**: 깊은 네트워크의 안정적 학습 보장

✅ **µ-law Companding**: 256단계 양자화 + softmax로 오디오 샘플 분포 예측

✅ **조건부 생성**: Global/Local Conditioning으로 화자, 언어, 텍스트 제어 가능

✅ **MOS 최고 성능**: 기존 TTS 대비 자연스러움에서 사람 음성과의 격차를 50% 이상 감소

---

### 참고 링크

> - [WaveNet 논문 (arXiv)](https://arxiv.org/abs/1609.03499)
> 
> - [DeepMind 공식 블로그 포스트](https://deepmind.google/blog/wavenet-a-generative-model-for-raw-audio/)
> 
> - [WaveNet - Wikipedia](https://en.wikipedia.org/wiki/WaveNet)
> 
> - [Parallel WaveNet 논문 (arXiv)](https://arxiv.org/abs/1711.10433)
> 
> - [Google Cloud Text-to-Speech (WaveNet 적용)](https://cloud.google.com/text-to-speech)
