Hát bảng chữ cái lẽ ra phải là việc dễ dàng nhất mà một giọng nói AI có thể làm. A-B-C-D-E-F-G. Bảy âm thanh riêng biệt, quen thuộc với mọi đứa trẻ trên hành tinh này. Tuy nhiên, bất kỳ ai từng thử nghiệm với việc tạo nhạc bằng AI đều biết thực tế còn hỗn loạn hơn nhiều. Yêu cầu một mô hình hát bảng chữ cái, và các chữ cái L, M, N, O, và P thường sẽ bị sụp đổ thành một âm tiết mờ nhạt duy nhất. "Elemmennopee" không phải là một chữ cái. Nó là một triệu chứng.
Đây chính là vấn đề LMNOP, và nó vượt xa khỏi những bài đồng dao. Các thứ trong tuần, các hướng dẫn được đánh số và bất kỳ loại danh sách có thứ tự nào cũng bộc lộ điểm yếu tương tự. Một nhà phát triển gần đây đã kiểm chứng điều này bằng cách tạo ra tám bài hát thông qua một quy trình AI và đo lường kết quả bằng mlx-whisper, một công cụ nhận dạng giọng nói tự động. Thay vì dựa vào việc nghe cảm tính, họ để phần mềm chuyển soạn báo cáo chính xác những gì AI đã hát. Kết quả thật rõ rệt. Việc liệt kê khiến các ca sĩ tổng hợp vấp ngã theo những cách mà ngôn ngữ thông thường đơn giản là không gặp phải.
Tại sao danh sách làm hỏng giọng nói AI
Ngôn ngữ nói mang theo ngữ cảnh. Nếu ai đó lầm bầm, "Tôi đang đưa con chó đi công viên," và bạn bỏ lỡ từ "con chó", câu nói vẫn có nghĩa. Các từ xung quanh sẽ lấp đầy khoảng trống. Danh sách không cung cấp mạng lưới an toàn đó. Mỗi mục đứng độc lập. Nếu mô hình nói nhịu sự khác biệt giữa "B" và "D", người nghe sẽ không nhận được ý nghĩa một phần. Họ chỉ nhận được tiếng ồn.
Trong bài hát bảng chữ cái, cụm LMNOP là điểm thất bại rõ ràng nhất. Mô hình giọng nói coi chuỗi này như một khối ngữ âm duy nhất thay vì năm chữ cái riêng biệt. Nếu không có các manh mối ngữ cảnh để neo giữ từng âm thanh, bộ tổng hợp sẽ đoán các bước chuyển giữa các phụ âm. Và nó thường đoán sai. Điều tương tự cũng xảy ra với các thứ trong tuần hoặc các bước được đánh số. Mô hình lướt nhanh qua chuỗi, nén các mục riêng biệt thành một hỗn hợp không rõ ràng.
Đo lường thiệt hại
Để nghiên cứu điều này một cách khách quan, nhà phát triển đã tạo ra tám bài hát và chạy chúng qua mlx-whisper để chấm điểm độ chính xác của lời bài hát. Quy trình rất đơn giản: viết một câu lệnh, tạo âm thanh, chuyển soạn kết quả và so sánh văn bản đã chuyển soạn với lời bài hát dự định.
Đối với lời bài hát kể chuyện tiêu chuẩn, kết quả khá trung thực. Các từ xuất hiện đúng chỗ. Nhưng khi các câu lệnh bao gồm danh sách, bảng chữ cái hoặc sự liệt kê, mlx-whisper đã trả về những chuỗi ký tự vô nghĩa. Các chữ cái biến mất hoặc bị trộn lẫn. Các con số biến thành những âm tiết không thể nhận dạng. Thí nghiệm đã xác nhận rằng những lời bài hát chứa nhiều danh sách có độ dễ hiểu kém hơn đáng kể so với văn xuôi.
Kiến trúc câu lệnh giúp ích
Bạn không thể dựa vào hậu xử lý để sửa một danh sách bị biến dạng. Việc khắc phục phải diễn ra trước khi nốt nhạc đầu tiên được tạo ra. Một câu lệnh đầu tiên được xây dựng cẩn thận có thể buộc mô hình phải phát âm rõ ràng hơn. Những điều chỉnh này không tốn kém gì, nhưng chúng thay đổi cách mô hình lấy hơi và tạm dừng.
Chia các chuỗi dài thành các nhóm nhỏ hơn. Thay vì A-B-C-D-E, hãy cấu trúc dòng đó thành A-B-C-D và E-F-G. Sự tái thiết lập nhỏ giữa các nhóm giúp mô hình có cơ hội phát âm đúng các phụ âm thay vì làm nhòe chúng lại với nhau.
Viết đầy đủ các con số. Sử dụng "thirty" thay vì "30". Các chữ số viết tay là những biểu tượng trừu tượng; mô hình đôi khi nén chúng thành những tiếng ồn bị cắt cụt, không có thanh âm. Một từ tiếng Anh đầy đủ sẽ cung cấp chất liệu ngữ âm.
Chèn khoảng cách trực quan xung quanh các chữ cái. Viết "A - B - C" với dấu gạch nối hoặc khoảng trắng thay vì "ABC". Sự tách biệt về mặt trực quan báo hiệu cho mô hình rằng đây là các mục độc lập, không phải là một từ viết tắt hay một từ duy nhất.
Khóa số lượng âm tiết. Giữ mỗi dòng trong khoảng từ sáu đến mười âm tiết. Sự biến động quá lớn khiến mô hình đọc nhanh các dòng ngắn và kéo dài các dòng dài. Các danh sách vốn đã đòi hỏi sự chính xác; nhịp điệu không đều khiến việc thể hiện chính xác trở nên gần như không thể.
Loại bỏ từ "and" khỏi các danh sách. Trong lời nói tự nhiên, "and" đóng vai trò là một liên từ. Trong một danh sách được hát lên, nó thêm vào một âm tiết mềm mại thường nuốt chửng âm sắc sắc nét của mục trước đó. "Monday, Tuesday, Wednesday" sẽ gọn gàng hơn là "Monday, Tuesday, and Wednesday."
Cái bẫy tái tạo
Đây là nơi mà trực giác của con người phản tác dụng. Với những lời bài hát thông thường, việc lặp lại câu lệnh thường cải thiện kết quả. Bạn nghe thấy một cụm từ bị lệch, tinh chỉnh cách dùng từ và tạo lại. Phiên bản tiếp theo sẽ nghe hay hơn. Thử nghiệm cho thấy cách tiếp cận này hiệu quả với các bài hát không có liệt kê. Nhưng đối với các bài hát chứa danh sách, việc viết lại câu lệnh lại khiến kết quả khó hiểu hơn.
Dữ liệu đã rất rõ ràng. Các bài hát không có danh sách đã được cải thiện sau khi sửa câu lệnh. Các bài hát liệt kê thì lại tệ đi.
Thủ phạm chính là acoustic seed. Trong các mô hình lyrics-to-song, việc thay đổi prompt không đơn thuần là chỉnh sửa đoạn âm thanh hiện có. Nó xáo trộn lại toàn bộ nền tảng tạo sinh. Mô hình sẽ xây dựng lại phần trình diễn từ đầu. Đối với văn bản tự sự, lần "gieo xúc xắc" mới có thể mang lại một bản thu rõ ràng hơn. Đối với các danh sách, bạn thường chỉ đang chuốc lấy sự phát âm lộn xộn tệ hơn. Bạn có thể sửa được nhịp điệu của một chữ cái này, nhưng rồi lại thấy mô hình làm mất hút các chữ "J", "K" và "L" trong lần thử tiếp theo. Bản thu gốc vốn đã có lỗi, nhưng bản chỉnh sửa thường chỉ là đổi từ sự hỗn loạn về ngữ âm này sang một sự hỗn loạn khác.
Quy trình làm việc thông minh hơn cho lời bài hát chứa nhiều danh sách
Vì việc tạo lại (regeneration) có nguy cơ làm mất đi sự rõ ràng, quy trình của bạn cần phải thay đổi. Đừng mải mê theo đuổi một bản viết lại hoàn hảo. Thay vào đó, hãy coi prompt đầu tiên như một buổi thử vai (casting call).
Hãy tạo nhiều phiên bản từ cùng một prompt duy nhất bằng cách sử dụng các random seed khác nhau. Đừng chạm vào văn bản. Hãy giữ nguyên lời bài hát và để mô hình thay đổi cách trình diễn. Bạn đang thực hiện một buổi thử giọng, chứ không phải một buổi chỉnh sửa.
Sau đó, hãy chấm điểm cho từng ứng viên. Chạy từng phiên bản qua mlx-whisper hoặc một công cụ chuyển soạn (transcription tool) tương tự và đo lường xem bản thu nào khớp với prompt của bạn một cách trung thực nhất. Hãy chọn bản thắng cuộc dựa trên độ chính xác của lời bài hát, ngay cả khi phần nhạc cụ hoặc tông giọng hát có phần kém trau chuốt hơn một chút. Đối với nội dung chứa nhiều danh sách, khả năng nghe hiểu quan trọng hơn là cảm giác (vibe).
Quan trọng nhất là hãy thực hiện các chỉnh sửa ngay từ đầu. Áp dụng các quy tắc về khoảng cách, giới hạn âm tiết và cách nhóm từ trước khi bạn nhấn nút tạo (generate). Đừng viết bài hát bảng chữ cái bằng tiếng Anh thông thường rồi mới cố gắng vá lỗi sau đó. Mô hình sẽ ít khoan dung hơn với các chỉnh sửa hồi tố khi có sự xuất hiện của các danh sách. A
