Nhiệm vụ: Khảo sát tính nhân quả theo thời gian của VoiceControlState → DSP → đặc trưng âm học
Khảo sát tính nhân quả theo thời gian của VoiceControlState → DSP → đặc trưng âm học
Xây dựng bản đồ thực nghiệm về cách các thay đổi của tham số điều khiển theo thời gian thể hiện trong PCM và các đặc trưng âm học, có tính đến độ trễ và bộ nhớ của DSP.
Mục tiêu
Khảo sát không phải sự tương ứng tức thời dạng parameter[t] -> sample[t], mà là tính nhân quả theo thời gian trong chuỗi:
VoiceControlState(t) -> trạng thái DSP nội bộ -> PCM -> đặc trưng âm học trên cửa sổ thời gian.
Cần phải hiểu tham số điều khiển nào thực sự ảnh hưởng đến cái gì, sau bao lâu ảnh hưởng đó xuất hiện, kéo dài trong bao lâu và những đặc特征 quan sát được nào cho phép khôi phục nó.
Điều này là cần thiết để giải mã ngược chính xác Sound -> VoiceScenario.
Bối cảnh và Vấn đề
VoiceScenario hiện tại thiết lập các tham số điều khiển, nhưng PCM đầu ra được tạo ra bởi một hệ thống động với trạng thái nội bộ:
voicePhase;resonator1.low,resonator1.band;resonator2.low,resonator2.band;resonator3.low,resonator3.band;- trạng thái PRNG;
- automation đang hoạt động.
Do đó, ngay cả các tham số điều khiển không đổi cũng tạo ra một dạng sóng phức tạp, tần số cao.
Ví dụ:
f0Hzkhông đổi không có nghĩa là dạng sóng không đổi — nó thiết lập tốc độ quay củavoicePhase;noiseLevelkhông đổi điều khiển biên độ của nguồn ngẫu nhiên thay đổi mỗi mẫu (sample);resonance*không đổi điều khiển các bộ lọc có trạng thái (stateful-filter) mà trạng thái nội bộ của chúng thay đổi mỗi mẫu;- các đặc trưng quan sát được (
RMS,spectralFlatness,dominantFrequency, v.v.) phụ thuộc đồng thời vào nhiều tham số điều khiển và lịch sử DSP.
Do đó, các heuristic trực tiếp như:
RMS -> sourceLevel
dominantFrequency -> f0Hz
không phải là mô hình biến đổi ngược chính xác.
Giả thuyết chính
Đối với giọng nói và bộ tổng hợp này, chúng ta cần phân tích không phải một mẫu riêng lẻ hay một khung log riêng lẻ, mà là một cửa sổ thời gian.
Thay vì:
parameter[t] -> sample[t]
hãy khảo sát:
parameter trajectory[t0:t1] -> audio response[t0:t1+Δ]
trong đó Δ là độ trễ phản ứng có thể có và/hoặc thời gian suy giảm của trạng thái DSP nội bộ.
Các thang đo cửa sổ làm việc để kiểm tra:
- 5 ms;
- 10 ms;
- 20 ms;
- 30 ms;
- 50 ms;
- 100 ms nếu cần thiết.
Đối với mỗi tham số, cần xác định ở thang đo thời gian nào ảnh hưởng của nó được quan sát ổn định nhất.
Những gì cần khảo sát cho mỗi tham số VoiceControlState
Tối thiểu:
sourceLevelperiodicitynoiseLevelf0HzglottalOpenPhaseglottalReturnPhaseresonance1Freqresonance1Bandwidthresonance1Gainresonance2Freqresonance2Bandwidthresonance2Gainresonance3Freqresonance3Bandwidthresonance3GainoutputLevel
Đối với mỗi tham số, xác định:
- Độ nhạy — sự thay đổi của nó ảnh hưởng mạnh đến mức nào đối với PCM và các đặc trưng.
- Độ trễ — sau bao lâu kể từ khi thay đổi điều khiển thì ảnh hưởng này có thể quan sát được.
- Thời gian suy giảm — hiệu ứng duy trì trong bao lâu sau khi tham số thay đổi.
- Tính cục bộ — liệu tham số có chủ yếu ảnh hưởng đến dải phổ/đặc tính thời gian cụ thể hay ảnh hưởng toàn cục.
- Tính đơn nghĩa — liệu hiệu ứng quan sát được có thể phân biệt sự thay đổi của tham số này với tham số khác hay không.
- Tương tác — cặp tham số nào tạo ra hiệu ứng phi cộng tính.
Thí nghiệm 1: Quét đơn tham số (Parameter sweep)
Đối với mỗi tham số:
- Cố định tất cả các tham số khác ở một trạng thái cơ sở (baseline).
- Chỉ thay đổi tham số đang khảo sát theo lưới giá trị.
- Với mỗi giá trị, tổng hợp PCM có cùng thời lượng.
- Thu thập đồng thời:
- toàn bộ
VoiceControlState(t); - dấu vết (trace) DSP nội bộ;
- PCM;
- các đặc trưng âm học theo cửa sổ.
- toàn bộ
- So sánh kết quả với baseline.
Ví dụ cho f0Hz:
- 80 Hz
- 100 Hz
- 120 Hz
- 150 Hz
- 180 Hz
- 220 Hz
- 300 Hz
Ví dụ cho resonance1Freq:
- cố định nguồn và các bộ cộng hưởng khác;
- chỉ dịch chuyển
resonance1Freq; - xem đỉnh phổ nào thực sự di chuyển và di chuyển như thế nào.
Thí nghiệm 2: Thay đổi bậc thang theo thời gian
Kiểm tra phản ứng động của hệ thống.
Ví dụ:
t < 100 ms: resonance1Freq = 600
t >= 100 ms: resonance1Freq = 800
Phân tích các cửa sổ:
- 60–80 ms
- 80–100 ms
- 100–120 ms
- 120–140 ms
- 140–160 ms
- 160–200 ms
Mục tiêu:
- xác định thời điểm bắt đầu thay đổi có thể quan sát được;
- đo độ trễ;
- hiểu hình dạng của quá trình quá độ;
- đo thời gian ổn định.
Lặp lại cho các tham số khác.
Thí nghiệm 3: Nhiễu động xung / ngắn hạn
Đối với các tham số có trạng thái (stateful), việc đo bộ nhớ của hệ thống là cực kỳ quan trọng.
Sơ đồ:
baseline -> parameter + δ trong khoảng thời gian ngắn -> baseline
Ví dụ:
- 100 ms baseline;
- 10–20 ms thay đổi;
- quay lại baseline;
- quan sát thêm 100–200 ms.
Đo lường:
- hiệu ứng xuất hiện nhanh đến mức nào;
- nó có được duy trì sau khi tham số quay lại hay không;
- DSP mất bao nhiêu thời gian để quay lại trạng thái ban đầu.
Đối với các bộ cộng hưởng, điều này sẽ cho thấy thời gian bộ nhớ thực tế của các trạng thái low/band.
Thí nghiệm 4: Các cặp tham số
Sau khi quét đơn, kiểm tra sự tương tác cho ít nhất các cặp có liên quan nhất:
sourceLevel × outputLevelperiodicity × noiseLevelf0Hz × glottalOpenPhasef0Hz × glottalReturnPhaseresonanceFreq × resonanceGainresonanceFreq × resonanceBandwidthsourceLevel × resonanceGain
Mục tiêu — hiểu xem các hiệu ứng của tham số có thể được coi là độc lập hay cần được khôi phục đồng thời.
Dữ liệu cần ghi nhật ký (Log)
Mức điều khiển
- tất cả các giá trị
VoiceControlState(t); - automation đang hoạt động;
- thời điểm của mỗi lệnh
set/animate.
Dấu vết DSP nội bộ (Internal DSP trace)
Tối thiểu:
voicePhase;periodicSource;noiseSource;excitation;resonator1.low/resonator1.band;resonator2.low/resonator2.band;resonator3.low/resonator3.band;- đầu ra riêng của mỗi bộ cộng hưởng trước khi tổng hợp;
valuetrước khi clamp;valuesau khi clamp.
Đặc trưng âm học theo cửa sổ
Tối thiểu:
- RMS / năng lượng;
- tỷ lệ cắt qua không (zero crossing rate);
- hàm tự tương quan (autocorrelation);
- ước tính cao độ (pitch estimate);
- ước tính tính chu kỳ;
- trọng tâm phổ (spectral centroid);
- độ phẳng phổ (spectral flatness);
- các đỉnh phổ;
- năng lượng theo dải tần;
- các đỉnh dạng formant / bao phổ;
- LPC nếu cần.
Quan trọng: coi dominantFrequency chỉ là một trong các đặc trưng phổ, chứ không phải là f0Hz trực tiếp.
Cửa sổ thời gian và Tần suất ghi nhật ký
Cần kiểm tra riêng ảnh hưởng của việc giới hạn tốc độ (throttling).
Log hiện tại có thể ẩn cấu trúc thời gian quan trọng. Do đó, để nghiên cứu, tốt nhất là có dấu vết nội bộ thường xuyên nhất có thể, sau đó mới tổng hợp theo chương trình thành các cửa sổ.
Phương pháp khuyến nghị:
- DSP trace — càng gần mức mẫu (sample-level) càng tốt hoặc với việc giảm mẫu (decimation) có kiểm soát;
- đặc trưng âm học — tính toán trên các cửa sổ 5/10/20/30/50 ms;
- độ chồng lấp cửa sổ (overlap): 50–75% để phân tích thời gian mượt mà;
- không trộn lẫn tần số thu thập dữ liệu và kích thước cửa sổ phân tích.
Kết quả mong đợi
Xây dựng bản đồ thực nghiệm:
VoiceControl parameter -> observable consequences
Đối với mỗi tham số, ghi lại:
- những đặc trưng nào phản ứng;
- hướng phản ứng;
- quy mô phản ứng;
- độ trễ;
- thời gian duy trì bộ nhớ;
- sự phụ thuộc vào các tham số khác;
- mức độ có thể khôi phục tham số từ âm thanh.
Nên trình bày dưới dạng bảng như sau:
| Control | Đặc trưng quan sát được | Độ trễ | Cửa sổ | Tính đơn nghĩa | Ghi chú |
|---|---|---|---|---|---|
| f0Hz | autocorrelation peak, harmonic spacing | ... | ... | cao/trung bình/... | ... |
| resonance1Freq | spectral envelope / peak shift | ... | ... | ... | ... |
| ... | ... | ... | ... | ... | ... |
Tiêu chí kết quả
Sau khi nghiên cứu, cần phải làm rõ:
- Những tham số
VoiceControlStatenào có thể được khôi phục trực tiếp từ âm thanh. - Những tham số nào chỉ có thể được khôi phục khi kết hợp với các tham số khác.
- Những tham số nào hoàn toàn không thể quan sát được bằng tập đặc trưng hiện tại.
- Cần bổ sung những đặc trưng bổ sung nào vào logger.
- Decoder cần ngữ cảnh thời gian nào cho mỗi lớp tham số.
- Có thể xây dựng decoder như một phép biến đổi phân tích/heuristic hay cần phương pháp tối ưu hóa/học máy.
Kết quả chính không chỉ là một decoder mới, mà là mô hình tương ứng được xác thực về mặt vật lý và thực nghiệm giữa không gian điều khiển của bộ tổng hợp và âm thanh có thể quan sát được theo thời gian.
Ворклоги
Kết luận tạm thời về tính nhân quả theo thời gian và khả năng quan sát của tham số
Các thí nghiệm đơn lẻ cho VoiceControlState -> DSP -> acoustic features đã được thực hiện cho tất cả các tham số điều khiển chính.
Các thí nghiệm cho thấy điều gì
Trong một lần quét đơn lẻ (single sweep), khi chỉ có một tham số điều khiển thay đổi trong khi các tham số khác được giữ cố định, nhiều tham số cho thấy sự tương quan mạnh mẽ với các đặc trưng âm học quan sát được.
Các kết quả nổi bật nhất:
sourceLevelcó mối liên hệ chặt chẽ vớipeak,rms, và độ lớn đỉnh phổ;periodicitycũng phản ánh rõ nét trongpeak/rms, nhưng các đặc trưng này trùng lặp với các tham số điều khiển biên độ;f0Hzthể hiện rõ qua các đặc trưng liên quan đến cao độ (pitch-related), ZCR và phân bố năng lượng tần số cao;resonance1Freqthể hiện rõ qua vị trí của đỉnh phổ đầu tiên;resonance2Freqthể hiện qua các đặc trưng liên quan đến độ suy giảm/formant (rolloff/formant-related);resonance*Gainđược quan sát rõ thông qua các đặc trưng biên độ;outputLevelphản ánh gần như hoàn hảo trongpeak/rms.
Đồng thời, noiseLevel, các tham số thanh môn (glottal), các tham số băng thông (bandwidth) và resonance3Freq ít được quan sát thấy rõ hơn đáng kể với tập đặc trưng hiện tại.
Sự điều chỉnh quan trọng trong cách giải thích
Sự tương quan cao trong một lần quét đơn lẻ KHÔNG có nghĩa là tham số có thể được khôi phục trực tiếp.
Cần phân biệt giữa:
- Sensitivity (Độ nhạy) — đặc trưng quan sát được có thay đổi hay không khi chúng ta thay đổi tham số điều khiển.
- Identifiability (Tính nhận dạng) — liệu có thể nhận biết từ âm thanh quan sát được rằng chính tham số điều khiển này đã thay đổi chứ không phải tham số khác.
Ví dụ:
sourceLevel,outputLevelvàresonanceGainđều làm thay đổi mạnhrms/peak;periodicitytrong thí nghiệm hiện tại cũng ảnh hưởng mạnh đến các đặc trưng biên độ tương tự.
Do đó, các tham số điều khiển này có độ nhạy và quan sát được, nhưng vẫn chưa được chứng minh là có thể phân biệt được với nhau trong một kịch bản thực tế nơi nhiều tham số thay đổi đồng thời.
Phân chia hiện tại của các điều khiển theo tính chất quan sát
1. Tọa độ tần số — có triển vọng nhất để khôi phục trực tiếp:
f0Hz;resonance1Freq;resonance2Freq;- tiềm năng là
resonance3Freqsau khi cải thiện phân tích phổ.
Chúng làm thay đổi không chỉ năng lượng tổng thể mà còn cả cấu trúc phổ.
2. Các điều khiển biên độ/tỷ lệ — quan sát được, nhưng bị trộn lẫn:
sourceLevel;outputLevel;resonance1Gain;resonance2Gain;resonance3Gain;- một phần là
periodicity.
Đối với các tham số này, cần phải khôi phục kết hợp hoặc bổ sung các đặc trưng bổ trợ, bởi vì hiệu ứng tương tự có thể đạt được thông qua các tổ hợp tham số khác nhau.
3. Các điều khiển định hình — nhật ký hiện tại ghi nhận kém:
glottalOpenPhase;glottalReturnPhase;resonance*Bandwidth;noiseLevel;- một phần là
resonance3Freq.
Đối với chúng, có lẽ cần các đặc trưng về hình dạng chu kỳ, đường bao phổ (spectral envelope), cấu trúc hài/nhiễu (harmonic/noise structure), LPC hoặc các phép đo chuyên specialized hơn.
Kết luận về mặt thời gian
Trong tất cả các thí nghiệm đơn lẻ, phản ứng được phát hiện gần như ngay lập tức (~0.2 ms) và cửa sổ 20 ms là đủ cho tập đặc trưng hiện tại. Tuy nhiên, độ trễ giống nhau đối với tất cả các tham số có lẽ phản ánh trước hết độ phân giải của phương pháp đo lường và mốc thời gian của cửa sổ, chứ không phải là một hằng số vật lý DSP thực tế.
Ngoài ra, bộ nhớ cộng hưởng kéo dài đã được phát hiện (~250 ms trong thí nghiệm hiện tại). Giá trị này chưa thể coi là phổ quát: thời gian suy giảm phải phụ thuộc vào tần số/băng thông/Q và đòi hỏi một phép quét riêng biệt đối với các tham số cộng hưởng.
Những điều đã rõ hơn về bản thân bài toán decoder
Kịch bản và nhật ký âm học nằm ở các cấp độ biểu diễn khác nhau:
VoiceControlState -> trạng thái DSP nội bộ -> dạng sóng (waveform) -> phổ/đặc trưng (spectrum/features).
Các tham số điều khiển có thể hầu như không thay đổi theo thời gian, nhưng lại tạo ra một dạng sóng tần số cao phức tạp. Do đó, đồ thị điều khiển không được phép trông giống như đồ thị đặc trưng âm học.
Để khôi phục các tham số, cần nghiên cứu không phải sự tương ứng của một điều khiển với một đặc trưng, mà là phép ánh xạ:
vector(các đặc trưng trên một cửa sổ thời gian) -> vector(các điều khiển).
Thí nghiệm nguyên tắc tiếp theo phải kiểm tra các thay đổi đồng thời của nhiều tham số điều khiển. Chính thí nghiệm này sẽ cho thấy tính nhận dạng thực sự, chứ không chỉ là độ nhạy.
Kết luận thực tiễn
Các lần quét đơn lẻ đã trả lời cho câu hỏi: "Âm thanh có phản ứng với một điều khiển cụ thể hay không và điều đó hiển thị qua những đặc trưng nào?".
Câu hỏi tiếp theo là: "Liệu chúng ta có thể phân biệt sự thay đổi của một điều khiển này với điều khiển khác khi chúng tác động đồng thời hay không?".
Bên cạnh đó, các nghiên cứu cho thấy rằng để tiếp tục công việc, cần phải có một trình chỉnh sửa thời gian tương tác thuận tiện: không phải để chỉnh sửa các kịch bản JSON đã tìm thấy, mà như một phòng thí nghiệm để thủ công tìm kiếm âm thanh và mối quan hệ nhân quả giữa quỹ đạo thời gian của tham số và kết quả.