Soundex là một thuật toán ngữ âm để liệt kê các từ theo âm sắc, theo cách phát âm của tiếng Anh. Mục đích là mã hóa những từ có cùng cách phát âm qua những đặc trưng giống nhau, từ đó người ta có thể tìm được một từ nào đó dù có sai sót nhỏ trong chính tả từ đó. Thuật toán Soundex là thuật toán được sử dụng rộng rãi nhất trong các thuật toán ngữ âm. Rất nhiều thuật toán ngữ âm hiện có nền tảng từ sự cải tiến của thuật toán Soundex.
Soundex được phát triển bơi Robert Russell và Margaret Odell, được cấp bằng sáng chế vào các năm 1918[1] Lưu trữ 2017-01-18 tại Wayback Machine và 1922 [2][liên kết hỏng]. Một biến thể của Soundex là thuật toán American Soundex được sử dụng trong những năm 1930 để xem xét lại quá trình điều tra dân số Mỹ những năm từ 1890 cho đến 1920. Mã Soundex trở nên phổ biến vào những năm 1960, khi là chủ đề của nhiều bài báo trên tạp chí và các phương tiện truyền thông của ACM, và đặc biệt là sau khi được Donald Knuth miêu tả chi tiết trong cuốn sách nổi tiếng của ông - The Art of Computer Programming.
Mã Soundex trả về một xâu bao gồm có một chữ cái và 3 trong số theo sau: chữ cái là chữ cái đầu tiên của từ đó, và các số mã hóa cho các phụ âm còn lại. Các phụ âm có âm sắc giống nhau được mã bởi các trọng số giống nhau, ví dụ, âm lưỡi B, F, P, và V được mã hóa là 1. Các nguyên âm có thể ảnh hưởng đến việc mã hóa, nhưng không bao giờ được mã hóa trực tiếp trừ khi chúng xuất hiện ngay ở đầu của từ.
Thuật toán chi tiết như sau:
Sử dụng thuật toán này, cả "Robert" và "Rupert" đều trả về chuỗi "R163" trong khi từ "Rubin" sẽ trả về "R150".
Vẫn tuân theo thuật toán cơ bản, nhưng có thêm các yêu cầu sau: