Vân giọng nói trình duyệt là gì? Danh sách giọng nói SpeechSynthesis tiết lộ đặc điểm môi trường ra sao?
Kết luận chính: vân giọng nói cho biết thiết bị của bạn cài những giọng tổng hợp nào. Đây là một danh sách cấu hình đi theo hệ điều hành, và đổi proxy hay xóa Cookie đều không làm nó thay đổi. Khi kiểm tra tính nhất quán tín hiệu của môi trường nhiều tài khoản, đây là mục dễ bị bỏ qua sau Canvas và AudioContext.
Đã đổi proxy, đã xóa Cookie mà kết quả kiểm tra môi trường vẫn không khớp? Khi truy vấn tài khoản, câu trả lời thường nằm ở các tham số tầng thiết bị, và giọng nói là một trong những thứ dễ bị bỏ qua nhất. Trang web không cần quyền truy cập micrô, cũng không cần phát bất kỳ âm thanh nào; chỉ một lần gọi API là đủ để lấy về danh sách gắn với cấu hình hệ thống.
Danh sách này do hệ điều hành và gói ngôn ngữ quyết định, gắn liền với thiết bị. Đổi IP thì nó vẫn nguyên. MostMate là trình duyệt anti-detect được thiết kế cho đúng loại vấn đề này: mỗi tài khoản có một môi trường trình duyệt độc lập riêng, và các tham số tầng thiết bị, trong đó có giọng nói, đều nằm trong tầm quản lý.
Vân giọng nói là gì? Khác gì với nhận diện giọng nói qua ghi âm?
Vân giọng nói hình thành từ cấu hình tổng hợp giọng nói, chứ không phải vân tiếng ghi lại bằng micrô.
Trước hết, tách ba khái niệm. Tổng hợp giọng nói là khả năng chuyển văn bản thành âm thanh của trình duyệt, nền tảng đứng sau tính năng đọc trang web thành tiếng. Danh sách giọng nói là tập hợp tùy chọn giọng nói mà tính năng đó dùng được trong môi trường hiện tại. Theo tài liệu MDN, gọi getVoices() sẽ trả về danh sách các đối tượng giọng nói khả dụng trên thiết bị. Còn vân giọng nói chỉ việc trang web lấy các đặc điểm trong danh sách này làm một loại tín hiệu để nhận diện môi trường. Ba khái niệm một tầng cụ thể hơn một tầng.
Đặt cạnh nhận diện vân tiếng sẽ thấy ngay. Vân tiếng cần ghi âm, cần cấp quyền, cần tiếng phát ra thật. Vân giọng nói thì im lặng từ đầu đến cuối và không cần bất kỳ quyền nào. Trang web đọc được thực đơn, chứ không phải giọng nói của bạn. Khác biệt nằm ở đó, và đó cũng là lý do nó dễ bị lãng quên: không có popup, không có cảm giác nào, mà dữ liệu đã rời đi.
SpeechSynthesis trao danh sách giọng nói cho trang web bằng cách nào?
Cửa đọc dữ liệu của trang web là speechSynthesis.getVoices(): chỉ một lần gọi là có trọn danh sách.
Mỗi đối tượng giọng nói có năm trường, giải thích trong bảng dưới đây:
| Trường | Ý nghĩa | Giá trị thường gặp |
|---|---|---|
| name | Tên giọng nói | Microsoft David, Samantha |
| lang | Thẻ ngôn ngữ | en-US, zh-CN |
| localService | Tổng hợp tại máy hay trên mây | true tại máy, false qua mạng |
| default | Có phải giọng mặc định | Tối đa một cho mỗi ngôn ngữ |
| voiceURI | Định danh dịch vụ giọng nói | Có thể chứa mã nội bộ hệ thống |
Tên thường chỉ là một tên người; thông tin tầng dưới nằm ở voiceURI. Lấy Firefox trên macOS làm ví dụ, giá trị có dạng urn:moz-tts:osx: kèm một chuỗi định danh nội bộ của hệ thống. Thông tin đăng ký giọng nói riêng tư của hệ thống cứ thế được trao qua một giao diện công khai.
Còn một chi tiết ảnh hưởng đến kết quả đọc. Trên Chrome, Edge và Firefox, lần gọi đầu tiên thường trả về mảng rỗng; danh sách chỉ đầy đủ sau khi sự kiện voiceschanged bắn ra. Bản thân thời điểm tải cũng là tín hiệu: trình duyệt này bắn ngay, trình duyệt kia chậm một nhịp, lại có loại đã tải xong thì không bắn nữa. Trong đặc tả Web Speech API, giao diện này đến nay vẫn ở trạng thái bản thảo, nên chi tiết hành vi tùy theo từng trình duyệt.
Danh sách giọng nói để lộ bốn nhóm đặc điểm môi trường nào?
Một cái tên giọng nói đơn lẻ không nói lên điều gì; độ phân biệt nằm ở cách cả danh sách kết hợp lại.
Nhóm một: hệ điều hành và dấu vết thiết bị. Giọng nói do dịch vụ giọng nói của hệ thống cung cấp. Trên Windows thường gặp những cái tên như Microsoft David, Zira; trên macOS là Samantha, Daniel. Điện thoại Android mang cả bộ giọng nói của Google. Máy Linux để bàn chưa cài dịch vụ giọng nói thì danh sách thường trống.
Nhóm hai: cấu hình ngôn ngữ và khu vực. Tổ hợp thẻ lang phản ánh máy này từng cài những gói ngôn ngữ nào. Một danh sách có đồng thời tiếng Nhật, tiếng Ả Rập, tiếng Hindi sẽ báo cho trang web biết về nền tảng đa ngôn ngữ mà chính người dùng còn có thể không nhớ.
Nhóm ba: khác biệt giữa các trình duyệt. Chrome chồng thêm giọng nói đám mây của Google lên giọng hệ thống. Trường localService cho biết nguồn là tổng hợp tại máy hay dịch vụ trực tuyến. Cùng một máy, Chrome và Firefox có thể trả về danh sách với thành phần khác nhau.
Nhóm bốn: giá trị mặc định và tổng thể kết hợp. Số lượng, thứ tự, thẻ ngôn ngữ, giọng mặc định ghép lại tạo thành tín hiệu môi trường có độ phân biệt khá cao. Cần nêu giới hạn: đây chỉ là một trong nhiều tín hiệu; trang web phải tổng hợp nhiều loại tín hiệu mới kết luận được. Một danh sách giọng nói không nhận ra một người cụ thể.

