Bài 2: cái gì được giữ, cái gì được thay?#
Bắt đầu · Trước: nhiều trục · Tiếp: AR/GAN/VAE/flow
Mục tiêu và tiền đề#
Bạn cần phân biệt TTS, VC, cloning, resynthesis, editing/inpainting và splicing từ mapping đầu vào → đầu ra, đồng thời nói được cái gì chỉ là mục tiêu giữ chứ chưa được bảo đảm. Content là nội dung lời nói; identity là đặc điểm nhận dạng người nói; timing là bố trí theo thời gian; prosody gồm nhịp, ngữ điệu và trọng âm. Chúng có tương tác: trong tiếng Việt, đổi contour cao độ có thể đổi thanh điệu/nội dung.
1. TTS và VC khác ở nơi nội dung đi vào#
TTS lấy nội dung mong muốn từ text. Reference speech có thể cung cấp giọng hoặc phong cách, không nhất thiết cung cấp câu cần đọc. VC lấy speech nguồn để chuyển giọng; mục tiêu thường giữ content nhưng không có định luật buộc timing/pitch/channel giữ nguyên.
Nguồn cụ thể: AutoVC Fig.1, §3.1–3.2 lấy content code từ speech nguồn và speaker embedding từ speech đích; decoder kết hợp chúng. Đây là thiết kế mong tách thông tin, không bằng chứng mọi code đã tách hoàn hảo trong mọi domain. AutoVC.
Case biên soạn: A nói “mai gặp nhé” trong 1,4 s. Hệ nhận audio A và reference của B rồi tạo câu ấy với giọng B. Phân loại VC. Nếu hệ chỉ nhận text “mai gặp nhé” cùng reference B, đó là TTS có khả năng cloning. Hai đầu ra có thể nghe giống nhau, nhưng mapping và điều kiện khác.
Một cascade audio A → ASR transcript → TTS giọng B có thể được dùng để giải task speech-to-speech voice conversion. Hồ sơ cần ghi ASR trung gian, khả năng lỗi transcript và mất timing, thay vì gọi toàn hệ “VC trực tiếp bảo toàn âm vị”. Task toàn hệ và task của từng khối có thể khác nhau.
2. Voice cloning không phải một objective riêng#
“Cloning” nói rằng đầu ra mô phỏng identity cụ thể. Cách cung cấp identity có thể là speaker ID đã học, speaker embedding, audio prompt, hoặc adaptation bằng bản ghi. Few-shot/zero-shot cloning phải chỉ rõ có update weights cho speaker mới không, và speaker mới đối với training nào.
VALL-E §4 điều kiện hóa trên phoneme/text và acoustic prompt để tạo codec codes; đây là TTS, chứ reference không biến nó thành VC. VALL-E.
Trường hợp biên: speaker mới với TTS nhưng có trong pretraining của speaker encoder; “unseen speaker” cần nêu phạm vi. Speaker similarity cao cũng không chứng minh có sự cho phép của người đó. Một label binary của dataset không chứa đủ metadata về consent.
3. Resynthesis: tái tạo từ biểu diễn của audio đã có#
Vocoder resynthesis: waveform thật → mel tính từ nó → vocoder → waveform mới. Mel là ràng buộc đầu vào; chi tiết không được mel xác định do decoder quyết định. Đây không phải TTS nếu không có text-to-acoustic generation. LibriSeVoc dùng self-vocoding theo cách này, §4.1. LibriSeVoc paper.
Codec reconstruction: waveform → encoder → quantized latent → decoder → waveform tái tạo. Mục tiêu thường là nén/tái tạo tín hiệu dưới bitrate, không phải thay identity. EnCodec §3 mô tả chuỗi này. EnCodec.
Ví dụ biên soạn: cùng bản ghi được đưa qua (a) codec cuộc gọi; (b) self-vocoder dùng làm lớp spoof trong một benchmark. Cả hai có thể có dấu tái tạo máy, nhưng nhãn operational khác. Hãy viết rõ “nhận ra quá trình tái tổng hợp” nếu đó là phép đo, tránh nâng nó thành “nhận ra lừa đảo”. Codec có thể giữ lời nói hợp lệ; resynthesis có thể được dùng hợp pháp.
4. Editing, inpainting và splicing#
Editing là thao tác sửa một phần audio. Inpainting/infilling là điền vùng thiếu dựa vào context và có thể thêm text. Splicing là ghép các đoạn; đoạn ghép có thể là genuine hoặc synthetic. Không cần neural generator để thay nghĩa một câu bằng cắt ghép.
Voicebox §3–4 dùng text-guided infilling để hỗ trợ nhiều tác vụ. Điều này giải thích vì sao một training task có thể phục vụ TTS hoặc editing ở inference; không buộc mọi output là partial fake. Voicebox.
Case hoàn chỉnh, biên soạn: bản ghi 6 s chứa “tôi chuyển năm triệu”. Thay vùng 2,1–2,7 s bằng audio “mười triệu”, giữ phần trước/sau.
| Giai đoạn | Dữ liệu | Điều cần kiểm |
|---|---|---|
| Chọn vùng | Interval [2,1; 2,7) s | Boundary label theo sample hay annotation? |
| Sinh/chuẩn bị đoạn thay | Text mới + context hoặc đoạn có sẵn | Generative editing hay splicing? |
| Ghép | Đoạn mới + carrier | Duration, crossfade, alignment, phần thật có bị xử lý lại? |
| Đánh nhãn | Clip và mask theo thời gian | “Có bất kỳ đoạn synthetic” hay “manipulated meaning”? |
| Detector | Clip score hoặc chuỗi score | Output nào thật sự được đánh giá? |
Nếu policy là có bất kỳ vùng synthetic → spoof, clip là spoof dù phần lớn thời gian thật. Nếu chỉ ghép các từ từ bản ghi thật, policy “synthetic-origin detection” có thể không gán spoof, còn task content-manipulation detection có thể gán manipulated. Phải công bố policy trước khi chấm.
PartialSpoof bản 2021 tạo clip bằng thay/ghép đoạn, giữ labels theo nguồn đoạn và gán clip partial là spoof (§2). Nó là case về partial-origin labels; không mặc định mỗi clip là một sửa nội dung có chủ ý. PartialSpoof 2021.
5. Bảo toàn là mục tiêu, không phải sự thật do tên gọi bảo đảm#
VC có thể đổi duration; codec có thể gây mất chi tiết; editing có thể tái decode cả clip. “Unedited region” trên timeline không tự nghĩa waveform ở đó bit-identical. Nếu cần localization theo provenance từng sample, phải kiểm implementation của blending và decoder receptive field.
Phản ví dụ biên soạn: một hệ “speech editing” rebuild toàn mel rồi vocode toàn clip. Người dùng chỉ đổi một từ, nhưng dấu vocoder có thể có khắp clip. Label theo “vùng đổi nội dung” và label theo “vùng qua neural reconstruction” không còn giống nhau. Đây là giả thuyết pipeline có thể xảy ra, không phải kết quả về một model cụ thể.
6. Liên hệ Audio-JEPA#
Paper hiện tại học nhãn utterance theo datasets. Crop đầu 2,56 s trong Method có thể bỏ vùng sửa của case 6 s nếu nó nằm sau crop; pooling/head không được huấn luyện trả boundary. Đây là giới hạn cấu trúc của input/output, chưa đo sensitivity trên PartialSpoof. Không suy clip score thành bản đồ chỉnh sửa. PDF §3, chương 06.
Bài tập#
- Reference của B đọc “xin chào”; text yêu cầu “hẹn gặp lại”; output giọng B nói “hẹn gặp lại”. Task là gì? Reference giữ câu chữ nào?
- Một bản ghi thật được self-vocode và được gán spoof. Có đủ evidence để nói identity/content bị giả mạo không?
- Ghép hai đoạn genuine làm người nói có vẻ đồng ý điều họ chưa nói. Một detector synthetic-origin âm học cho bona fide. Nó sai task nào, và chưa được yêu cầu giải task nào?
Đáp án có giải thích
- TTS với conditioning/cloning; text yêu cầu định nội dung đầu ra. Reference cung cấp điều kiện, không yêu cầu bảo toàn câu “xin chào”.
- Không. Nhãn có thể đo process tái tạo. Cần transcript, speaker comparison và label policy nếu claim thay identity/content. Không suy mục đích/consent từ label.
- Theo task meaning-manipulation nó có thể bỏ sót; theo task chỉ nhận synthetic-origin, nhãn genuine của từng đoạn không mâu thuẫn. Cần evidence ngoài cue tổng hợp như provenance/timeline/context để giải task rộng hơn; không tự nâng nghĩa binary score.
Đào sâu tự chọn#
Vẽ hai masks cho case editing: mask đổi nội dung và mask waveform bị tái tạo. Tìm điều kiện để chúng bằng nhau. Sau đó hỏi dataset cung cấp loại mask nào, và loss/localization metric tương ứng với loại nào. Đó là cầu nối sang bài 6–7.