# Bài 1: một pipeline cần nhiều tọa độ

[Bắt đầu](00-BAT-DAU-LOP-02.md) · Tiếp: [tác vụ và thao tác](02-TAC-VU-VA-THAO-TAC.md)

## Mục tiêu và tiền đề

Sau bài này, bạn có thể đọc một luồng đầu vào → đầu ra, đặt mỗi mô tả vào đúng trục, và để unknown khi thiếu evidence. Chỉ cần phân biệt văn bản, bản ghi âm, đặc trưng và waveform. **Conditioning** là thông tin được cung cấp để hướng đầu ra; **representation** là dạng mà một khối xử lý; **mechanism** là cách học/sinh phân phối.

## 1. Vì sao một cây phân loại không đủ?

Giả sử ta chia deepfake thành “TTS, diffusion, codec”. Một hệ nhận text, dùng diffusion tạo codec latent rồi decoder tạo waveform thuộc ô nào? Nó thuộc cả ba mô tả, vì chúng trả lời ba câu hỏi khác nhau. Cây này đang trộn các chiều.

Hãy dùng hồ sơ nhiều trục, giống tọa độ của một địa điểm. Biết thành phố chưa cho biết tầng nhà; biết task chưa cho biết sampler.

| Trục | Câu hỏi | Ví dụ câu trả lời có đủ nghĩa |
|---|---|---|
| Task/thao tác | Muốn tạo hoặc thay gì? | TTS tạo lời nói theo text; VC thay giọng từ speech nguồn |
| Conditioning/khả năng | Có thông tin gì khi inference? | Text, reference speech, speaker ID, pitch, vùng mask |
| Representation | Khối này nhận/sinh dạng nào? | Mel liên tục, latent liên tục, codec index rời rạc, waveform |
| Generative mechanism | Phân phối được học/sampling thế nào? | AR theo thời gian, diffusion khử nhiễu, FM vector field |
| Architecture/component | Khối nào thực hiện? | Transformer acoustic model, GAN vocoder, codec decoder |
| Signal chain | Sau sinh còn đi qua gì? | Resample, loudness normalization, MP3, replay, crop |
| Operational label | Theo task nào là bona fide/spoof? | Ghi âm hợp lệ qua codec; TTS attack được protocol gán spoof |

Một hàng cơ chế có thể chứa nhiều mục, gắn với **từng khối**. “End-to-end” mô tả phạm vi học/kết nối của hệ, không xóa các thành phần. Voice cloning mô tả khả năng bắt chước identity dưới conditioning, chưa nói AR hay diffusion.

## 2. Ví dụ hoàn chỉnh: TTS có audio prompt, mel và vocoder

**Case biên soạn**, dựa trên cấu trúc có thật nhưng không khẳng định đây là release cụ thể:

```mermaid
flowchart LR
    T[Text cần đọc] --> A[Acoustic model: flow matching]
    R[Reference speech của người B] --> A
    N[Noise] --> A
    A --> M[Mel được sinh]
    M --> V[HiFi-GAN vocoder]
    V --> W[Waveform]
    W --> C[MP3 rồi giải mã]
    C --> X[Waveform quan sát]
```

Trace: text quyết định nội dung mong muốn; reference cung cấp điều kiện giọng; noise khởi tạo quá trình sinh mel; vocoder chuyển mel thành waveform; MP3 tiếp tục biến đổi signal. Reference là input, không có nghĩa waveform cuối là bản chép nguyên mẫu reference.

Phân loại: task TTS; khả năng voice cloning nếu đầu ra thật sự bắt chước người B; conditioning text + reference; representation mel rồi waveform; cơ chế FM ở acoustic model, GAN training ở vocoder; signal chain có MP3; label spoof **nếu** protocol định nghĩa TTS được sinh là spoof. Chưa biết checkpoint, corpus tiền huấn luyện, consent hoặc khả năng qua ASV.