Vân giọng nói khác gì với vân AudioContext và Canvas?
Ba loại hay được nhắc cùng nhau nhưng quan sát những đối tượng hoàn toàn khác nhau. Xem bảng đối chiếu:
| Cách phát hiện | Đối tượng quan sát | Đặc điểm quá trình |
|---|---|---|
| Vân giọng nói SpeechSynthesis | Danh sách giọng nói và các trường | Đọc danh sách, hoàn toàn im lặng |
| Vân AudioContext | Kết quả xử lý âm thanh | Chạy tính toán, so sánh đầu ra |
| Vân Canvas | Đặc điểm của hình vẽ | Vẽ hình, so sánh pixel |
| Vân phông chữ | Phông chữ đã cài và cách hiển thị | Dò phông có sẵn hay không |
Liệt kê giọng nói và kết xuất âm thanh đi trên hai lộ trình khác nhau: một bên đọc danh sách tĩnh, một bên tính kết quả động, không thể gộp chung làm một. Bài về vân AudioContext trình bày lộ trình thứ hai. Còn vân phông chữ thuộc cùng nhóm danh sách tĩnh với danh sách giọng nói: đều là số liệu trực tiếp về những gì thiết bị đã cài.
Cách kiểm tra trình duyệt đang để lộ thông tin giọng nói nào?
Chỉ cần DevTools là đủ; năm phút là có ngay danh sách mà trang web nhìn thấy.
- Mở Console trong DevTools, gõ speechSynthesis.getVoices() rồi nhấn Enter để xem kết quả trả về.
- Mở rộng từng đối tượng giọng nói, ghi lại giá trị của name, lang, localService và voiceURI.
- Tải lại trang rồi tra ngay lần nữa, đối chiếu lần đầu có phải mảng rỗng để xác nhận hành vi tải bất đồng bộ.
- Lặp lại các bước trên máy hoặc hệ điều hành khác, quan sát khác biệt đến từ dịch vụ giọng hệ thống hay từ trình duyệt.
- Bật proxy rồi kiểm tra thêm lần nữa. Danh sách thường không đổi, điều đó xác nhận đây là tín hiệu tầng thiết bị.
Khi đọc kết quả cần giữ hai điều. Danh sách rỗng không có nghĩa là không có vân giọng nói; chính sự rỗng cũng là một thông tin. Linux không có dịch vụ giọng nói và một số môi trường tự động hóa thường trả về mảng rỗng. Danh sách dài cũng không khiến bạn dễ bị nhận ra hơn. Phán đoán phải dựa trên tính nhất quán của toàn bộ môi trường, chứ không phải đếm từng tham số riêng lẻ.
MostMate quản lý đặc điểm môi trường giọng nói ra sao?
Danh sách giọng nói thuộc nhóm tham số tầng thiết bị, và trình duyệt anti-detect xử lý bằng cách đưa nó vào cấu hình môi trường, chứ không bỏ mặc.
Trong MostMate, khi tạo hoặc chỉnh sửa môi trường, mở mục "Cài đặt fingerprint" (指纹设置). SpeechVoices là một tham số độc lập, xếp cạnh Canvas, AudioContext, ClientRects và ảnh WebGL. Có hai mức: Real và Noise; Noise tức chế độ nhiễu.
Chọn Noise xong, dòng SpeechVoices trên bảng xem trước fingerprint bên phải sẽ hiện giá trị kèm mã sáu ký tự. Canvas và AudioContext mỗi cái một mã, không dùng chung được. Mã chỉ định danh cấu hình nhiễu; giá trị băm thực tế đang lộ ra cần mở môi trường và truy cập trang kiểm tra để xem.

