ตามธรรมชาติของการเรียนภาษาขั้นแรกภาษาพูดจะถูกฝึกก่อนภาษาเขียน ผู้ใช้ภาษาโดยทั่วไปจึงเคยชินกับเสียงอ่านของคำมากกว่าตัวสะกดรวมทั้งความจริงที่ว่า เสียงหนึ่งเสียงสามารถแทนคำได้มากกว่าหนึ่งคำ เช่น เสียง "ค่า"สามารถหมายความถึง ข้า ค่า หรือ ฆ่าก็ได้ ชื่อเฉพาะทั้งหลายก็สามารถสะกดได้หลายแบบ เช่น เพชรรัตน์ (อ่านว่า เพ็ด - ชะ - รัด) อาจจะสะกดเป็น เพชรัตน์ เพ็ชรรัตน์ เพ็ชรัตน์ เพชรรัช เพชรรัชต์ เพชรรัฐ เพชรรัตต์ เพชรรัตติ์ เพชรรัศม์ ฯลฯจึงได้มีการคิดวิธีค้นตามเสียงอ่านขึ้น เพื่ออำนวยความสะดวกต่อผู้ใช้ในสถานการณ์ที่ไม่สามารถสะกดคำได้อย่างถูกต้อง เช่น ในฐานข้อมูลสำมะโนประชากร ในสมุดโทรศัพท์ หรือในโปรแกรมตรวจคำผิด เป็นต้น
หลักการก็คือ จะมีโปรแกรมย่อยสำหรับแปลงตัวสะกดให้เป็นเสียงอ่าน โปรแกรมย่อยดังกล่าวจะใช้แปลงคำ หรือชื่อต่างๆ ในฐานข้อมูลให้เป็นเสียงอ่าน เพื่อเก็บไว้เป็นคีย์สำหรับค้นหาต่างหาก ในการใช้งานจริง โปรแกรมจะแปลงคำที่ต้องการค้นให้เป็นเสียงอ่าน แล้วค้นด้วยคีย์ที่ได้เตรียมไว้แล้วนั้น ก็จะได้เรกคอร์ดต่างๆ ที่เชื่อมโยงกับเสียงอ่านที่ต้องการ วิธีการนี้คิดขึ้นเป็นครั้งแรกโดยชาวอเมริกันชื่อว่า Margaret K. Odellและ Robert C. Russell โดยได้จดสิทธิบัตรไว้เมื่อปีพ.ศ. ๒๔๖๑ และ พ.ศ. ๒๔๖๕ วิธีการนี้เรียกว่าซาวน์เด็กซ์ (Soundex มาจาก sound + index)ซึ่งได้ใช้เป็นวิธีมาตรฐานในการค้นชื่อในสำมะโนประชากรของสหรัฐอเมริกา
๒. กฎการเข้ารหัสซาวน์เด็กซ์ของ วิชิตหล่อจีระชุณห์กุล และ เจริญ คุวินทร์พันธุ์
วิชิต หล่อจีระชุณห์กุล และ เจริญ คุวินทร์-พันธุ์ ได้ศึกษาขั้นตอนวิธีของ Odell และ Russellเพื่อสร้างกฎการเข้ารหัสซาวน์เด็กซ์สำหรับภาษาไทยพร้อมทั้งเสนอวิธีวัดความถูกต้องระบบซาวน์เด็กซ์ใดๆ ต่อไปนี้คือ กฎการเข้ารหัสที่ทั้งสองท่านเสนอ
๑. รหัสจะอยู่ในรูป "พยัญชนะ ตัวเลขฐานสิบหก ตัวเลขฐานสิบหก ตัวเลขฐานสิบหกตัวเลขฐานสิบหก" (ความยาวทั้งหมด ๕ ตัว)
๒. จัดระดับภาษาไทยเป็น ๔ ระดับเหมือนพิมพ์ดีด
ระดับที่ ๑ วรรณยุกต์ ทัณฑฆาต
ระดับที่ ๒ สระบน ไม้ไต่คู้ นิคหิต
ระดับที่ ๓ พยัญชนะ สระกลาง ไม้ยมกไปยาลน้อย
ระดับที่ ๔ สระล่าง พินทุ
๓. การลงรหัส จะกระทำโดยพิจารณาอักขระทั้ง ๔ ระดับ ณ ตำแหน่งหนึ่งๆ ของอักขระในระดับที่ ๓
๔. ทิ้งอักขระในระดับที่ ๑ โดยไม่ลงรหัสและถ้าเป็นทัณฑฆาต ให้ทิ้งอักขระระดับอื่นในตำแหน่งเดียวกัน โดยไม่ต้องลงรหัสเช่นกัน
๕. ทิ้ง ็ (ไม้ไต่คู้) ํ (นิคหิต) ฺ (พินทุ) ๆ (ไม้ยมก) ฯ (ไปยาลน้อย) โดยไม่ลงรหัส
๖. ถ้าอักขระตัวแรกในระดับที่ ๓ เป็นพยัญชนะ ให้เข้ารหัสตามตารางที่ ๒.๑ หรือมิฉะนั้น ให้เข้ารหัสตัวที่ ๒ ในระดับที่ ๓ (ซึ่งต้องเป็นพยัญชนะ) ตามตารางที่ ๒.๑ และเข้ารหัสตัวแรกตามตารางที่ ๒.๒
๗. ถือ ะ ั ิ ี เป็นตัวคั่น แต่ไม่ลงรหัส
๘. ถือ า ๅ ึ ื ู เป็นตัวคั่น และลงรหัสด้วย
๙. ถือ ุ เป็นตัวคั่น และลงรหัสเสมอถ้าอยู่ในตำแหน่งที่ ๑ แต่ถ้าอยู่ในตำแหน่งอื่นจะลงรหัสเมื่อไม่ได้อยู่ใต้พยัญชนะ ต และ ธ
๑๐. ทิ้ง ห และ อ โดยไม่ต้องลงรหัสนอกจากเป็นพยัญชนะตัวแรก หรือมี ึ ื ุ ู อยู่ในตำแหน่งเดียวกัน
๑๑. ทิ้ง ร ว ย ฤ ฦ โดยไม่ลงรหัส นอกจากเป็นพยัญชนะตัวแรก หรือมีตัวที่คั่นนำหน้าหรือมี ึ ื ุ ู อยู่ในตำแหน่งเดียวกัน
๑๒. รหัสของอักขระที่เหลือให้เป็นไปตามตารางที่ ๒.๒
๑๓. ถ้าอักขระที่ติดกันได้รหัสเดียวกัน ให้ทิ้งรหัสที่ซ้ำไป นอกจากมีตัวคั่นระหว่างกลาง
๑๔. เติมศูนย์ให้เต็ม หรือตัดตัวเลขที่เกินออก