Nhiệm vụ: Nghiên cứu Rhubarb Lip Sync như một nguồn cơ chế nhận diện âm thanh và âm tiết

Nghiên cứu Rhubarb Lip Sync như một nguồn cơ chế nhận diện âm thanh và âm tiết

Tìm hiểu về bộ nhận diện ngữ âm (phonetic recognizer) của dự án Rhubarb Lip Sync và kiểm tra xem có thể sử dụng các thuật toán hoặc ý tưởng của nó để giải mã bản ghi âm thành các chữ cái/âm vị/âm tiết trong dự án "Học tập dễ dàng" (Uchitsya legko).

Bối cảnh

Trong dự án, trước đây đã từng nghiên cứu về tổng hợp giọng nói của riêng mình và bài toán ngược là khôi phục các đặc trưng điều khiển/ngữ âm từ tệp âm thanh. Các tác vụ liên quan đã bị hủy:

  • cmu11e15r09gwqw0qzkny9qt5 — "Nghiên cứu bộ giải mã ngược: âm thanh → VoiceScenario": nỗ lực tự động khôi phục kịch bản của bộ tạo từ âm thanh đã ghi, trước tiên trên ground truth tổng hợp, sau đó trên giọng nói của con người.
  • cmtzxmokp085eqw0qtb7vg7c2 — "Nghiên cứu tổng hợp phần mềm chất lượng cao giọng nói con người trên trình duyệt": tìm kiếm các phương pháp phần mềm/DSP để tổng hợp âm thanh và âm tiết của con người mà không cần TTS tạo sinh.

Dự án bên ngoài mới để nghiên cứu:

https://github.com/DanielSWolf/rhubarb-lip-sync

Tại sao Rhubarb lại đáng chú ý

Rhubarb Lip Sync nhận một bản ghi âm thanh hoàn chỉnh, phân tích giọng nói theo thời gian và xuất ra một chuỗi các tín hiệu khẩu hình (mouth cues) để hoạt hình hóa chuyển động miệng.

Chế độ phonetic đặc biệt quan trọng vì:

  • nó cũng được thiết kế cho giọng nói không phải tiếng Anh;
  • không cố gắng nhận dạng toàn bộ từ;
  • nhận dạng các âm thanh và âm tiết riêng lẻ;
  • theo tuyên bố của dự án là độc lập với ngôn ngữ (language-independent);
  • kết quả được gắn liền với các khoảng thời gian của âm thanh;
  • tiếp theo, các đặc trưng ngữ âm được thu gọn thành một tập hợp nhỏ các lớp cấu âm/hình dạng miệng (mouth-shape).

Điều này có tiềm năng rất gần với bài toán nhận dạng cấu trúc âm thanh của lời nói, nơi việc chuyển đổi giọng nói thành văn bản (speech-to-text) toàn diện có thể là thừa thãi hoặc thậm chí gây cản trở.

Mục tiêu nghiên cứu

Hiểu chính xác cách Rhubarb thực hiện quá trình:

PCM/âm thanh → đặc trưng ngữ âm → phân đoạn thời gian → lớp âm thanh/cấu âm,

và xác định xem có thể sử dụng mã nguồn, thuật toán, các phần phụ thuộc (dependencies) hoặc các ý tưởng kiến trúc cho các thí nghiệm "âm thanh → chữ cái/âm vị/âm tiết" của riêng chúng ta hay không.

Cần nghiên cứu cụ thể những gì

  1. Tìm phần cài đặt của PhoneticRecognizer và tất cả các phụ thuộc của nó.
  2. Tìm hiểu các đặc trưng âm học nào được trích xuất từ PCM:
    • các đặc trưng phổ;
    • formant;
    • MFCC hoặc các dạng tương tự;
    • năng lượng/tính có thanh (voicing);
    • chuyển đổi giữa các trạng thái;
    • cửa sổ thời gian và làm mượt (smoothing).
  3. Tìm hiểu xem bên trong có mô hình đã được huấn luyện, bảng tra cứu/heuristics hay một bộ nhận diện bên ngoài hay không.
  4. Xác định tập hợp ban đầu các trạng thái ngữ âm được nhận diện trước khi chuyển đổi thành hình dạng miệng (mouth shapes).
  5. Hiểu xem bộ nhận diện thực sự độc lập với ngôn ngữ đến mức nào và những giả định nào về ngữ âm của ngôn ngữ được nhúng trong đó.
  6. Kiểm tra hoạt động trên các bản ghi rất ngắn:
    • nguyên âm đơn lẻ;
    • phụ âm đơn lẻ, nếu có thể;
    • âm tiết kiểu ma, ba, sa;
    • một vài âm tiết tương phản.
  7. So sánh đầu ra của bộ nhận diện với ground truth đã biết và xem nó thực sự có khả năng phân biệt những thông tin gì.
  8. Kiểm tra xem có thể lấy được dữ liệu trung gian chi tiết hơn các hình dạng miệng cuối cùng A–H/X hay không.
  9. Đánh giá khả năng tách phần cần thiết của thư viện ra riêng hoặc gọi Rhubarb dưới dạng CLI/dịch vụ cục bộ.
  10. Kiểm tra giấy phép và khả năng mượn/chỉnh sửa mã nguồn.

Giả thuyết riêng biệt

Rhubarb có thể hữu ích không phải như một "bộ nhận diện chữ cái" hoàn chỉnh, mà như một ví dụ về việc phân rã bài toán thực tế hơn:

âm thanh → lớp âm học/ngữ âm → lớp cấu âm → âm vị có khả năng → chữ cái trong ngữ cảnh đã biết.

Đối với việc học đọc, điều này có thể hữu ích hơn là nỗ lực trực tiếp xác định chữ cái chỉ bằng PCM, đặc biệt nếu chúng ta biết trước một tập hợp giới hạn các chữ cái/âm tiết hợp lệ của bài tập.

Mối liên hệ với các nghiên cứu trước đây

Cần đối chiếu kiến trúc của Rhubarb với các kết luận từ các tác vụ:

  • cmu11e15r09gwqw0qzkny9qt5 — bộ giải mã ngược;
  • cmtzxmokp085eqw0qtb7vg7c2 — tổng hợp giọng nói bằng phần mềm;
  • nếu cần thiết, cũng kết hợp với các nghiên cứu về các đặc trưng đo lường được của tín hiệu giọng nói và tính nhân quả của DSP.

Mục tiêu không phải là khởi động lại toàn bộ nhánh trước đó, mà là kiểm tra một dự án mã nguồn mở đã trưởng thành cụ thể như một nguồn cung cấp các cơ chế đang hoạt động.

Tiêu chí kết quả

Trong nhật ký công việc (worklog) phải xuất hiện:

  • sơ đồ đường ống (pipeline) nội bộ của Rhubarb;
  • các mã nguồn và phụ thuộc chính đã tìm thấy;
  • mô tả về các trạng thái ngữ âm/âm học mà nó thực sự nhận diện được;
  • kết quả của một vài thử nghiệm ngắn;
  • kết luận về phần nào hoặc ý tưởng nào có thể áp dụng cho bài toán nhận diện chữ cái/âm vị/âm tiết của chúng ta, phần nào thì không;
  • nếu có triển vọng — một tác vụ kỹ thuật riêng biệt cho bản mẫu tích hợp (integration prototype).