Nhiệm vụ: Nghiên cứu tổng hợp tham số các âm tiếng Nga và các chuyển tiếp giữa chúng

Nghiên cứu tổng hợp tham số các âm tiếng Nga và các chuyển tiếp giữa chúng

Kiểm tra xem liệu có thể sử dụng tổng hợp tiếng nói tham số để dạy đọc hay không: các âm tiếng Nga riêng lẻ là trạng thái, và sự kết hợp của chúng là các chuyển tiếp có điều khiển.

Bối cảnh

Trong khuôn khổ dự án учиться-легко.рф, một nguyên mẫu ban đầu của bộ tổng hợp giọng nói đã được tạo ra bằng Web Audio API mà không cần bản ghi âm. Âm thanh được tạo ra theo dạng tham số: nguồn giọng nói, tiếng ồn và bộ lọc formant xác định trạng thái của âm vị, trong khi sự kết hợp của hai âm thanh được cấu trúc như một chuyển tiếp giữa các trạng thái.

Giả thuyết làm việc:

Một âm thanh riêng lẻ có thể được biểu diễn như trạng thái của hệ thống cấu âm - âm học, và sự kết hợp của các âm thanh như một quỹ đạo thời gian chuyển tiếp giữa các trạng thái đó.

Điều này có khả năng cho phép không lưu trữ các bản ghi sẵn của chữ cái, âm tiết và tổ hợp, mà tổng hợp chúng một cách động và nghiên cứu chính cơ chế chuyển từ âm thanh này sang âm thanh khác.

Những gì đã có sẵn

Nguyên mẫu có khả năng:

  • xác định các nguyên âm tiếng Nga và một phần phụ âm bằng một tập hợp tham số;
  • tạo ra âm thanh thông qua Web Audio API;
  • phát một âm vị riêng lẻ;
  • nội suy trơn tru các tham số giữa hai âm vị;
  • phát chuyển tiếp kiểu М → А;
  • điều khiển chuyển tiếp thông qua thanh trượt 0..1;
  • tính toán riêng biệt giọng nói, tiếng ồn, formant, thành phần mũi và âm lượng.

Việc triển khai hiện tại vẫn còn đơn giản hóa: hầu hết các tham số được nội suy đồng thời và tuyến tính.

Những gì cần nghiên cứu

1. Mô hình âm thanh tiếng Nga

Xác định xem một tập hợp tham số nhỏ có đủ để tổng hợp nhận diện được các âm thanh cơ bản của tiếng Nga hay không.

Tối thiểu cần kiểm tra:

  • nguyên âm а, о, у, э, ы, и;
  • âm vang м, н, л, р;
  • âm xát с, з, ф, в, ш, ж, х;
  • âm tắc п, б, т, д, к, г;
  • các biến thể mềm và cứng của phụ âm.

Cần phải hiểu âm thanh nào có thể được tổng hợp tương đối đơn giản, và âm thanh nào đòi hỏi mô hình đường phát âm phức tạp hơn.

2. Chuyển tiếp giữa các âm thanh

Kiểm tra giả thuyết rằng sự kết hợp tự nhiên không thể được mô tả bằng phép nội suy tuyến tính đơn giản của tất cả các tham số.

Đối với các tổ hợp khác nhau, nghiên cứu các quỹ đạo thời gian riêng biệt:

  • giọng nói;
  • tiếng ồn;
  • vị trí formant;
  • khoang mũi;
  • mức độ chồng lấp/thu hẹp;
  • vị trí quy ước của lưỡi và môi;
  • thời gian giữ trạng thái đầu tiên;
  • thời điểm bắt đầu tái cấu trúc sang trạng thái thứ hai.

Đặc biệt kiểm tra các tổ hợp:

  • ма, мо, му, ми;
  • са, со, су, си;
  • па, ба, та, да;
  • các cặp hữu thanh/vô thanh;
  • các cặp cứng/mềm.

3. Không gắn kết trước với mô hình âm tiết

Không coi âm tiết là đơn vị tổng hợp bắt buộc.

Nghiên cứu quá trình tổng quát hơn:

