Khi chép lời một cuộc phỏng vấn hay một cuộc họp nhiều người, biết ai nói câu nào là điều cốt yếu. Whisper Notes chạy nhận dạng giọng nói và phân tách người nói ngoại tuyến, ngay trên iPhone hoặc Mac. Vì vậy, mọi mô hình chúng tôi đưa vào ứng dụng đều phải cân bằng giữa độ chính xác và tốc độ, và độ chính xác luôn được ưu tiên. Gần đây, chúng tôi đã thay mô hình phân tách người nói tích hợp sẵn, pyannote community-1, bằng Nemotron 3 Diarization của NVIDIA, rồi so sánh hai mô hình trên 122 bản ghi công khai có từ một đến mười hai người nói: tỷ lệ lỗi phân tách người nói (DER) giảm từ 16,0% xuống 9,9%.
Nemotron 3 giảm tỷ lệ lỗi phân tách người nói từ 16,0% xuống 9,9%
Tỷ lệ lỗi phân tách người nói (DER) cộng gộp ba loại lỗi, tính theo thời lượng lời nói: lời nói bị gán sai người, lời nói bị mô hình bỏ sót, và tạp âm bị nhận nhầm thành lời nói. Đây là thước đo tiêu chuẩn của phân tách người nói. Bảng dưới đây ghi chỉ số này cùng những lỗi người dùng dễ nhận thấy nhất, kèm tốc độ và bộ nhớ của hai mô hình trên Mac và iPhone.
| pyannote community‑1 | Nemotron 3 | |
|---|---|---|
| Tỷ lệ lỗi phân tách người nói, 122 bản ghi | 16,0% | 9,9% |
| Đúng số người nói | 52% bản ghi | 80% bản ghi |
| Lời nói bị gán sai người | 4,5% | 1,0% |
| 1 giờ âm thanh trên Mac (M5) | khoảng 22 giây | khoảng 8,5 giây |
| Bộ nhớ trên Mac | 0,88 GB | 0,12 GB |
| Bản ghi 55 phút trên iPhone 15 | khoảng 27 giây | khoảng 12 giây |
| Bộ nhớ dùng thêm trên iPhone 15 | khoảng 830 MB | khoảng 30 MB |
| Số người nói tối đa | Không giới hạn cố định (tối đa 10 trong ứng dụng) | 8 |
Trong bảng này và mọi bảng, biểu đồ bên dưới, màu xanh lá đánh dấu giá trị tốt hơn khi chênh lệch vượt ngoài sai số: với độ chính xác, khoảng tin cậy 95% không bao gồm 0; với tốc độ và bộ nhớ, khoảng cách lớn hơn nhiều so với dao động giữa các lần chạy. Tỷ lệ lỗi càng thấp càng tốt. Các hàng về độ chính xác lấy từ 122 bản ghi công khai (25 giờ, tiếng Anh và tiếng Trung). Tốc độ và bộ nhớ đo khi cả hai mô hình chạy qua Core ML, trong đó Nemotron 3 chạy trên Neural Engine; thời gian trên Mac chỉ tính phần xử lý, còn trên iPhone tính từ lúc bắt đầu nhận diện đến khi có kết quả.
Mức giảm này không đến từ một vài bản ghi riêng lẻ. Biểu đồ dưới đây cho thấy mức thay đổi trên từng bản trong 122 bản ghi, từ giảm nhiều nhất đến tăng nhiều nhất:
Mỗi cột là một bản ghi, cho biết tỷ lệ lỗi thay đổi bao nhiêu điểm phần trăm khi dùng Nemotron 3: cột dưới mức 0 là giảm, cột trên mức 0 là tăng.
Nemotron 3 kém hơn trong ba trường hợp: bản ghi có hơn tám người nói, bản ghi chỉ có một người nói, và ngắt đoạn ngay giữa câu.
Lỗi gán sai người gần như biến mất: 4,5% → 1,0%
Trong ba loại lỗi, gán sai người là lỗi người đọc nhận ra đầu tiên: chữ thì đúng, nhưng tên người nói lại sai. Với Nemotron 3, lỗi này gần như biến mất, và lời nói bị bỏ sót cũng giảm.
Trung bình trên 122 bản ghi, tính bằng phần trăm thời lượng lời nói; hai thanh ở mỗi hàng đều bắt đầu từ 0. Mức giảm của lỗi gán sai người và lỗi bỏ sót lời nói vượt ngoài sai số. Chênh lệch ở lỗi nhận nhầm tạp âm thành lời nói nằm trong sai số, nên thanh đó có màu xám nhạt. Các giá trị đã được làm tròn, nên cộng lại có thể không khớp đúng với tổng.
Đúng số người nói ở 80% bản ghi, tăng từ 52%
Đếm thiếu người nói nghĩa là hai giọng đã bị gộp làm một, nên lượt nói của hai người hiện ra dưới cùng một nhãn. Đây là lỗi thường gặp nhất của pyannote community-1, và Nemotron 3 mắc lỗi này ít hơn nhiều.
Số người nói mỗi mô hình tìm được so với số thực tế, trên 122 bản ghi. pyannote community-1 phần lớn đếm thiếu. Nemotron 3 đếm đúng thường xuyên hơn, và khi sai thì đếm thừa cũng nhiều ngang đếm thiếu.
Tốt hơn với cuộc họp, chương trình phát sóng và bản ghi có từ hai đến tám người nói
Độ khó của các bản ghi chênh nhau rất nhiều: cuộc họp thu âm từ xa là khó nhất, chương trình phát sóng là dễ nhất. Khi chia theo loại bản ghi, ngôn ngữ và số người nói, mọi nhóm có từ mười bản ghi trở lên đều có tỷ lệ lỗi thấp hơn; riêng với nhóm một người nói, chênh lệch nằm trong sai số. Ba bản ghi có từ chín đến mười hai người nói thì kém đi, nhưng số lượng quá ít để kiểm định.
Hai thanh ở mỗi nhóm đều bắt đầu từ 0: xám là pyannote community-1, xanh lá là Nemotron 3, con số ở cuối mỗi thanh là tỷ lệ lỗi trung bình. Xanh lá đánh dấu mức giảm vượt ngoài sai số, xám nhạt là chênh lệch nằm trong sai số, vàng hổ phách là tăng. 6 cuộc gọi công bố kết quả kinh doanh được tính vào tổng nhưng quá ít để tách thành nhóm riêng.
Chỉnh sửa bản chép lời: số lần sửa tay mỗi 10 phút giảm từ 28,9 xuống 18,9
Rốt cuộc, tỷ lệ lỗi quy ra công sửa: số lần gộp, tách và đổi người nói cần làm để màn hình người nói hiển thị đúng. Chúng tôi đếm số lần sửa tối thiểu như vậy trên 4 bản ghi hai người có văn bản tham chiếu từng chữ (2 bản tiếng Hà Lan, 1 bản tiếng Trung, 1 bản tiếng Phần Lan). Một lỗi khác người đọc hay để ý là câu của một người bị chia cho hai người nói. Trên 12 cuộc họp tiếng Anh thu âm từ xa, cả hai mô hình đều hiếm khi mắc lỗi này, và chênh lệch nằm trong sai số.
| pyannote community‑1 | Nemotron 3 | |
|---|---|---|
| Số lần sửa tay mỗi 10 phút, 4 bản ghi hai người | 28,9 | 18,9 |
| Câu bị chia cho hai người nói, 12 cuộc họp tiếng Anh | 0,58% số câu | 0,88% số câu |
Số lần sửa tay chỉ lấy từ 4 bản ghi, quá ít để kiểm định thống kê hay rút ra kết luận chung. Câu bị chia là câu do một người nói nhưng chữ lại bị xếp vào đoạn của hai người nói.
Nemotron 3 nhanh hơn và cần chưa tới một phần bảy bộ nhớ
Khi chạy trên thiết bị, tốc độ và bộ nhớ quan trọng không kém độ chính xác. Bảng dưới đây ghi thời gian xử lý và bộ nhớ khi hai mô hình chạy qua Core ML, trong đó Nemotron 3 chạy trên Neural Engine. Trên mọi thiết bị chúng tôi đã thử, Nemotron 3 đều nhanh hơn và dùng ít bộ nhớ hơn nhiều. Điều này quan trọng nhất với các iPhone đời cũ chỉ có 4 GB RAM.
| pyannote community‑1 | Nemotron 3 | |
|---|---|---|
| Mac (M5) | ||
| 1 giờ âm thanh | khoảng 22 giây | khoảng 8,5 giây |
| Bộ nhớ | 0,88 GB | 0,12 GB |
| iPhone 15 | ||
| Bản ghi 55 phút | 26,6 giây | 11,8 giây |
| Bộ nhớ dùng thêm khi nhận diện | 833 MB | 30 MB |
| iPhone 12 mini | ||
| Bản ghi 55 phút | 30,1 giây | 17,2 giây |
| Bộ nhớ đỉnh của ứng dụng khi nhận diện | 638 MB | 71 MB |
Trung vị của nhiều lần chạy (pyannote community-1 chỉ chạy một lần trên iPhone 15), tất cả trên cùng một cuộc gọi công bố kết quả kinh doanh dài 55 phút có 10 người nói. Cả hai mô hình chạy qua Core ML, Nemotron 3 chạy trên Neural Engine. Thời gian trên Mac chỉ tính phần xử lý, không gồm giải mã âm thanh hay tải mô hình. Thời gian trên iPhone tính từ lúc bắt đầu nhận diện đến khi có kết quả, gồm cả thời gian tải mô hình; với pyannote community-1 còn gồm phần hậu xử lý đi kèm mô hình này. Điện thoại được cắm cáp USB, và mỗi lần chạy đều bắt đầu khi máy đã nguội.
Lần đầu chạy một mô hình trên Neural Engine, Core ML biên dịch mô hình cho riêng thiết bị đó: khoảng 7 giây trên Mac và khoảng một phút trên iPhone 15. Từ lần sau, tải mô hình chỉ mất chưa tới một giây.
Những trường hợp pyannote community-1 vẫn tốt hơn
- Hơn tám người nói. Nemotron 3 gắn nhãn tối đa tám người; trên 3 bản ghi có từ chín đến mười hai người nói, nó kém hơn pyannote community-1 ở 2 bản.
- Chỉ một người nói. Trên 14 bản ghi một người nói, Nemotron 3 tìm ra người nói thừa ở 5 bản; pyannote community-1 chỉ ở 1 bản.
- Ngắt đoạn giữa câu. Trong 12 cuộc họp tiếng Anh, 25,8% số chỗ ngắt đoạn rơi vào giữa câu, so với 14,6% ở pyannote community-1.
Mẹo dùng Nemotron 3 hiệu quả nhất trong Whisper Notes
- Biết trước có mấy người thì hãy đặt số người nói. Trên 108 bản ghi có từ hai người nói trở lên, báo trước số người cho Nemotron 3 đã sửa đúng số người nói ở 15 bản và không làm sai bản nào. Tỷ lệ lỗi không thay đổi rõ rệt (+0,16 điểm, trong phạm vi sai số).
- Chỉ có một người nói thì bỏ qua nhận diện người nói. Nhờ vậy sẽ tránh được “người nói thứ hai” thỉnh thoảng xuất hiện.
- Hơn tám người nói thì coi nhãn là bản nháp đầu tiên. Gộp và đổi tên người nói trong màn hình người nói khi cần.
Đặt số người nói từ menu Not right? trong màn hình người nói trên Mac
Nhận diện người nói hoạt động giống nhau trên iPhone và Mac, hoàn toàn trên thiết bị của bạn. Cách dùng tính năng này trong ứng dụng, xem bài Whisper Notes ra mắt phân tách người nói trên thiết bị.
Cách hoạt động: pyannote cắt rồi phân cụm, Nemotron 3 đánh số người nói theo thứ tự lên tiếng
pyannote community-1 là một quy trình ba bước. Đầu tiên, nó cắt âm thanh thành các cửa sổ 10 giây và tìm ai đang nói trong từng cửa sổ (tối đa 3 người mỗi cửa sổ, tối đa 2 người cùng lúc). Tiếp theo, nó trích xuất dấu vân giọng, tức embedding, cho từng đoạn lời nói. Cuối cùng, thuật toán phân cụm VBx gom các dấu vân giọng giống nhau thành từng người nói. Số hiệu người nói trong một cửa sổ chỉ có giá trị trong cửa sổ đó, nên tổng số người nói chỉ được xác định ở bước cuối.
Nemotron 3 Diarization là một mô hình duy nhất: bộ mã hóa Transformer 31 lớp, chấm điểm tám kênh người nói tại mọi thời điểm. Mỗi kênh được chấm điểm riêng, nên khi nhiều người nói cùng lúc thì nhiều kênh cùng bật. Mô hình đi theo cách tiếp cận Sortformer của NVIDIA và đánh số các kênh theo thời điểm mỗi người lên tiếng lần đầu: người nói đầu tiên luôn ở kênh 1, nên mô hình không bao giờ phải đoán một giọng thuộc vị trí nào. Ở chế độ streaming mô tả trên thẻ mô hình, một bộ nhớ đệm lưu những người đã nói trước đó theo thứ tự xuất hiện, nhờ vậy một đoạn về sau vẫn được khớp với đúng số hiệu cũ.
Mỗi thiết kế có giới hạn riêng. pyannote community-1 không giới hạn cố định số người nói nhưng chỉ tách được tối đa hai người tại cùng một thời điểm. Nemotron 3 gắn nhãn được nhiều người nói cùng lúc nhưng chỉ có tám kênh, nên tìm được tối đa tám người nói.
Sơ đồ đã được đơn giản hóa. pyannote community-1: khoảng 21 MB trong Whisper Notes, CC BY 4.0 (thẻ mô hình); mô hình phân đoạn của Plaquet và Bredin (Interspeech 2023), embedding từ WeSpeaker, phân cụm bằng VBx (Landini và cộng sự, 2022). Nemotron 3 Diarization: 97 MB (bản chuyển đổi Core ML 8-bit của Fluid Inference), khoảng 100 triệu tham số, OpenMDW 1.1 (thẻ mô hình); phương pháp: xem hai bài báo Sortformer và Streaming Sortformer.
Cách chúng tôi kiểm tra
- Bản ghi. 122 bản ghi công khai, 25 giờ, bằng tiếng Anh và tiếng Trung, mỗi bản có từ 1 đến 12 người nói: cuộc họp thu âm từ xa, chương trình phát sóng, cuộc gọi công bố kết quả kinh doanh, và bản ghi một người nói ghép từ nhiều đoạn riêng. Ngoài ra có 5 bản ghi hai người bằng tiếng Anh, Hà Lan, Trung và Phần Lan, trong đó 4 bản có văn bản tham chiếu từng chữ.
- Bộ dữ liệu. AMI, AISHELL-4, AliMeeting, VoxConverse, Earnings-21, LibriSpeech, IFADV và SKN, cùng các bản ghi của chính chúng tôi. Chỉ dùng bộ dữ liệu có giấy phép cho phép công bố kết quả; không dùng bản ghi nào của người dùng.
- Chỉ số. Tỷ lệ lỗi phân tách người nói, chấm theo khung 10 ms, không có vùng đệm (collar), tính cả lời nói chồng lấn, lấy trung bình theo từng bản ghi.
- Thống kê. Khoảng tin cậy 95% từ 10.000 lần lấy mẫu lại bootstrap trên nguyên bản ghi; không tính khoảng tin cậy cho nhóm có ít hơn mười bản ghi.
- Thiết bị. Một máy Mac chip M5, một iPhone 15 và một iPhone 12 mini; độ chính xác được tính trên Mac.
- Đăng ký trước. Kế hoạch thử nghiệm được chốt ngày 2/11/2026, phần chia bản ghi hai người được chốt ngày 4/11, trước khi bất kỳ mô hình nào chạy trên các đoạn đó.
Chi tiết thử nghiệm đầy đủ
Chọn dữ liệu. Các câu hỏi và quy tắc được cố định cho một bộ benchmark lớn hơn trước khi chạy bất cứ thứ gì; chúng tôi chọn tập con này theo giấy phép chứ không theo kết quả, rồi tính lại các con số từ cùng đầu ra với cùng cách chấm. Bản ghi một người nói ghép từ các đoạn của LibriSpeech và AISHELL-4 được tính theo bộ dữ liệu gốc. Chúng tôi chỉ công bố kết quả tổng hợp, không bao giờ công bố âm thanh hay văn bản tham chiếu.
| Bộ dữ liệu | Giấy phép | Bản ghi đã dùng |
|---|---|---|
| AMI Meeting Corpus | CC BY 4.0 | 16 cuộc họp và 16 trích đoạn dài một phút |
| AISHELL-4 | CC BY-SA 4.0 | 5 cuộc họp, 5 trích đoạn, 5 bản ghi một người nói được ghép |
| AliMeeting | CC BY-SA 4.0 | 8 cuộc họp, 8 trích đoạn, 1 bản ghi hai người |
| VoxConverse | CC BY 4.0 (bản quyền video thuộc về chủ sở hữu) | 30 chương trình phát sóng và 18 trích đoạn |
| Earnings-21 | CC BY-SA 4.0 | 6 cuộc gọi công bố kết quả kinh doanh, 1 bản ghi hai người |
| LibriSpeech | CC BY 4.0 | 5 bản ghi một người nói được ghép |
| IFADV | GNU GPL v2 trở lên | 2 bản ghi hai người |
| Mẫu phương ngữ tiếng Phần Lan SKN | CC BY (Viện Ngôn ngữ Phần Lan) | 1 bản ghi hai người |
Giấy phép ghi theo trang chính thức của từng bộ dữ liệu, kiểm tra vào tháng 11 năm 2026.
Khoảng tin cậy. Tỷ lệ lỗi tổng giảm 6,0 điểm (4,5 đến 7,6). Lỗi bỏ sót lời nói giảm 2,3 điểm (1,3 đến 3,4) và lỗi gán sai người giảm 3,4 điểm (2,4 đến 4,6); lỗi nhận nhầm tạp âm thành lời nói giảm 0,30 điểm, nằm trong sai số (−0,02 đến 0,62). Tỷ lệ bản ghi đúng số người nói tăng 27,9 điểm (17,2 đến 38,5). Trong các nhóm, mọi khoảng tin cậy đều không bao gồm 0, trừ nhóm một người nói. Trong 12 cuộc họp tiếng Anh, khoảng tin cậy của câu bị chia có bao gồm 0, còn của việc ngắt đoạn giữa câu thì không.
Cách chấm. Công cụ chấm của chúng tôi khớp với pyannote.metrics, sai lệch không quá 0,003 điểm.
Hơn tám người nói. Kết quả trên những bản ghi này nhạy với những khác biệt nhỏ về chip và cách giải mã âm thanh. Với cuộc gọi công bố kết quả kinh doanh dài 55 phút có 10 người nói, Nemotron 3 dao động từ 30,6% đến 42,8% tùy chip, thiết lập và bộ giải mã âm thanh; pyannote community-1 là 21,6%.
Thiết lập hậu xử lý. Một số thiết lập hậu xử lý được chọn sau khi đăng ký trước, chỉ dựa trên các bản ghi tinh chỉnh riêng; bản ghi kiểm thử chỉ dùng để báo cáo kết quả.
Giới hạn. Độ chính xác chỉ được đo với tiếng Anh và tiếng Trung; số lần sửa tay lấy từ 4 bản ghi. Thời gian trên Mac đo trên một máy Mac M5 đang chạy việc khác và dùng bản beta của macOS; điện thoại được cắm cáp USB nên chưa đo mức tiêu thụ pin.
Dùng thử
Whisper Notes trên iPhone và Mac giờ dùng Nemotron 3 để nhận diện người nói. Nếu có câu hỏi, hãy gửi email cho chúng tôi qua support@whispernotes.app.