Đây không phải F5-TTS nguyên bản. F5-TTS v1 dùng text/audio prompt, FM trên mel và Vocos ở setup được báo cáo (§2–4), không phải HiFi-GAN. HiFi-GAN nhận mel và tạo waveform (§2). Hai nguồn hỗ trợ cấu trúc thành phần; việc ghép chúng trong case là minh họa. [F5-TTS v1](https://arxiv.org/html/2410.06885v1), [HiFi-GAN](https://arxiv.org/pdf/2010.05646).

## 3. Đi ngược từ waveform có suy ra được toàn bộ hồ sơ không?

Không. Trong case trên, quan sát một cutoff phổ có ít nhất ba khả năng: vocoder, preprocessing hoặc MP3. Chưa có can thiệp/metadata thì gọi nó “FM artifact” là nhảy qua nhiều khối. Thậm chí cùng waveform có thể được lưu dưới hai file container khác nhau; tên đuôi file chưa mô tả signal chain đầy đủ.

**Phản ví dụ biên soạn:** cuộc gọi người thật → neural codec → waveform cũng đi qua neural decoder. Nếu task là giữ tính hợp lệ của cuộc gọi, có decoder không đủ gán spoof. Ngược lại, bản ghi người thật được phát lại để mở khóa ASV có thể là spoof dù không có generator thần kinh. EnCodec được thiết kế cho nén/tái tạo; ASVspoof PA định nghĩa tấn công replay ở sensor. [EnCodec §3](https://arxiv.org/pdf/2210.13438), [ASVspoof2019 plan §4](https://www.asvspoof.org/asvspoof2019/asvspoof2019_evaluation_plan.pdf).

Do đó có ba câu độc lập: đã qua xử lý gì; hợp lệ theo task không; người tạo có quyền/ý định gì. Detector âm học có thể cung cấp evidence cho câu đầu/hypothesis của câu hai; không tự giải quyết câu ba.

## 4. Neo vào Audio-JEPA

Pipeline generator và pipeline detector là hai luồng khác nhau. Paper của mình nhận waveform quan sát, tính log-mel, qua encoder Audio-JEPA và pooling/head để ra score. Từ score đó không đọc trực tiếp được “model TTS nào”, “từ nào bị sửa”, hay consent.

**PDF, §3–4:** downstream có labels utterance bona fide/spoof và weighted CE. “JEPA” mô tả nguồn encoder và objective tiền huấn luyện của checkpoint, không phải cơ chế sinh spoof. Ghi điều này vào hồ sơ là cách tránh gọi detector là “JEPA zero-shot deepfake detector”. [Chương 06](../06-GIAI-PHAU-PAPER.md).

## 5. Bài tập mới

1. Một hệ nhận speech của A, giữ câu chữ, chuyển sang giọng B; sinh codec tokens bằng AR rồi decoder. Có thể gọi nó TTS chỉ vì dùng language model không? Viết bốn tọa độ và một unknown.
2. Thay HiFi-GAN trong case bằng vocoder diffusion, giữ acoustic model. Hai hệ có còn cùng task? “FM vs diffusion TTS” có mô tả comparison đầy đủ không?
3. Bạn chỉ có waveform và label spoof. Có được điền conditioning=reference speech và mechanism=GAN không? Evidence nào cần thêm?

<details>
<summary>Đáp án và lập luận</summary>

1. Task mô tả là VC vì speech nguồn cung cấp nội dung và mục tiêu thay voice. Conditioning có speech A/identity B; representation codec tokens → waveform; mechanism AR ở token model; unknown có thể là codec/checkpoint. Language model là cách mô hình hóa chuỗi, không buộc input là text. Nếu có thêm ASR trung gian, ghi nó trong chain; tên task toàn hệ vẫn dựa vào mapping và điều được thay.
2. Task vẫn TTS. Khác decoder mechanism; acoustic FM không đổi. Cách nói kia có thể gây nhầm khối bị thay, nên viết “cùng acoustic FM, thay vocoder GAN bằng diffusion”. Artifact nào đổi cần kiểm dữ liệu, không suy từ tên.
3. Không. Label không mã hóa đầy đủ nguồn sinh. Cần manifest/system description/config và trace tạo dữ liệu. Unknown là câu trả lời khoa học đúng khi thiếu metadata.

</details>

## Đào sâu tự chọn

Lập hồ sơ VITS từ Fig.1 và §2: task TTS, conditional VAE, normalizing flow ở prior/duration và adversarial waveform learning có thể cùng tồn tại. Bài 3 sẽ giải cơ chế. Khi đọc paper mới, thêm cột “đã đọc section nào” bên cạnh từng tọa độ; không điền từ tên model. [VITS](https://arxiv.org/pdf/2106.06103).