chuỗi chữ cái/âm vị → chuỗi trạng thái → quỹ đạo âm thanh liên tục

Cần phải hiểu liệu có thể dạy trẻ em không phải là ghi nhớ các âm tiết có sẵn, mà là chính sự chuyển tiếp giữa các âm thanh.

Ví dụ:

М → А → М → А

có tiềm năng biến thành từ мама được phát liên tục mà không cần lưu trữ МА như một đối tượng riêng biệt.

4. Điều khiển tương tác

Kiểm tra giá trị giáo dục của việc điều khiển chuyển tiếp thủ công.

Ví dụ:

  • hiển thị М ở bên trái;
  • А ở bên phải;
  • trẻ di chuyển thanh trượt;
  • âm thanh thay đổi trong thời gian thực từ /м/ sang /а/;
  • sau đó hệ thống tự động phát toàn bộ chuyển tiếp tự nhiên.

Cần kiểm tra xem cơ chế này có giúp hiểu mối liên hệ giữa các âm thanh riêng lẻ và lời nói liên tục hay không.

5. So sánh với tổng hợp cấu âm

Nghiên cứu Modular Pink Trombone / Pink Trombone như một tài liệu tham khảo kiến trúc, nhưng không đặt mục tiêu chuyển đổi toàn bộ hệ thống.

Cần xác định mức độ tối thiểu của mô hình vật lý đủ cho nhiệm vụ dạy đọc.

Các lựa chọn có thể:

  1. tổng hợp formant đơn giản hóa;
  2. sự kết hợp giữa tổng hợp formant và cấu âm;
  3. mô hình đường phát âm đầy đủ chỉ dành cho những âm thanh mà mô hình đơn giản là không đủ.

Tiêu chí kết quả nghiên cứu

Nghiên cứu được coi là hữu ích nếu trả lời được ít nhất các câu hỏi sau:

  1. Có thể tổng hợp các âm thanh cơ bản của tiếng Nga mà không cần bản ghi âm với độ nhận diện chấp nhận được không?
  2. Những tham số nào là tối thiểu cần thiết cho mỗi lớp âm thanh?
  3. Chuyển tiếp giữa hai âm thanh nghe tự nhiên đến mức nào với phép lerp đơn giản?
  4. Những tham số nào nên bắt đầu và kết thúc chuyển tiếp ở những thời điểm khác nhau?
  5. Có thể nhận được các âm ма, са, па, ми có thể nhận diện được dưới dạng quỹ đạo mà không cần lưu trữ chúng thành các bản ghi riêng biệt không?
  6. Có thể xây dựng một chuỗi dài hơn theo cùng một cách, ví dụ như мама không?
  7. Việc điều khiển chuyển tiếp thủ công có mang lại hiệu quả giáo dục và giúp trẻ hiểu cách một chuỗi chữ viết biến thành lời nói hay không?

Sản phẩm kết quả

Dựa trên kết quả nghiên cứu, mong muốn nhận được:

  • nguyên mẫu chạy trên trình duyệt hoạt động được;
  • mô tả mô hình tham số âm vị;
  • một số âm thanh tiếng Nga đã được tinh chỉnh;
  • một số chuyển tiếp đã được tinh chỉnh;
  • các quan sát về nơi mô hình đơn giản bị phá vỡ;
  • quyết định xem có nên phát triển tiếp bộ tổng hợp của riêng mình hay sử dụng công cụ cấu âm hiện có làm nền tảng.

Ворклоги

Tiến độ nghiên cứu

Cách tiếp cận kiến trúc cốt lõi đã được thiết lập và kiểm chứng bằng thực nghiệm: âm thanh của con người được mô tả như một kịch bản liên tục thay đổi trạng thái DSP phổ quát theo thời gian, chứ không phải như một trình kết xuất chữ cái/âm vị chuyên biệt.