Tham số giọng nói không chỉnh riêng lẻ. Hệ điều hành, ngôn ngữ, múi giờ của môi trường quyết định danh sách giọng nói nên trông thế nào. Môi trường Windows lại mang cả bộ giọng macOS là mâu thuẫn thấy rõ. Thứ tự gợi ý: chốt hệ điều hành và proxy trước, rồi đối chiếu các tham số tầng thiết bị như giọng nói. Cách này tin cậy hơn thử sai từng mục.
Muốn kiểm soát từng mục, bám theo danh sách cài đặt fingerprint thủ công trên trang chủ. Muốn tiết kiệm thời gian, khi tạo môi trường hãy gói nhóm tham số này vào cấu hình đề xuất, sau đó rà lại từng mục riêng. Cũng cần nói rõ giới hạn: trình duyệt anti-detect quản lý cấu hình môi trường, không đảm bảo trang web không nhận ra môi trường, cũng không đảm bảo tài khoản không vướng bước xác minh của nền tảng. Tài khoản vẫn phải tuân thủ quy định của nền tảng.
Câu hỏi thường gặp
Vân giọng nói có ghi âm giọng của tôi không?
Không. Quá trình này không chạm vào micrô và không phát âm thanh nào.
Vì sao danh sách giọng nói trên hai máy lại khác nhau?
Giọng nói do hệ điều hành, gói ngôn ngữ và dịch vụ giọng nói quyết định. Windows và macOS có bộ giọng tích hợp khác nhau, gói ngôn ngữ từng cài cũng khác, còn giọng đám mây mỗi trình duyệt thêm vào lại một kiểu. Danh sách không khớp là điều hiển nhiên.
Danh sách giọng nói trống, vậy là không có vân giọng nói chứ?
Danh sách rỗng tự thân cũng là một thông tin. Linux không có dịch vụ giọng nói và một số môi trường tự động hóa thường trả về mảng rỗng. Với trang web, đó là dấu hiệu bất thường, chứ không phải tàng hình.
Vân giọng nói và vân AudioContext có phải là một không?
Không phải một loại. Vân giọng nói đọc danh sách cấu hình tĩnh, còn AudioContext tính kết quả xử lý âm thanh động. Lộ trình phát hiện khác nhau, nên khi kiểm tra môi trường phải đối chiếu riêng từng loại.
MostMate có thể chỉnh riêng danh sách giọng nói SpeechSynthesis không?
Trong sản phẩm, phần tương ứng là tham số SpeechVoices trong cài đặt fingerprint, với hai mức Real và Noise; mức độ tinh chỉnh cụ thể theo giao diện client. Sau khi cấu hình, nên mở trang kiểm tra trong môi trường để đối chiếu danh sách thực tế đang lộ ra.
Lời kết
Bản chất của vân giọng nói là trao cho trang web biết thiết bị này đã cài những gì. Nó không ghi âm, không xin quyền, nhưng đi theo hệ điều hành. Đổi IP thì nó vẫn nguyên. Vì vậy nhiều thói quen quen thuộc mới dễ hiểu: chỉ xóa Cookie, chỉ đổi proxy thì môi trường vẫn không khớp; các tham số tầng thiết bị phải được căn chỉnh cùng lúc.
Về phía sản phẩm, MostMate đưa SpeechVoices vào cài đặt fingerprint cùng Canvas và AudioContext, với hai mức Real và Noise. Toàn cảnh các tính năng khác, bạn có thể tự xem qua trang chủ MostMate.
Muốn biết môi trường của bạn đang lộ những gì, làm theo các bước ở mục năm để kiểm tra danh sách giọng nói, hoặc tải MostMate về tạo một môi trường để so sánh.
MOSTMATE
Quản lý nhiều tài khoản an toàn, thật đơn giản
Bắt đầu với tài khoản đầu tiên và dùng MostMate để xây dựng hoạt động đa tài khoản an toàn, thông minh và hiệu quả hơn.
- Hồ sơ độc lập. Danh tính nhất quán.
- Tự động hóa bằng AI · Tình trạng tài khoản · Vận hành nhóm



