Nhật ký công việc cho nhiệm vụ "Tạo phòng thí nghiệm trực quan kịch bản thời gian VoiceSynthesizer"

15 сент. 2026 г., 10:28:37

Tiến độ ngắn gọn: cần viết lại hoàn toàn bản hiện thực hóa hiện tại

Kiểm tra thực tế cho thấy thành phần hiện tại không thể được coi là nền tảng khả thi cho các thử nghiệm âm thanh tiếp theo.

Các vấn đề chính:

  • Kiến trúc âm thanh về cơ bản không phù hợp cho việc tổng hợp chất lượng cao. Các tham số được cập nhật theo từng khối thông qua các node Web Audio trong khi phát, trong khi đối với việc tổng hợp thử nghiệm có kiểm soát, sẽ hợp lý hơn nếu tính toán trước PCM/mảng giá trị mẫu theo toàn bộ logic thời gian và đưa bộ đệm đã sẵn sàng cho AudioContext phát lại.
  • Bản thân DSP hiện tại có cấu trúc chưa tốt: sóng răng cưa đi qua ba bộ lọc dải thông-hình thức (bandpass-formant) hẹp được nối tiếp nhau, điều này hầu như phá hủy phần tuần hoàn; trong khi đó, tiếng ồn đi theo một đường trực tiếp riêng biệt.
  • Dòng thời gian giao diện người dùng (UI timeline) và dòng thời gian âm thanh (audio timeline) thực tế có các đồng hồ khác nhau. Vòng lặp (loop), tua (seek), tạm dừng/phát (pause/play) và thời gian âm thanh thực không cùng thuộc một cỗ máy trạng thái (state machine).
  • Điều khiển âm thanh thông qua requestAnimationFrame (~60 Hz) không phù hợp cho các sự kiện âm thanh ngắn, chùm (burst) và các chuyển đổi nhanh; việc làm mịn bổ sung càng làm mờ các sự kiện hơn nữa.
  • Vòng đời của các nguồn âm thanh chứa các điều kiện tranh chấp (race conditions) và trạng thái không nhất quán: Phát lặp lại hoạt động không ổn định, Dừng có thể dẫn đến việc âm thanh tiếp tục phát lại bất ngờ, các callback cũ/tham chiếu nguồn (source refs) có thể tồn tại lâu hơn việc thay đổi trạng thái.
  • Trong UI/UX có quá nhiều refs/states/hooks độc lập chịu trách nhiệm cho các phần của một trạng thái phát lại duy nhất. Thay vào đó, cần có một useReducer duy nhất / cỗ máy trạng thái hữu hạn với các trạng thái stopped/playing/paused rõ ràng và các chuyển đổi tất định.
  • Báo cáo thực hiện hóa ra lại lạc quan hơn đáng kể so với hành vi thực tế: giao diện có vẻ ngoài trực quan như một phòng thí nghiệm hoàn chỉnh, nhưng các kịch bản người dùng cơ bản như Phát/Dừng/Phát lại và bản thân kết quả âm thanh lại không đáng tin cậy.
  • Kết luận: việc vá lỗi cục bộ cho bản hiện thực hóa hiện tại là không khả thi. Thành phần cần được viết lại từ đầu, chỉ giữ lại ý tưởng chung về một phòng thí nghiệm trực quan: dòng thời gian, các track tham số, khung hình chính (keyframes), vòng lặp và tìm kiếm âm thanh thủ công. Phiên bản mới nên được xây dựng xung quanh một cỗ máy trạng thái duy nhất và tính toán trước bộ đệm âm thanh từ kịch bản.
14.09.2026

Trình chỉnh sửa đa rãnh tương tác để thử nghiệm thủ công với các thông số tổng hợp theo thời gian, nghe lặp lại và tìm kiếm các âm thanh thú vị.