Đã triển khai

  • VoiceScenario với initial và một timeline chung.
  • Các lệnh setanimate, bao gồm cả cubic bezier.
  • Trạng thái liên tục với các tham số kích thích, tính tuần hoàn, tiếng ồn, F0, hình dạng nguồn, ba kênh cộng hưởng phổ quát và mức cuối cùng.
  • Một lệnh mới cho một tham số bắt đầu di chuyển từ giá trị hiện tại của nó và thay thế bất kỳ automation tương lai nào trước đó.
  • Bộ tổng hợp chấp nhận cả VoiceScenario đơn lẻ và VoiceScenario[].
  • Mảng các kịch bản trải ra thành một mốc thời gian duy nhất mà không cần đặt lại pha nguồn hoặc trạng thái DSP giữa các phần tử.
  • Điều này giúp có thể lắp ráp Privet thành [PRI_SCENARIO, VET_SCENARIO] thay vì tạo một kịch bản từ riêng biệt.
  • Nguồn tiếng ồn đã được chuyển sang PRNG có hạt giống (seeded PRNG) để tái tạo PCM ổn định.
  • Âm thanh tổng hợp đi qua cùng một VoiceLogger giống như các bản ghi âm trực tiếp.

Vòng lặp thử nghiệm

Sơ đồ sau được sử dụng:

bản ghi trực tiếp → nhật ký (log) → phân tích → kịch bản → tổng hợp → cùng bộ ghi log → so sánh → điều chỉnh

Trình ghi log hiện tại đo lường RMS, đỉnh (peak), ZCR, tâm phổ (spectral centroid), độ phẳng phổ (spectral flatness), tần số chiếm ưu thế và một số dải năng lượng. Nó vẫn còn thô sơ: phân tích ở 128 mẫu (samples) cho bước tần số khoảng 375 Hz, vì vậy cần phải cải thiện thêm trong tương lai.

Kết quả cho từng âm thanh cụ thể

A

Âm A kéo dài đã cho ra kết quả tương đối tự nhiên. Điều này xác nhận rằng timeline + nguồn định kỳ + các cộng hưởng phổ quát về cơ bản là phù hợp cho một số trạng thái giọng nói ổn định.

C (S)

Sau nhiều lần lặp lại, người ta thấy rằng hiện tượng "xì" chủ quan không thể quy cho việc dư thừa tần số cao. Âm C mạnh trong thực tế đồng thời có ZCR cao, tâm phổ cao và độ nhiễu loạn tần số cao mãnh liệt. Việc chỉ tăng biên độ tổng thể không giải quyết được bài toán chất lượng nguồn.

Ш (Sh)

Ш được coi là trạng thái nhiễu liên tục gần giống với C, nhưng có phân bố năng lượng phổ thấp hơn và rộng hơn.

Т (T)

T đã xác nhận sự hiện diện của các sự kiện ngắn hạn không thể kéo dài như một trạng thái ổn định. Âm T thật đặc trưng bởi một đợt bùng nổ tần số cao rất ngắn và sự suy giảm nhanh chóng; trong một số bản ghi, đỉnh chính thường xuất hiện ở khoảng 15–16 kHz. Điều này đã được thể hiện thành công bằng chính mô hình timeline đó mà không cần loại T chuyên biệt.

Kịch bản tổng hợp

Các kịch bản PriVet đã được tạo ra, sau đó kiểm tra việc kết hợp chúng thông qua một mảng các kịch bản. Chúng đã có thể nhận diện được, nhưng chất lượng âm thanh vẫn mang rõ nét âm thanh máy tính.

Sau khi so sánh với âm Privet thật, người ta phát hiện ra rằng:

  • các kịch bản ban đầu bị kéo dài quá mức về thời gian;
  • dao động sâu thủ công của sourceLevel cho âm Р nghe có vẻ cơ học;
  • âm T cuối cùng trong một trong các biến thể đạt đến peak = 1, tức là chạm ngưỡng hard clamp;
  • các kịch bản đã được rút ngắn lại cho phù hợp với thời lượng trò chuyện hơn và âm T cuối cùng được làm giảm đi.

Hạn chế DSP hiện tại

