ajaudio / studyAUDIO-JEPA · RESEARCH NOTES
8 phút đọc · Toàn văn
Mục lục bài · 8 mục

Bài 1: tiếng nói mang gì, và source-filter giải thích được gì?#

Bắt đầu lớp 1 · Tiếp: tín hiệu và convolution

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

Sau bài này, bạn cần giải thích được vì sao cùng một câu có nhiều waveform, phân biệt F0 với formant, tính chu kỳ từ tần số, và nói rõ lúc nào source-filter chỉ là xấp xỉ. Chỉ cần biết phép cộng và nhân. Hz = chu kỳ/giây, ms = 1/1.000 giây; n là số thứ tự mẫu, không phải thời gian tính bằng giây.

1. Bắt đầu bằng hai lần nói “xin chào”#

Hai lần nói cùng câu không có waveform y hệt. Một lần có thể kéo dài “chào”, lên giọng, nói gần micro hơn. Nội dung ngôn ngữ chỉ ràng buộc một phần âm thanh. Ta cần tách những câu hỏi: câu gì, ai nói, nói như thế nào, được thu qua kênh nào, và được tạo bằng quá trình nào?

Trực giác biên soạn: hình dung waveform như kết quả của một công thức nhiều biến:

x=G(c,s,p,a,q,g).x=G(c,s,p,a,q,g).

c là content, s là speaker, p là prosody, a là trạng thái/phong cách, q là channel, g là generation process. G không phải mô hình đã fit trong dự án, và các biến không độc lập. Trong tiếng Việt, cao độ còn tham gia thanh điệu: thay pitch contour có thể đổi nghĩa, không chỉ đổi cảm xúc.

Giáo trình Aalto mô tả dao động dây thanh ở âm hữu thanh, nhiễu do luồng khí ở âm xát, và cộng hưởng của đường thanh âm. Phần đó là cơ sở vật lý cho các biến nói trên, không chứng minh detector nào đã tách được chúng. Nguồn S1: Speech production, mục Physiological speech production và Acoustic properties.

flowchart LR
    E[Nguồn kích thích: dao động hoặc nhiễu] --> H[Đường thanh âm: cộng hưởng]
    H --> R[Bức xạ ở môi]
    R --> Q[Phòng, micro, xử lý và codec]
    Q --> X[Waveform quan sát]
Xem mã sơ đồ
flowchart LR
    E[Nguồn kích thích: dao động hoặc nhiễu] --> H[Đường thanh âm: cộng hưởng]
    H --> R[Bức xạ ở môi]
    R --> Q[Phòng, micro, xử lý và codec]
    Q --> X[Waveform quan sát]

Sơ đồ mô tả một xấp xỉ quá trình tạo/thu tiếng nói. Codec có thể phi tuyến; không nên thay cả sơ đồ bằng một bộ lọc tuyến tính duy nhất trong mọi tình huống.

2. Nguồn tạo nhịp, bộ lọc tạo màu âm#

Trong đoạn hữu thanh gần ổn định, dây thanh tạo chuỗi kích thích gần tuần hoàn. F0 là tần số cơ bản của cấu trúc gần tuần hoàn; pitch là cảm nhận cao độ. Hai khái niệm liên quan nhưng không đồng nhất. Chu kỳ T0 và F0 liên hệ:

T0=1/F0,P≈fs/F0.T_0=1/F_0,\qquad P\approx f_s/F_0.

T0 tính bằng giây, fs bằng mẫu/giây, P bằng mẫu/chu kỳ. Thật ra P có thể không nguyên và biến thiên theo thời gian. Harmonics xuất hiện gần F0, 2F0, 3F0,… trong đoạn hữu thanh; âm /s/ vô thanh không cần có chuỗi này. S2: Aalto, Fundamental frequency, mục Introduction và công thức chu kỳ.

Formant là cộng hưởng của đường thanh âm, thường ký hiệu F1, F2,… Cộng hưởng tăng/giảm biên độ của những thành phần nguồn đi qua. Spectral envelope là đường bao phổ ở thang rộng: nó mô tả màu phổ mà không cần bám từng harmonic. Formant không phải “harmonic thứ nhất/thứ hai”, và đỉnh có biên độ lớn nhất không mặc định là F0.

Ví dụ số hoàn chỉnh, giả lập: fs=16.000 mẫu/s, nguồn lặp mỗi P=160 mẫu. Một chu kỳ dài 160/16.000=0,01 s=10 ms, nên F0=100 Hz. Harmonics nằm ở 100, 200, 300,… Hz. Giả sử bộ lọc có cộng hưởng quanh F1=700 Hz và F2=1.200 Hz: nguồn có harmonic thứ 7 và 12 nằm gần hai vùng đó, nên chúng có thể được nhấn mạnh. Tăng F0 lên 200 Hz trong khi giữ bộ lọc: harmonic spacing thành 200 Hz, nhưng cộng hưởng vẫn quanh 700 và 1.200 Hz. Cộng hưởng 700 Hz giờ nằm giữa harmonic 600 và 800 Hz; đỉnh phổ quan sát không nhất thiết đúng 700 Hz. Đây là lý do không đọc formant chỉ bằng việc lấy peak lớn nhất.

3. Vì sao xuất hiện convolution?#

Gọi e[n] là kích thích rời rạc, h[n] là đáp ứng của bộ lọc với một xung đơn vị. Nếu bộ lọc tuyến tính và không đổi theo thời gian trong đoạn đang xét, mỗi kích thích ở thời điểm r tạo một bản h bị dịch r và nhân e[r]. Cộng ảnh hưởng của mọi r:

x[n]≈∑re[r]h[n−r]=(e∗h)[n].x[n]\approx\sum_r e[r]h[n-r]=(e*h)[n].