Rủi ro chính hiện nay không nằm ở kiến trúc kịch bản, mà nằm ở chất lượng của chính bộ máy âm thanh. Các cơ chế phổ quát còn thiếu có thể là:

  • nguồn thanh quản (glottal source) thực tế hơn;
  • độ nghiêng phổ (spectral tilt);
  • tiếng thở / âm khí (aspiration / breathiness);
  • đường truyền nhiễu băng rộng/trực tiếp (broadband/direct noise path);
  • mô hình nhiễu loạn mang tính vật lý hơn;
  • kháng cộng hưởng (antiresonances);
  • đường mũi (nasal tract);
  • tương tác nguồn-bộ lọc (source-filter interaction);
  • mô hình đường thanh quản phong phú hơn;
  • có thể là jitter/shimmer và các biến động nhỏ khác;
  • kiểm soát hiện tượng cắt xén (clipping) thay vì dùng hard clamp che giấu nguyên nhân.

Kết luận kiến trúc

  • các chữ cái, âm vị và âm tiết nên đóng vai trò là siêu dữ liệu (metadata), chứ không phải là bản thể học (ontology) của DSP;
  • các hiện tượng ổn định, chuyển tiếp và tắc nghẽn hiện có thể được biểu diễn bằng một mô hình timeline duy nhất;
  • việc kết hợp các kịch bản có vẻ là hướng đi đúng đắn;
  • TTS tạo sinh không phù hợp làm đối tượng nghiên cứu, vì nhiệm vụ đòi hỏi phải lập trình rõ ràng các âm thanh mới, bao gồm cả những âm chưa từng gặp trước đây;
  • Pink Trombone và các mô hình vật lý tương tự rất hữu ích làm tài liệu tham khảo, nhưng chất lượng của chúng cho thấy chỉ riêng một mô hình đường ống liên tục là chưa đủ.

Bước tiếp theo

Một nhiệm vụ nghiên cứu liên quan riêng biệt cmtzxmokp085eqw0qtb7vg7c2 đã được tạo ra về tổng hợp giọng nói con người bằng lập trình chất lượng cao trên trình duyệt. Nhiệm vụ này nhằm tìm kiếm các dự án bản địa hóa trên trình duyệt / có khả năng chạy trên trình duyệt và các cách tiếp cận DSP có thể tái tạo chất lượng ít nhất một vài âm thanh hoặc âm tiết của con người mà không cần TTS tạo sinh, đồng thời tìm hiểu xem cơ chế phổ quát nào nên được chuyển sang công cụ hiện tại.

Tiến bộ mới: Biểu diễn âm thanh có cấu trúc và vòng lặp Con người ↔ AI

Đã ghi nhận một số dấu hiệu đáng khích lệ từ nguyên mẫu hiện tại.

1. Chúng ta không còn làm việc với waveform, mà với một chương trình nhỏ gọn

Bộ tổng hợp hiện tại vận hành dựa trên các biến trạng thái ban đầu riêng biệt và các kịch bản riêng lẻ trên một timeline chung. Điều này khác biệt cơ bản so với việc lưu trữ trực tiếp hàng nghìn/chục nghìn mẫu (samples).

Mặc dù mô hình còn thô sơ, nhưng từ một số lượng tương đối nhỏ các tham số đã tạo ra những âm thanh đôi khi được con người nhận dạng là chữ cái, các đoạn âm vị hoặc âm tiết. Điều này chưa chứng minh được sự đủ đầy của mô hình đối với ngôn ngữ tự nhiên, nhưng cho thấy không gian tham số không hoàn toàn hỗn loạn.

2. Con người thực tế đóng vai trò là perceptual validator (bộ kiểm định nhận thức)

AI không có một chuẩn mực đáng tin cậy về độ tự nhiên của âm thanh tổng hợp. Do đó, vòng lặp làm việc hiện tại diễn ra như sau:

âm thanh mong đợi → kịch bản → tổng hợp → con người lắng nghe → đánh giá chất lượng → AI đề xuất thay đổi tham số → tổng hợp mới.

Ở đây, con người đưa ra perceptual feedback cuối cùng, trong khi AI giúp phân tích các khác biệt về cấu trúc và di chuyển qua không gian tham số.

3. Sử dụng bản ghi âm thực tế làm mốc tham chiếu cục bộ

Khi tìm kiếm âm thanh Kha, một bản ghi âm của từ/cụm từ KuKhaRe đã được sử dụng, trong đó đoạn cần thiết thực sự xuất hiện. AI đã nhận được:

  • nhật ký (log) của biến thể tổng hợp;
  • nhật ký của bản ghi âm thực;
  • thông tin về vị trí của đoạn mục tiêu trong bản ghi âm.

Tiếp theo, nó so sánh các đặc điểm cấu trúc và đề xuất những tham số kịch bản nào có thể được thay đổi để đến gần hơn với đoạn mong muốn.

Điều này không mang lại kết quả tức thì, nhưng trông giống như một vòng lặp con người-AI đang hoạt động để tiệm cận âm thanh mục tiêu.

4. Có lẽ các nhật ký hiện tại đang bị nén quá mức

Có nghi ngờ rằng chất lượng của các nhật ký phân tích là không đủ để so sánh chính xác. Nếu con người nghe thấy những khác biệt mà AI không thể suy ra từ nhật ký, thì nút thắt cổ chai (bottleneck) có thể nằm không chỉ ở bộ tạo sinh, mà còn ở độ phân giải của quá trình phân tích.

Cần phải kiểm tra riêng xem chất lượng các đề xuất của AI thay đổi như thế nào khi giảm độ nén nhật ký và tăng số lượng đặc điểm thời gian/ phổ (temporal/spectral features).

5. Những âm thanh thực được tìm thấy tình cờ cũng là tri thức

Khi tìm kiếm Kha, một trong các biến thể đã được cảm nhận là Va.

Điều này hữu ích vì hai lý do:

  1. bản thân âm thanh được tìm thấy có thể sẽ cần thiết sau này;
  2. sự chuyển đổi từ "tiếng xì" trước đó sang âm Va được cảm nhận cho thấy hướng đi trong không gian tham số.

Những phát hiện tình cờ như vậy cần được lưu lại cùng với các thay đổi tham số, bởi vì chúng giúp lập bản đồ không gian của các âm thanh có thể có.

6. Không gian hiện vẫn nằm trong vùng speech-like sounds (âm thanh giống giọng nói)

Mặc dù AudioContext có tiềm năng vạn năng, nhưng khi thay đổi các tham số của bộ tạo sinh định hướng giọng nói (voice-oriented) hiện tại, chúng ta chủ yếu vẫn gặp phải những âm thanh được cảm nhận là giọng nói/ngữ âm hoặc gần với chúng, chứ không phải là các âm thanh thực ngẫu nhiên như tiếng sủa, tiếng chim hót hay tiếng móng guốc gõ.

Điều này không chứng minh tính vạn năng và cũng không chứng minh độ bao phủ hoàn chỉnh của tiếng nói con người. Một kết luận thận trọng hơn:

kiến trúc bộ tạo sinh hiện tại đã chứa một inductive bias mạnh mẽ về phía không gian âm thanh giống giọng nói (voice-like sound space).

Đây có thể là một thuộc tính hữu ích, bởi vì việc tìm kiếm không diễn ra trên toàn bộ không gian âm thanh có thể có, mà nằm trong một vùng hẹp hơn.

7. Mục tiêu thực tế đã được làm rõ

Bây giờ câu hỏi chính không chỉ là "cần những tham số nào để tổng hợp giọng nói", mà là:

chúng ta có thể mô tả vùng ngôn ngữ con người mong muốn một cách nhỏ gọn đến mức nào, mà không phải quay lại hàng nghìn mẫu (samples).

Các điểm cực trị đã rõ ràng:

  • waveform / μ-law — chất lượng cao và tính vạn năng, nhưng có tới hàng nghìn giá trị mỗi giây;
  • VoiceScenario — tính nhỏ gọn và khả năng điều khiển, nhưng các giới hạn về chất lượng vẫn chưa được biết rõ.

Công việc tiếp theo nên khám phá khoảng cách giữa chúng và mối quan hệ phụ thuộc:

chất lượng ↑ ↔ độ phức tạp/kích thước biểu diễn ↑.