Đọc công thức thành lời: “giá trị đầu ra hiện tại là tổng ảnh hưởng còn lại từ những kích thích trước”. Đây không phải phép nhân từng phần tử e[n]h[n]. Bài 2 sẽ suy ra đầy đủ điều kiện tuyến tính và bất biến theo thời gian. S3: Smith, DSP Guide chương 6, The Delta Function and Impulse Response; Convolution.

Ví dụ nhỏ để thấy cơ chế: e=[1,0,1], h=[1,0.5], dùng dấu chấm thập phân trong vector. Hai xung nguồn ở n=0 và n=2 tạo hai bản h. Với zero ngoài miền:

x[0]=1, x[1]=0.5, x[2]=1, x[3]=0.5.x[0]=1,\ x[1]=0.5,\ x[2]=1,\ x[3]=0.5.

Đầu ra x=[1,0.5,1,0.5]. Đây là bộ lọc đồ chơi, không mô hình thanh quản thật. Nếu h có đuôi dài hơn, các đáp ứng có thể chồng lên nhau. Đơn vị h ở đây là hệ số gain không thứ nguyên; e và x là biên độ số quy ước.

Muốn mô tả kênh thu tuyến tính c[n] và noise v[n], ta có thể viết x_obs≈ehc+v, với bức xạ môi gộp vào h nếu đã nói rõ. Không được từ waveform duy nhất kết luận mọi cấu trúc thuộc e hay h: phân rã nguồn/bộ lọc có thể không duy nhất.

4. Trường hợp làm mô hình hỏng#

Âm chuyển tiếp nhanh làm h thay theo thời gian; h[n-r] cố định không còn đủ. Âm mũi có cộng hưởng và phản cộng hưởng, nên mô hình chỉ có các đỉnh all-pole đơn giản dễ thiếu các hõm phổ. Giọng khàn, vocal fry, tương tác nguồn/bộ lọc và clipping cũng làm xấp xỉ đơn giản yếu đi. Aalto nêu rõ bộ lọc ước lượng bằng linear prediction không mặc định khôi phục đúng ống thanh âm vật lý. S1, mục Physiological modelling.

Phản ví dụ biên soạn: detector quy “không có F0 ổn định = fake” sẽ gán nhầm /s/ của người thật. Quy “formant đúng = thật” cũng không đủ: một hệ tổng hợp có thể tạo envelope phù hợp nhưng có chuyển tiếp khác; ngược lại người thật qua codec có thể có phổ méo. Cả hai quy tắc đều thiếu điều kiện task và channel.

5. Nối với Audio-JEPA và forensic evidence#

Log-mel của paper giữ bức tranh năng lượng theo thời gian/tần số nhưng đã gộp các bin. Encoder có thể học content, speaker, prosody và channel bên cạnh dấu quá trình tạo. Đây là khả năng của thiết kế, không phải bằng chứng cue nào đã được dùng. Nếu nhãn thật thường đến từ một micro và nhãn giả từ micro khác, dấu kênh có thể dễ học hơn dấu tổng hợp.

Paper dùng pretrained context encoder cho downstream CE. “JEPA hiểu tiếng nói” không tự suy ra “JEPA biết thật/giả”; nhiệm vụ CE và dữ liệu quyết định phần nào của biểu diễn được head khai thác. Cấu hình này được báo cáo ở PDF mục 3.1–3.3, trang 3–5; xem giải phẫu pipeline.

6. Bài tập: trả lời rồi mở lời giải#

  1. Nhận biết: F0=125 Hz, fs=16 kHz. Chu kỳ bao nhiêu ms và bao nhiêu mẫu?
  2. Tính: e=[2,0,1], h=[1,0.5]. Tính toàn bộ x=e*h với zero ngoài miền.
  3. Suy luận: Hai clip có F0 giống nhau nhưng nguyên âm khác. Bạn chờ khác ở spacing harmonic hay envelope? Có thể kết luận speaker giống nhau không?
  4. Chất vấn: Source classifier đọc embedding rất tốt. Điều gì đã biết, và điều gì còn thiếu để kết luận detector dùng source shortcut?
Đáp án có giải thích
  1. T0=1/125=0,008 s=8 ms; P=16.000/125=128 mẫu. Đây là nguồn tuần hoàn lý tưởng trong bài, không khẳng định tiếng nói thật lặp chính xác.
  2. x[0]=2; x[1]=2×0.5+0=1; x[2]=1+0×0.5=1; x[3]=1×0.5=0.5. Kết quả [2,1,1,0.5], dài 3+2−1=4.
  3. Spacing harmonic được F0 ràng buộc, còn nguyên âm thường thể hiện qua envelope/formants. Không đủ nhận dạng speaker: nhiều người có cùng F0, và một người có nhiều F0.
  4. Source information truy cập được bằng classifier đã dùng. Chưa biết detection head dựa vào nó. Cần bằng chứng hành vi/can thiệp trên sự liên hệ source–label, với các yếu tố khác được kiểm soát; probe chỉ đo decodability.

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

Hỏi tại sao Fourier biến convolution thành phép nhân: học bài 2 rồi quay lại E(ω)H(ω). Nếu muốn hiểu LPC, đọc S1 mục Physiological modelling sau khi nắm filter; nhớ bộ lọc dự đoán tốt và ước lượng giải phẫu đúng là hai kết luận khác nhau. Luồng chính chưa cần z-transform hay mô hình cơ sinh học dây thanh.

DỪNG LẠI & TỰ KIỂM TRA

Bạn đã giải thích được cơ chế trong bài?

↓ Bản Markdown nguyên gốcGiữ nguyên nội dung · Công thức, bảng và nguồn đầy đủ.Các chat bàn giao được mở trong Codex.

Gõ từ khóa để tìm bài học và đoạn liên quan.