Một con đường khả thi là dần dần bổ sung chỉ những cơ chế mang lại perceptual gain đáng chú ý, đồng thời bảo toàn tính cấu trúc của mô hình.

Các kết luận mới về cấu trúc bộ tổng hợp và tính khả nghịch

Đã tiến hành phân tích toàn bộ chuỗi VoiceScenario -> PCM.

1. Quá trình tổng hợp hoàn toàn nằm trong mã nguồn của chúng ta

Đã làm rõ rằng không có công cụ âm thanh ẩn bên ngoài nào tạo ra PCM. Mảng bản âm thanh cuối cùng được tính toán hoàn toàn bên trong synthesizeScenario:

VoiceScenario -> VoiceControlState(t) -> excitation -> resonators -> value -> Float32Array.

Tại mỗi mẫu (sample), mã tự tính toán giá trị cuối cùng và ghi nó vào output[sampleIndex]. AudioBufferSourceNode của trình duyệt sau đó chỉ phát lại PCM đã sẵn sàng.

Điều này có nghĩa là toàn bộ DSP có thể được tạo công cụ (instrument) và nghiên cứu ở mọi bước.

2. Các tham số điều khiển và các chỉ số âm học đo được là các cấp độ khác nhau

Sau khi sửa biểu diễn kịch bản, có thể thấy rằng ngay cả các tham số điều khiển gần như hằng số cũng tạo ra các thay đổi tần số cao trong âm thanh được đo. Điều này là có thể dự đoán được.

Nguyên nhân:

  • f0Hz hằng số quy định tốc độ thay đổi của voicePhase, chứ không phải là giá trị dạng sóng (waveform) hằng số;
  • noiseLevel hằng số điều khiển biên độ của nguồn ngẫu nhiên thay đổi theo mỗi mẫu;
  • các bộ cộng hưởng có trạng thái nội bộ (low, band) và tiếp tục thay đổi động ngay cả khi các tham số không đổi;
  • RMS, spectralFlatness và dominantFrequency phụ thuộc đồng thời vào nhiều tham số điều khiển và trạng thái DSP nội bộ.

Do đó, đường cong điều khiển != đường cong âm học được đo.

3. Đã tìm thấy một lớp bổ sung ẩn đối với kịch bản: trạng thái DSP nội bộ

Giữa VoiceControlState và PCM tồn tại các trạng thái nội bộ:

  • voicePhase;
  • resonator1/2/3.low;
  • resonator1/2/3.band;
  • trạng thái của PRNG tất định;
  • các tự động hóa (automation) đang hoạt động.

Chính lớp này giải thích lý do tại sao các đường điều khiển gần như nằm ngang có thể dẫn đến dạng sóng tần số cao phức tạp và các chỉ số âm học không đồng đều.

4. Hướng nghiên cứu tiếp theo

Chúng ta cần chuyển từ câu hỏi "chỉ số nhật ký nào tương ứng với tham số" sang bài toán nhận dạng hệ thống:

sự thay đổi của mỗi tham số VoiceControlState ảnh hưởng như thế nào đến dạng sóng và các đặc trưng âm học có thể đo được?

Thí nghiệm đề xuất: quét tham số (parameter sweep) cho từng tham số điều khiển trong khi giữ cố định các tham số còn lại và thu thập dạng sóng + các đặc tính phổ/thời gian. Điều này sẽ cho phép xây dựng bản đồ control -> acoustic features và hiểu được tham số nào thực sự có thể quan sát được từ âm thanh, tham số nào phụ thuộc vào sự kết hợp của các tham số, và tham số nào hoàn toàn không hiển thị đối với trình ghi nhật ký (logger) hiện tại.

Lý thuyết cơ bản về PCM cũng được thảo luận: mức PCM không dấu 8-bit hằng số (ví dụ: 255,255,255,...) không tạo ra âm thanh ổn định vì không có sự thay đổi tuần hoàn; những gì nghe được chủ yếu là các chuyển đổi. Điều này nhấn mạnh rằng một giá trị PCM riêng lẻ là biên độ tức thời, trong khi tần số/âm sắc/độ lớn là các thuộc tính của cấu trúc chuỗi theo thời gian.