Skip to content

Fix tone_detector and sound_syllable bugs for Thai syllables (fixes #1055 and #1176) - #1197

Merged
bact merged 4 commits into
devfrom
copilot/fix-thai-word-tone-detector-again
Jan 15, 2026
Merged

Fix tone_detector and sound_syllable bugs for Thai syllables (fixes #1055 and #1176)#1197
bact merged 4 commits into
devfrom
copilot/fix-thai-word-tone-detector-again

Conversation

Copilot AI commented Jan 14, 2026

Copy link
Copy Markdown
Contributor

Fix thai_word_tone_detector bug

  • Analyze the issue and identify the root cause
  • Fix _check_sonorant_syllable to handle empty sonorant lists
  • Update tone_detector logic to properly handle syllables without sonorants
  • Fix sound_syllable to handle syllables with only อ (no other consonants)
  • Add missing tone rule for low consonant + dead + long + open syllables
  • Handle syllables with no consonants (like ฤ)
  • Test the fix with failing examples
  • Run existing tests to ensure no regression
  • Verify all test cases from the issue pass
  • Code review completed
  • Security scan completed
  • Add all failing syllables from issue to test suite
  • Fix ruff linting errors (W293)

Summary

Fixed 4 root causes in pythainlp/util/syllable.py that caused syllables to return "UNKNOWN_tone" and also resolved issue #1055:

  1. IndexError in _check_sonorant_syllable - added empty list check
  2. Logic flow in tone_detector - restructured if-elif to independent if statements
  3. Missing handling for syllables with only อ in sound_syllable
  4. Missing tone rule for low + dead + long + open syllables

Test Coverage

Examples Fixed

Syllable Before After Category
อีก "" "l" Mid + dead
ออก "" "l" Mid + dead
เอา "" "m" Only อ, live
พอ "" "f" Low + dead + long + open
หาก "" "l" High + dead
เอ IndexError "m" Issue #1055
ประ "live" "dead" Issue #1055
Original prompt

This section details on the original issue you should resolve

<issue_title>bug: thai_word_tone_detector</issue_title>
<issue_description>### Description

Traceback (most recent call last):
File "/mnt/c/Users/gpr_y/Documents/_z__py4nux/nlp/thainlp/tone_quant.py", line 32, in
print(thai_word_tone_detector('อีก'))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/geebee/anaconda3/lib/python3.11/site-packages/pythainlp/util/thai.py", line 200, in thai_word_tone_detector
return [(i, tone_detector(i.replace("หฺ", "ห"))) for i in _pronunciate]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/geebee/anaconda3/lib/python3.11/site-packages/pythainlp/util/thai.py", line 200, in
return [(i, tone_detector(i.replace("หฺ", "ห"))) for i in _pronunciate]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/geebee/anaconda3/lib/python3.11/site-packages/pythainlp/util/syllable.py", line 282, in tone_detector
consonant_ending = _check_sonorant_syllable(syllable)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/geebee/anaconda3/lib/python3.11/site-packages/pythainlp/util/syllable.py", line 234, in _check_sonorant_syllable
if _sonorant[-1] == consonants[-2]:
~~~~~~~~~^^^^
IndexError: list index out of range
(base)

Expected results

l, m, h, r, f or empty

note that for other words it works as expected in my code

Current results

see stacktrace in description

Steps to reproduce

thai_word_tone_detector('อีก')

PyThaiNLP version

pythainlp-5.1.2

Python version

Python 3.11.7

Operating system and version

Ubuntu 20.04.6 LTS (on wsl2)

More info

No response

Possible solution

No response

Files

No response</issue_description>

<agent_instructions>Fix bug follow the test:

A list of all fails for functions:
thai_word_tone_detector and
tone_detector on syllables
sound_syllable on syllables
on my sample of 4000 words

53 อีก UNKNOWN_tone
--- อีก 54.1 อีก ['ออ', 'กอ', 'อี', 'อีก'] False mid UNKNOWN_tone dead long close
57 ออก UNKNOWN_tone
--- ออก 58.1 ออก ['ออ', 'ออ', 'กอ', 'ออก'] False mid UNKNOWN_tone dead long close
72 หาก UNKNOWN_tone
--- หาก 73.1 หาก ['หอ', 'กอ', 'อา', 'หาก'] False high UNKNOWN_tone dead long close
86 อาจ UNKNOWN_tone
--- อาจ 87.1 อาจ ['ออ', 'จอ', 'อา', 'อาจ'] False mid UNKNOWN_tone dead long close
--- ใหญ่ 101.1 ใหญ่ ['หอ', 'ญอ', 'ใอ', 'ไม้เอก', 'ใหญ่'] True high UNKNOWN_tone live long close
117 เอา UNKNOWN_tone
--- เอา 118.1 เอา ['ออ', 'เอา', 'เอา'] False mid UNKNOWN_tone UNKNOWN_livedead long open
--- เอง 130.1 เอง ['ออ', 'งอ', 'เอ', 'เอง'] False mid UNKNOWN_tone live long close
135 อะไร UNKNOWN_tone
--- อะไร 136.1 อะ ['ออ', 'อะ', 'อะ'] False mid UNKNOWN_tone UNKNOWN_livedead short open
--- เธอ 187.1 เธอ ['ธอ', 'เออ', 'เธอ'] False low_flat UNKNOWN_tone dead long open
--- ตัวเอง 191.2 เอง ['ออ', 'งอ', 'เอ', 'เอง'] False mid UNKNOWN_tone live long close
199 อาหาร UNKNOWN_tone
--- อาหาร 200.1 อา ['ออ', 'อา', 'อา'] False mid UNKNOWN_tone UNKNOWN_livedead long open
--- พอ 204.1 พอ ['พอ', 'ออ', 'พอ'] False low_flat UNKNOWN_tone dead long open
213 โอกาส UNKNOWN_tone
--- โอกาส 214.1 โอ ['ออ', 'โอ', 'โอ'] False mid UNKNOWN_tone UNKNOWN_livedead long open
302 อายุ UNKNOWN_tone
--- อายุ 303.1 อา ['ออ', 'อา', 'อา'] False mid UNKNOWN_tone UNKNOWN_livedead long open
352 อำเภอ UNKNOWN_tone
--- อำเภอ 353.1 อำ ['ออ', 'อำ', 'อำ'] False mid UNKNOWN_tone UNKNOWN_livedead long open
--- อำเภอ 353.2 เภอ ['ภอ', 'เออ', 'เภอ'] False low_flat UNKNOWN_tone dead long open
353 เหตุ UNKNOWN_tone
--- เหตุ 354.1 เหตุ ['หอ', 'ตอ', 'เอ', 'อุ', 'เหตุ'] False high UNKNOWN_tone dead short close
368 อารมณ์ UNKNOWN_tone
--- อารมณ์ 369.1 อา ['ออ', 'อา', 'อา'] False mid UNKNOWN_tone UNKNOWN_livedead long open
--- ผู้ใหญ่ 370.2 ใหญ่ ['หอ', 'ญอ', 'ใอ', 'ไม้เอก', 'ใหญ่'] True high UNKNOWN_tone live long close
--- ตนเอง 378.2 เอง ['ออ', 'งอ', 'เอ', 'เอง'] False mid UNKNOWN_tone live long close
393 อำนาจ UNKNOWN_tone
--- อำนาจ 394.1 อำ ['ออ', 'อำ', 'อำ'] False mid UNKNOWN_tone UNKNOWN_livedead long open
--- ส่วนใหญ่ 404.2 ใหญ่ ['หอ', 'ญอ', 'ใอ', 'ไม้เอก', 'ใหญ่'] True high UNKNOWN_tone live long close
--- เหตุผล 410.1 เหตุ ['หอ', 'ตอ', 'เอ', 'อุ', 'เหตุ'] False high UNKNOWN_tone dead short close
423 อาศัย UNKNOWN_tone
--- อาศัย 424.1 อา ['ออ', 'อา', 'อา'] False mid UNKNOWN_tone UNKNOWN_livedead long open
436 อากาศ UNKNOWN_tone
--- อากาศ 437.1 อา ['ออ', 'อา', 'อา'] False mid UNKNOWN_tone UNKNOWN_livedead long open
440 เหตุการณ์ UNKNOWN_tone
--- เหตุการณ์ 441.1 เหตุ ['หอ', 'ตอ', 'เอ', 'อุ', 'เหตุ'] False high UNKNOWN_tone dead short close
469 อา UNKNOWN_tone
--- อา 470.1 อา ['ออ', 'อา', 'อา'] False mid UNKNOWN_tone UNKNOWN_livedead long open
--- พอใจ 497.1 พอ ['พอ', 'ออ', 'พอ'] False low_flat UNKNOWN_tone dead long open
--- กันเอง 509.2 เอง ['ออ', 'งอ', 'เอ', 'เอง'] False mid UNKNOWN_tone live long close
520 อาจารย์ UNKNOWN_tone
--- อาจารย์ 521.1 อา ['ออ', 'อา', 'อา'] ...


💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

…w consonants

Co-authored-by: wannaphong <8536487+wannaphong@users.noreply.github.com>
@coveralls

coveralls commented Jan 14, 2026

Copy link
Copy Markdown

Coverage Status

coverage: 53.807% (+0.07%) from 53.735%
when pulling 816408a on copilot/fix-thai-word-tone-detector-again
into 20fc24b on dev.

Copilot AI changed the title [WIP] Fix bug in thai word tone detector Fix tone_detector returning empty for syllables with อ and low consonants Jan 14, 2026
Copilot AI requested a review from wannaphong January 14, 2026 15:11
@wannaphong

Copy link
Copy Markdown
Member

@copilot Add all to test set

A list of all fails for functions:
thai_word_tone_detector and
tone_detector on syllables
sound_syllable on syllables
on my sample of 4000 words

53 อีก UNKNOWN_tone
--- อีก 54.1 อีก ['ออ', 'กอ', 'อี', 'อีก'] False mid UNKNOWN_tone dead long close
57 ออก UNKNOWN_tone
--- ออก 58.1 ออก ['ออ', 'ออ', 'กอ', 'ออก'] False mid UNKNOWN_tone dead long close
72 หาก UNKNOWN_tone
--- หาก 73.1 หาก ['หอ', 'กอ', 'อา', 'หาก'] False high UNKNOWN_tone dead long close
86 อาจ UNKNOWN_tone
--- อาจ 87.1 อาจ ['ออ', 'จอ', 'อา', 'อาจ'] False mid UNKNOWN_tone dead long close
--- ใหญ่ 101.1 ใหญ่ ['หอ', 'ญอ', 'ใอ', 'ไม้เอก', 'ใหญ่'] True high UNKNOWN_tone live long close
117 เอา UNKNOWN_tone
--- เอา 118.1 เอา ['ออ', 'เอา', 'เอา'] False mid UNKNOWN_tone UNKNOWN_livedead long open
--- เอง 130.1 เอง ['ออ', 'งอ', 'เอ', 'เอง'] False mid UNKNOWN_tone live long close
135 อะไร UNKNOWN_tone
--- อะไร 136.1 อะ ['ออ', 'อะ', 'อะ'] False mid UNKNOWN_tone UNKNOWN_livedead short open
--- เธอ 187.1 เธอ ['ธอ', 'เออ', 'เธอ'] False low_flat UNKNOWN_tone dead long open
--- ตัวเอง 191.2 เอง ['ออ', 'งอ', 'เอ', 'เอง'] False mid UNKNOWN_tone live long close
199 อาหาร UNKNOWN_tone
--- อาหาร 200.1 อา ['ออ', 'อา', 'อา'] False mid UNKNOWN_tone UNKNOWN_livedead long open
--- พอ 204.1 พอ ['พอ', 'ออ', 'พอ'] False low_flat UNKNOWN_tone dead long open
213 โอกาส UNKNOWN_tone
--- โอกาส 214.1 โอ ['ออ', 'โอ', 'โอ'] False mid UNKNOWN_tone UNKNOWN_livedead long open
302 อายุ UNKNOWN_tone
--- อายุ 303.1 อา ['ออ', 'อา', 'อา'] False mid UNKNOWN_tone UNKNOWN_livedead long open
352 อำเภอ UNKNOWN_tone
--- อำเภอ 353.1 อำ ['ออ', 'อำ', 'อำ'] False mid UNKNOWN_tone UNKNOWN_livedead long open
--- อำเภอ 353.2 เภอ ['ภอ', 'เออ', 'เภอ'] False low_flat UNKNOWN_tone dead long open
353 เหตุ UNKNOWN_tone
--- เหตุ 354.1 เหตุ ['หอ', 'ตอ', 'เอ', 'อุ', 'เหตุ'] False high UNKNOWN_tone dead short close
368 อารมณ์ UNKNOWN_tone
--- อารมณ์ 369.1 อา ['ออ', 'อา', 'อา'] False mid UNKNOWN_tone UNKNOWN_livedead long open
--- ผู้ใหญ่ 370.2 ใหญ่ ['หอ', 'ญอ', 'ใอ', 'ไม้เอก', 'ใหญ่'] True high UNKNOWN_tone live long close
--- ตนเอง 378.2 เอง ['ออ', 'งอ', 'เอ', 'เอง'] False mid UNKNOWN_tone live long close
393 อำนาจ UNKNOWN_tone
--- อำนาจ 394.1 อำ ['ออ', 'อำ', 'อำ'] False mid UNKNOWN_tone UNKNOWN_livedead long open
--- ส่วนใหญ่ 404.2 ใหญ่ ['หอ', 'ญอ', 'ใอ', 'ไม้เอก', 'ใหญ่'] True high UNKNOWN_tone live long close
--- เหตุผล 410.1 เหตุ ['หอ', 'ตอ', 'เอ', 'อุ', 'เหตุ'] False high UNKNOWN_tone dead short close
423 อาศัย UNKNOWN_tone
--- อาศัย 424.1 อา ['ออ', 'อา', 'อา'] False mid UNKNOWN_tone UNKNOWN_livedead long open
436 อากาศ UNKNOWN_tone
--- อากาศ 437.1 อา ['ออ', 'อา', 'อา'] False mid UNKNOWN_tone UNKNOWN_livedead long open
440 เหตุการณ์ UNKNOWN_tone
--- เหตุการณ์ 441.1 เหตุ ['หอ', 'ตอ', 'เอ', 'อุ', 'เหตุ'] False high UNKNOWN_tone dead short close
469 อา UNKNOWN_tone
--- อา 470.1 อา ['ออ', 'อา', 'อา'] False mid UNKNOWN_tone UNKNOWN_livedead long open
--- พอใจ 497.1 พอ ['พอ', 'ออ', 'พอ'] False low_flat UNKNOWN_tone dead long open
--- กันเอง 509.2 เอง ['ออ', 'งอ', 'เอ', 'เอง'] False mid UNKNOWN_tone live long close
520 อาจารย์ UNKNOWN_tone
--- อาจารย์ 521.1 อา ['ออ', 'อา', 'อา'] False mid UNKNOWN_tone UNKNOWN_livedead long open
550 อาการ UNKNOWN_tone
--- อาการ 551.1 อา ['ออ', 'อา', 'อา'] False mid UNKNOWN_tone UNKNOWN_livedead long open
570 อดีต UNKNOWN_tone
--- อดีต 571.1 อดีต ['ออ', 'ดอ', 'ตอ', 'อี', 'อดีต'] False mid UNKNOWN_tone dead long close
595 อาชีพ UNKNOWN_tone
--- อาชีพ 596.1 อา ['ออ', 'อา', 'อา'] False mid UNKNOWN_tone UNKNOWN_livedead long open
627 อนาคต UNKNOWN_tone
--- อนาคต 628.1 อนา ['ออ', 'นอ', 'อา', 'อนา'] False mid UNKNOWN_tone live long close
634 เอก UNKNOWN_tone
--- เอก 635.1 เอก ['ออ', 'กอ', 'เอ', 'เอก'] False mid UNKNOWN_tone dead long close
647 อธิบาย UNKNOWN_tone
--- อธิบาย 648.1 อธิ ['ออ', 'ธอ', 'อิ', 'อธิ'] False mid UNKNOWN_tone dead short close
697 สาเหตุ UNKNOWN_tone
--- สาเหตุ 698.2 เหตุ ['หอ', 'ตอ', 'เอ', 'อุ', 'เหตุ'] False high UNKNOWN_tone dead short close
730 อัตรา UNKNOWN_tone
--- อัตรา 731.1 อัตรา ['ออ', 'ตอ', 'รอ', 'อั', 'อา', 'อัตรา'] False mid UNKNOWN_tone live short close
744 อุตสาหกรรม UNKNOWN_tone
--- อุตสาหกรรม 745.1 อุต ['ออ', 'ตอ', 'อุ', 'อุต'] False mid UNKNOWN_tone dead short close
--- หรอก 767.1 หรอก ['หอ', 'รอ', 'ออ', 'กอ', 'หรอก'] False high UNKNOWN_tone dead long close
834 อนุญาต UNKNOWN_tone
--- นั่นเอง 865.2 เอง ['ออ', 'งอ', 'เอ', 'เอง'] False mid UNKNOWN_tone live long close
866 เพียงพอ UNKNOWN_tone
--- เพียงพอ 867.2 พอ ['พอ', 'ออ', 'พอ'] False low_flat UNKNOWN_tone dead long open
902 เอกชน UNKNOWN_tone
--- เอกชน 903.1 เอก ['ออ', 'กอ', 'เอ', 'เอก'] False mid UNKNOWN_tone dead long close
--- พฤติกรรม 904.1 พฤ ['พอ', 'พฤ'] False low_flat UNKNOWN_tone dead long open
906 อุปกรณ์ UNKNOWN_tone
--- อุปกรณ์ 907.1 อุป ['ออ', 'ปอ', 'อุ', 'อุป'] False mid UNKNOWN_tone dead short close
916 อาคาร UNKNOWN_tone
--- อาคาร 917.1 อา ['ออ', 'อา', 'อา'] False mid UNKNOWN_tone UNKNOWN_livedead long open
938 อิสระ UNKNOWN_tone
--- อิสระ 939.1 อิ ['ออ', 'อิ', 'อิ'] False mid UNKNOWN_tone UNKNOWN_livedead short open
--- อ้าง 943.1 อ้าง ['ออ', 'งอ', 'อา', 'ไม้โท', 'อ้าง'] True mid UNKNOWN_tone live long close
--- พอสมควร 955.1 พอ ['พอ', 'ออ', 'พอ'] False low_flat UNKNOWN_tone dead long open
979 สะอาด UNKNOWN_tone
--- สะอาด 980.2 อาด ['ออ', 'ดอ', 'อา', 'อาด'] False mid UNKNOWN_tone dead long close
--- โฆษณา 986.1 โฆ ['ฆอ', 'โอ', 'โฆ'] False low_flat UNKNOWN_tone dead long open
987 หัก UNKNOWN_tone
--- หัก 988.1 หัก ['หอ', 'กอ', 'อั', 'หัก'] False high UNKNOWN_tone dead short close
990 อาทิตย์ UNKNOWN_tone
--- อาทิตย์ 991.1 อา ['ออ', 'อา', 'อา'] False mid UNKNOWN_tone UNKNOWN_livedead long open
--- ยิ่งใหญ่ 1011.2 ใหญ่ ['หอ', 'ญอ', 'ใอ', 'ไม้เอก', 'ใหญ่'] True high UNKNOWN_tone live long close
1017 เอกสาร UNKNOWN_tone
--- เอกสาร 1018.1 เอก ['ออ', 'กอ', 'เอ', 'เอก'] False mid UNKNOWN_tone dead long close
--- คอ 1024.1 คอ ['คอ', 'ออ', 'คอ'] False low_flat UNKNOWN_tone dead long open
1030 ตะวันออก UNKNOWN_tone
--- ตะวันออก 1031.3 ออก ['ออ', 'ออ', 'กอ', 'ออก'] False mid UNKNOWN_tone dead long close
1034 อบรม UNKNOWN_tone
--- อบรม 1035.1 อบ ['ออ', 'บอ', 'อบ'] False mid UNKNOWN_tone dead long close
1076 อาวุธ UNKNOWN_tone
--- อาวุธ 1077.1 อา ['ออ', 'อา', 'อา'] False mid UNKNOWN_tone UNKNOWN_livedead long open
1102 ไอ UNKNOWN_tone
--- ไอ 1103.1 ไอ ['ออ', 'ไอ', 'ไอ'] False mid UNKNOWN_tone UNKNOWN_livedead long open
--- เท 1121.1 เท ['ทอ', 'เอ', 'เท'] False low_flat UNKNOWN_tone dead long open
1123 ไอ้ UNKNOWN_tone
--- ไอ้ 1124.1 ไอ้ ['ออ', 'ไอ', 'ไม้โท', 'ไอ้'] True mid UNKNOWN_tone UNKNOWN_livedead long open
--- ฤดู 1157.1 ฤ ['ฤ'] False UNKNOWN UNKNOWN_tone dead long open
--- พอดี 1171.1 พอ ['พอ', 'ออ', 'พอ'] False low_flat UNKNOWN_tone dead long open
--- โค 1200.1 โค ['คอ', 'โอ', 'โค'] False low_flat UNKNOWN_tone dead long open
1201 ออกแบบ UNKNOWN_tone
--- ออกแบบ 1202.1 ออก ['ออ', 'ออ', 'กอ', 'ออก'] False mid UNKNOWN_tone dead long close
1211 มีอายุ UNKNOWN_tone
--- มีอายุ 1212.2 อา ['ออ', 'อา', 'อา'] False mid UNKNOWN_tone UNKNOWN_livedead long open
1230 ทางออก UNKNOWN_tone
--- ทางออก 1231.2 ออก ['ออ', 'ออ', 'กอ', 'ออก'] False mid UNKNOWN_tone dead long close
1245 อิทธิพล UNKNOWN_tone
--- อิทธิพล 1246.1 อิท ['ออ', 'ทอ', 'อิ', 'อิท'] False mid UNKNOWN_tone dead short close
1279 อก UNKNOWN_tone
--- อก 1280.1 อก ['ออ', 'กอ', 'อก'] False mid UNKNOWN_tone dead long close
1307 พระเอก UNKNOWN_tone
--- พระเอก 1308.2 เอก ['ออ', 'กอ', 'เอ', 'เอก'] False mid UNKNOWN_tone dead long close
1323 อนามัย UNKNOWN_tone
--- อนามัย 1324.1 อนา ['ออ', 'นอ', 'อา', 'อนา'] False mid UNKNOWN_tone live long close
1336 อบอุ่น UNKNOWN_tone
--- อบอุ่น 1337.1 อบ ['ออ', 'บอ', 'อบ'] False mid UNKNOWN_tone dead long close
1340 อุปสรรค UNKNOWN_tone
--- อุปสรรค 1341.1 อุป ['ออ', 'ปอ', 'อุ', 'อุป'] False mid UNKNOWN_tone dead short close
--- หญ้า 1367.1 หญ้า ['หอ', 'ญอ', 'อา', 'ไม้โท', 'หญ้า'] True high UNKNOWN_tone live long close
1407 แอบ UNKNOWN_tone
--- แอบ 1408.1 แอบ ['ออ', 'บอ', 'แอ', 'แอบ'] False mid UNKNOWN_tone dead long close
1413 ส่งออก UNKNOWN_tone
--- ส่งออก 1414.2 ออก ['ออ', 'ออ', 'กอ', 'ออก'] False mid UNKNOWN_tone dead long close
1417 อดทน UNKNOWN_tone
--- อดทน 1418.1 อด ['ออ', 'ดอ', 'อด'] False mid UNKNOWN_tone dead long close
1426 ถ้าหาก UNKNOWN_tone
--- ถ้าหาก 1427.2 หาก ['หอ', 'กอ', 'อา', 'หาก'] False high UNKNOWN_tone dead long close
--- อ้อม 1447.1 อ้อม ['ออ', 'ออ', 'มอ', 'ไม้โท', 'อ้อม'] True mid UNKNOWN_tone live long close
--- ประเพณี 1471.2 เพ ['พอ', 'เอ', 'เพ'] False low_flat UNKNOWN_tone dead long open
1491 อู่ UNKNOWN_tone
--- อู่ 1492.1 อู่ ['ออ', 'อู', 'ไม้เอก', 'อู่'] True mid UNKNOWN_tone UNKNOWN_livedead long open
1498 อาวุโส UNKNOWN_tone
--- อาวุโส 1499.1 อา ['ออ', 'อา', 'อา'] False mid UNKNOWN_tone UNKNOWN_livedead long open
1549 แสดงออก UNKNOWN_tone
--- แสดงออก 1550.2 ออก ['ออ', 'ออ', 'กอ', 'ออก'] False mid UNKNOWN_tone dead long close
1550 อนุรักษ์ UNKNOWN_tone
1560 อร่อย UNKNOWN_tone
1580 ห่อ UNKNOWN_tone
--- ห่อ 1581.1 ห่อ ['หอ', 'ออ', 'ไม้เอก', 'ห่อ'] True high UNKNOWN_tone dead long open
1598 อัด UNKNOWN_tone
--- อัด 1599.1 อัด ['ออ', 'ดอ', 'อั', 'อัด'] False mid UNKNOWN_tone dead short close
1602 อพยพ UNKNOWN_tone
--- เพดาน 1626.1 เพ ['พอ', 'เอ', 'เพ'] False low_flat UNKNOWN_tone dead long open
1639 ต่างหาก UNKNOWN_tone
--- ต่างหาก 1640.2 หาก ['หอ', 'กอ', 'อา', 'หาก'] False high UNKNOWN_tone dead long close
1651 อ่อนแอ UNKNOWN_tone
--- อ่อนแอ 1652.2 แอ ['ออ', 'แอ', 'แอ'] False mid UNKNOWN_tone UNKNOWN_livedead long open
--- กาแฟ 1745.2 แฟ ['ฟอ', 'แอ', 'แฟ'] False low_flat UNKNOWN_tone dead long open
1765 อด UNKNOWN_tone
--- อด 1766.1 อด ['ออ', 'ดอ', 'อด'] False mid UNKNOWN_tone dead long close
--- หลอก 1791.1 หลอก ['หอ', 'ลอ', 'ออ', 'กอ', 'หลอก'] False high UNKNOWN_tone dead long close
1791 เอื้อ UNKNOWN_tone
--- เอื้อ 1792.1 เอื้อ ['ออ', 'เอือ', 'ไม้โท', 'เอื้อ'] True mid UNKNOWN_tone UNKNOWN_livedead long open
--- โอน 1795.1 โอน ['ออ', 'นอ', 'โอ', 'โอน'] False mid UNKNOWN_tone live long close
--- มณี 1828.1 ม ['มอ', 'ม'] False low_sonorant UNKNOWN_tone dead long open
1836 ลาออก UNKNOWN_tone
--- ลาออก 1837.2 ออก ['ออ', 'ออ', 'กอ', 'ออก'] False mid UNKNOWN_tone dead long close
1841 นางเอก UNKNOWN_tone
--- นางเอก 1842.2 เอก ['ออ', 'กอ', 'เอ', 'เอก'] False mid UNKNOWN_tone dead long close
--- บังเอิญ 1849.2 เอิญ ['ออ', 'ญอ', 'เอ', 'อิ', 'เอิญ'] False mid UNKNOWN_tone dead short close
1861 อำนวย UNKNOWN_tone
--- อำนวย 1862.1 อำ ['ออ', 'อำ', 'อำ'] False mid UNKNOWN_tone UNKNOWN_livedead long open
1875 เอาใจใส่ UNKNOWN_tone
--- เอาใจใส่ 1876.1 เอา ['ออ', 'เอา', 'เอา'] False mid UNKNOWN_tone UNKNOWN_livedead long open
--- ประพฤติ 1877.2 พฤ ['พอ', 'พฤ'] False low_flat UNKNOWN_tone dead long open
1896 เอกลักษณ์ UNKNOWN_tone
--- เอกลักษณ์ 1897.1 เอก ['ออ', 'กอ', 'เอ', 'เอก'] False mid UNKNOWN_tone dead long close
1907 เก้าอี้ UNKNOWN_tone
--- เก้าอี้ 1908.2 อี้ ['ออ', 'อี', 'ไม้โท', 'อี้'] True mid UNKNOWN_tone UNKNOWN_livedead long open
1917 อัตโนมัติ UNKNOWN_tone
--- อัตโนมัติ 1918.1 อัต ['ออ', 'ตอ', 'อั', 'อัต'] False mid UNKNOWN_tone dead short close
--- เอียง 1927.1 เอียง ['ออ', 'งอ', 'เอีย', 'เอียง'] False mid UNKNOWN_tone live long close
1950 มหัศจรรย์ UNKNOWN_tone
--- ออม 1960.1 ออม ['ออ', 'ออ', 'มอ', 'ออม'] False mid UNKNOWN_tone live long close
--- ทอ 1962.1 ทอ ['ทอ', 'ออ', 'ทอ'] False low_flat UNKNOWN_tone dead long open
1975 เอาเปรียบ UNKNOWN_tone
--- เอาเปรียบ 1976.1 เอา ['ออ', 'เอา', 'เอา'] False mid UNKNOWN_tone UNKNOWN_livedead long open
1996 อุบัติเหตุ UNKNOWN_tone
--- อุบัติเหตุ 1997.1 อุ ['ออ', 'อุ', 'อุ'] False mid UNKNOWN_tone UNKNOWN_livedead short open
--- อุบัติเหตุ 1997.3 เหตุ ['หอ', 'ตอ', 'เอ', 'อุ', 'เหตุ'] False high UNKNOWN_tone dead short close
--- ใหญ่โต 2002.1 ใหญ่ ['หอ', 'ญอ', 'ใอ', 'ไม้เอก', 'ใหญ่'] True high UNKNOWN_tone live long close
2010 อักษร UNKNOWN_tone
--- อักษร 2011.1 อัก ['ออ', 'กอ', 'อั', 'อัก'] False mid UNKNOWN_tone dead short close
--- อาย 2015.1 อาย ['ออ', 'ยอ', 'อา', 'อาย'] False mid UNKNOWN_tone live long close
2053 อภิปราย UNKNOWN_tone
--- อภิปราย 2054.1 อภิ ['ออ', 'ภอ', 'อิ', 'อภิ'] False mid UNKNOWN_tone dead short close
2071 เอาชนะ UNKNOWN_tone
--- เอาชนะ 2072.1 เอา ['ออ', 'เอา', 'เอา'] False mid UNKNOWN_tone UNKNOWN_livedead long open
--- นี่เอง 2082.2 เอง ['ออ', 'งอ', 'เอ', 'เอง'] False mid UNKNOWN_tone live long close
--- อ้วน 2117.1 อ้วน ['ออ', 'วอ', 'นอ', 'ไม้โท', 'อ้วน'] True mid UNKNOWN_tone live long close
2142 ออ UNKNOWN_tone
--- ออ 2143.1 ออ ['ออ', 'ออ', 'ออ'] False mid UNKNOWN_tone UNKNOWN_livedead long open
2149 อนุมัติ UNKNOWN_tone
2159 อนุบาล UNKNOWN_tone
2161 อวัยวะ UNKNOWN_tone
--- อวัยวะ 2162.1 อวัย ['ออ', 'วอ', 'ยอ', 'อั', 'อวัย'] False mid UNKNOWN_tone live short close
2169 อาบน้ำ UNKNOWN_tone
--- อาบน้ำ 2170.1 อาบ ['ออ', 'บอ', 'อา', 'อาบ'] False mid UNKNOWN_tone dead long close
2187 ออกเสียง UNKNOWN_tone
--- ออกเสียง 2188.1 ออก ['ออ', 'ออ', 'กอ', 'ออก'] False mid UNKNOWN_tone dead long close
2214 หอ UNKNOWN_tone
--- หอ 2215.1 หอ ['หอ', 'ออ', 'หอ'] False high UNKNOWN_tone dead long open
--- อุณหภูมิ 2241.1 อุณห ['ออ', 'ณอ', 'หอ', 'อุ', 'อุณห'] False mid UNKNOWN_tone dead short close
2253 ผู้อำนวยการ UNKNOWN_tone
--- ผู้อำนวยการ 2254.2 อำ ['ออ', 'อำ', 'อำ'] False mid UNKNOWN_tone UNKNOWN_livedead long open
--- ขาดแคลน 2263.3 น ['นอ', 'น'] False low_sonorant UNKNOWN_tone dead long open
2267 อาญา UNKNOWN_tone
--- อาญา 2268.1 อา ['ออ', 'อา', 'อา'] False mid UNKNOWN_tone UNKNOWN_livedead long open
2283 มหาดไทย UNKNOWN_tone
2303 ราชอาณาจักร UNKNOWN_tone
--- ราชอาณาจักร 2304.2 อา ['ออ', 'อา', 'อา'] False mid UNKNOWN_tone UNKNOWN_livedead long open
--- กว้างใหญ่ 2324.2 ใหญ่ ['หอ', 'ญอ', 'ใอ', 'ไม้เอก', 'ใหญ่'] True high UNKNOWN_tone live long close
2332 อธิบดี UNKNOWN_tone
--- อธิบดี 2333.1 อธิ ['ออ', 'ธอ', 'อิ', 'อธิ'] False mid UNKNOWN_tone dead short close
2353 ฝึกอบรม UNKNOWN_tone
--- ฝึกอบรม 2354.2 อบ ['ออ', 'บอ', 'อบ'] False mid UNKNOWN_tone dead long close
2354 เอาใจ UNKNOWN_tone
--- เอาใจ 2355.1 เอา ['ออ', 'เอา', 'เอา'] False mid UNKNOWN_tone UNKNOWN_livedead long open
--- พอเพียง 2379.1 พอ ['พอ', 'ออ', 'พอ'] False low_flat UNKNOWN_tone dead long open
--- องศา 2385.1 อง ['ออ', 'งอ', 'อง'] False mid UNKNOWN_tone live long close
2391 อุดม UNKNOWN_tone
--- อุดม 2392.1 อุ ['ออ', 'อุ', 'อุ'] False mid UNKNOWN_tone UNKNOWN_livedead short open
2416 อุทิศ UNKNOWN_tone
--- อุทิศ 2417.1 อุ ['ออ', 'อุ', 'อุ'] False mid UNKNOWN_tone UNKNOWN_livedead short open
--- พฤศจิกายน 2426.4 น ['นอ', 'น'] False low_sonorant UNKNOWN_tone dead long open
2458 หัด UNKNOWN_tone
--- หัด 2459.1 หัด ['หอ', 'ดอ', 'อั', 'หัด'] False high UNKNOWN_tone dead short close
2461 อิจฉา UNKNOWN_tone
--- อิจฉา 2462.1 อิจ ['ออ', 'จอ', 'อิ', 'อิจ'] False mid UNKNOWN_tone dead short close
--- แฟชั่น 2468.1 แฟ ['ฟอ', 'แอ', 'แฟ'] False low_flat UNKNOWN_tone dead long open
--- อ้อย 2470.1 อ้อย ['ออ', 'ออ', 'ยอ', 'ไม้โท', 'อ้อย'] True mid UNKNOWN_tone live long close
2472 หาด UNKNOWN_tone
--- หาด 2473.1 หาด ['หอ', 'ดอ', 'อา', 'หาด'] False high UNKNOWN_tone dead long close
2480 ตัวอักษร UNKNOWN_tone
--- ตัวอักษร 2481.2 อัก ['ออ', 'กอ', 'อั', 'อัก'] False mid UNKNOWN_tone dead short close
2493 คำอธิบาย UNKNOWN_tone
--- คำอธิบาย 2494.2 อธิ ['ออ', 'ธอ', 'อิ', 'อธิ'] False mid UNKNOWN_tone dead short close
2498 สูงอายุ UNKNOWN_tone
--- สูงอายุ 2499.2 อา ['ออ', 'อา', 'อา'] False mid UNKNOWN_tone UNKNOWN_livedead long open
2499 สาหัส UNKNOWN_tone
--- สาหัส 2500.2 หัส ['หอ', 'สอ', 'อั', 'หัส'] False high UNKNOWN_tone dead short close
2530 อึดอัด UNKNOWN_tone
--- อึดอัด 2531.1 อึด ['ออ', 'ดอ', 'อึ', 'อึด'] False mid UNKNOWN_tone dead short close
--- อึดอัด 2531.2 อัด ['ออ', 'ดอ', 'อั', 'อัด'] False mid UNKNOWN_tone dead short close
2531 อุปถัมภ์ UNKNOWN_tone
--- อุปถัมภ์ 2532.1 อุป ['ออ', 'ปอ', 'อุ', 'อุป'] False mid UNKNOWN_tone dead short close
--- สารเคมี 2543.2 เค ['คอ', 'เอ', 'เค'] False low_flat UNKNOWN_tone dead long open
2545 ยี่ห้อ UNKNOWN_tone
--- ยี่ห้อ 2546.2 ห้อ ['หอ', 'ออ', 'ไม้โท', 'ห้อ'] True high UNKNOWN_tone dead long open
2587 อาณาจักร UNKNOWN_tone
--- อาณาจักร 2588.1 อา ['ออ', 'อา', 'อา'] False mid UNKNOWN_tone UNKNOWN_livedead long open
2596 เอ็ด UNKNOWN_tone
--- เอ็ด 2597.1 เอ็ด ['ออ', 'ดอ', 'เอ', 'อ็', 'เอ็ด'] False mid UNKNOWN_tone dead long close
2609 ด้วยเหตุนี้ UNKNOWN_tone
--- ด้วยเหตุนี้ 2610.2 เหตุ ['หอ', 'ตอ', 'เอ', 'อุ', 'เหตุ'] False high UNKNOWN_tone dead short close
2642 โกหก UNKNOWN_tone
--- โกหก 2643.2 หก ['หอ', 'กอ', 'หก'] False high UNKNOWN_tone dead long close
--- ทุ่มเท 2653.2 เท ['ทอ', 'เอ', 'เท'] False low_flat UNKNOWN_tone dead long open
--- กล้าหาญ 2664.2 หาญ ['หอ', 'ญอ', 'อา', 'หาญ'] False high UNKNOWN_tone live long close
2667 เอาแต่ UNKNOWN_tone
--- เอาแต่ 2668.1 เอา ['ออ', 'เอา', 'เอา'] False mid UNKNOWN_tone UNKNOWN_livedead long open
2688 อุดหนุน UNKNOWN_tone
--- อุดหนุน 2689.1 อุด ['ออ', 'ดอ', 'อุ', 'อุด'] False mid UNKNOWN_tone dead short close
2693 อุดมการณ์ UNKNOWN_tone
--- อุดมการณ์ 2694.1 อุ ['ออ', 'อุ', 'อุ'] False mid UNKNOWN_tone UNKNOWN_livedead short open
--- เอ็น 2738.1 เอ็น ['ออ', 'นอ', 'เอ', 'อ็', 'เอ็น'] False mid UNKNOWN_tone live long close
2753 อาชญากรรม UNKNOWN_tone
--- อาชญากรรม 2754.1 อาช ['ออ', 'ชอ', 'อา', 'อาช'] False mid UNKNOWN_tone dead long close
--- ว่ายน้ำ 2787.2 ย ['ยอ', 'ย'] False low_sonorant UNKNOWN_tone dead long open
2789 อาสา UNKNOWN_tone
--- อาสา 2790.1 อา ['ออ', 'อา', 'อา'] False mid UNKNOWN_tone UNKNOWN_livedead long open
2794 อรุณ UNKNOWN_tone
--- อรุณ 2795.1 อรุณ ['ออ', 'รอ', 'ณอ', 'อุ', 'อรุณ'] False mid UNKNOWN_tone live short close
2811 ให้อภัย UNKNOWN_tone
--- ให้อภัย 2812.2 อภัย ['ออ', 'ภอ', 'ยอ', 'อั', 'อภัย'] False mid UNKNOWN_tone live short close
2818 อบ UNKNOWN_tone
--- อบ 2819.1 อบ ['ออ', 'บอ', 'อบ'] False mid UNKNOWN_tone dead long close
2832 อุดมศึกษา UNKNOWN_tone
--- อุดมศึกษา 2833.1 อุ ['ออ', 'อุ', 'อุ'] False mid UNKNOWN_tone UNKNOWN_livedead short open
--- คอลัมน์ 2839.1 คอ ['คอ', 'ออ', 'คอ'] False low_flat UNKNOWN_tone dead long open
2857 ออกกำลังกาย UNKNOWN_tone
--- ออกกำลังกาย 2858.1 ออก ['ออ', 'ออ', 'กอ', 'ออก'] False mid UNKNOWN_tone dead long close
2861 อำ UNKNOWN_tone
--- อำ 2862.1 อำ ['ออ', 'อำ', 'อำ'] False mid UNKNOWN_tone UNKNOWN_livedead long open
2906 อุดมสมบูรณ์ UNKNOWN_tone
--- อุดมสมบูรณ์ 2907.1 อุ ['ออ', 'อุ', 'อุ'] False mid UNKNOWN_tone UNKNOWN_livedead short open
--- อม 2951.1 อม ['ออ', 'มอ', 'อม'] False mid UNKNOWN_tone live long close
--- ปริญญาโท 2958.3 โท ['ทอ', 'โอ', 'โท'] False low_flat UNKNOWN_tone dead long open
2986 เอดส์ UNKNOWN_tone
--- เอดส์ 2987.1 เอดส์ ['ออ', 'ดอ', 'สอ', 'เอ', 'เอดส์'] False mid UNKNOWN_tone dead long close
2989 ดวงอาทิตย์ UNKNOWN_tone
--- ดวงอาทิตย์ 2990.2 อา ['ออ', 'อา', 'อา'] False mid UNKNOWN_tone UNKNOWN_livedead long open
2995 พนักงานเจ้าหน้าที่ UNKNOWN_tone
3036 อนุกรรมการ UNKNOWN_tone
--- อ้าย 3053.1 อ้าย ['ออ', 'ยอ', 'อา', 'ไม้โท', 'อ้าย'] True mid UNKNOWN_tone live long close
3053 อัยการ UNKNOWN_tone
3073 แอร์ UNKNOWN_tone
--- แอร์ 3074.1 แอร์ ['ออ', 'รอ', 'แอ', 'แอร์'] False mid UNKNOWN_tone live long close
3083 รหัส UNKNOWN_tone
--- รหัส 3084.1 ร ['รอ', 'ร'] False low_sonorant UNKNOWN_tone dead long open
--- รหัส 3084.2 หัส ['หอ', 'สอ', 'อั', 'หัส'] False high UNKNOWN_tone dead short close
3088 เอ่อ UNKNOWN_tone
--- เอ่อ 3089.1 เอ่อ ['ออ', 'ออ', 'เอ', 'ไม้เอก', 'เอ่อ'] True mid UNKNOWN_tone UNKNOWN_livedead long open
3089 ทรัพยากรธรรมชาติ UNKNOWN_tone
--- อ้างอิง 3098.1 อ้าง ['ออ', 'งอ', 'อา', 'ไม้โท', 'อ้าง'] True mid UNKNOWN_tone live long close
3125 ต้นเหตุ UNKNOWN_tone
--- ต้นเหตุ 3126.2 เหตุ ['หอ', 'ตอ', 'เอ', 'อุ', 'เหตุ'] False high UNKNOWN_tone dead short close
3127 อาสาสมัคร UNKNOWN_tone
--- อาสาสมัคร 3128.1 อา ['ออ', 'อา', 'อา'] False mid UNKNOWN_tone UNKNOWN_livedead long open
3168 อารยธรรม UNKNOWN_tone
--- อารยธรรม 3169.1 อารย ['ออ', 'รอ', 'ยอ', 'อา', 'อารย'] False mid UNKNOWN_tone live long close
3171 อากร UNKNOWN_tone
--- อากร 3172.1 อา ['ออ', 'อา', 'อา'] False mid UNKNOWN_tone UNKNOWN_livedead long open
3188 อิฐ UNKNOWN_tone
--- อิฐ 3189.1 อิฐ ['ออ', 'ฐอ', 'อิ', 'อิฐ'] False mid UNKNOWN_tone dead short close
3193 หอบ UNKNOWN_tone
--- หอบ 3194.1 หอบ ['หอ', 'ออ', 'บอ', 'หอบ'] False high UNKNOWN_tone dead long close
3197 พลเอก UNKNOWN_tone
--- พลเอก 3198.2 เอก ['ออ', 'กอ', 'เอ', 'เอก'] False mid UNKNOWN_tone dead long close
3211 โลหิต UNKNOWN_tone
--- โลหิต 3212.2 หิต ['หอ', 'ตอ', 'อิ', 'หิต'] False high UNKNOWN_tone dead short close
--- เอว 3219.1 เอว ['ออ', 'วอ', 'เอ', 'เอว'] False mid UNKNOWN_tone live long close
--- เอ็ง 3245.1 เอ็ง ['ออ', 'งอ', 'เอ', 'อ็', 'เอ็ง'] False mid UNKNOWN_tone live long close
3253 อิสรภาพ UNKNOWN_tone
--- อิสรภาพ 3254.1 อิสร ['ออ', 'สอ', 'รอ', 'อิ', 'อิสร'] False mid UNKNOWN_tone live short close
--- เคมี 3264.1 เค ['คอ', 'เอ', 'เค'] False low_flat UNKNOWN_tone dead long open
--- ฤดูกาล 3268.1 ฤ ['ฤ'] False UNKNOWN UNKNOWN_tone dead long open
3274 หน้าอก UNKNOWN_tone
--- หน้าอก 3275.2 อก ['ออ', 'กอ', 'อก'] False mid UNKNOWN_tone dead long close
3295 ไอน้ำ UNKNOWN_tone
--- ไอน้ำ 3296.1 ไอ ['ออ', 'ไอ', 'ไอ'] False mid UNKNOWN_tone UNKNOWN_livedead long open
--- หมอก 3298.1 หมอก ['หอ', 'มอ', 'ออ', 'กอ', 'หมอก'] False high UNKNOWN_tone dead long close
3304 อายุความ UNKNOWN_tone
--- อายุความ 3305.1 อา ['ออ', 'อา', 'อา'] False mid UNKNOWN_tone UNKNOWN_livedead long open
3332 นายอำเภอ UNKNOWN_tone
--- นายอำเภอ 3333.2 อำ ['ออ', 'อำ', 'อำ'] False mid UNKNOWN_tone UNKNOWN_livedead long open
--- นายอำเภอ 3333.3 เภอ ['ภอ', 'เออ', 'เภอ'] False low_flat UNKNOWN_tone dead long open
--- พึงพอใจ 3337.2 พอ ['พอ', 'ออ', 'พอ'] False low_flat UNKNOWN_tone dead long open
--- เอย 3340.1 เอย ['ออ', 'เอย', 'เอย'] False mid UNKNOWN_tone live long close
3358 อิเล็กทรอนิกส์ UNKNOWN_tone
--- อิเล็กทรอนิกส์ 3359.1 อิ ['ออ', 'อิ', 'อิ'] False mid UNKNOWN_tone UNKNOWN_livedead short open
--- อวยพร 3361.1 อวย ['ออ', 'วอ', 'ยอ', 'อวย'] False mid UNKNOWN_tone live long close
3380 ภาคตะวันออก UNKNOWN_tone
--- ภาคตะวันออก 3381.4 ออก ['ออ', 'ออ', 'กอ', 'ออก'] False mid UNKNOWN_tone dead long close
3384 อนึ่ง UNKNOWN_tone
--- ผู้ใหญ่บ้าน 3407.2 ใหญ่ ['หอ', 'ญอ', 'ใอ', 'ไม้เอก', 'ใหญ่'] True high UNKNOWN_tone live long close
3407 เอาเรื่อง UNKNOWN_tone
--- เอาเรื่อง 3408.1 เอา ['ออ', 'เอา', 'เอา'] False mid UNKNOWN_tone UNKNOWN_livedead long open
3408 หมายเหตุ UNKNOWN_tone
--- หมายเหตุ 3409.2 เหตุ ['หอ', 'ตอ', 'เอ', 'อุ', 'เหตุ'] False high UNKNOWN_tone dead short close
3410 อักเสบ UNKNOWN_tone
--- อักเสบ 3411.1 อัก ['ออ', 'กอ', 'อั', 'อัก'] False mid UNKNOWN_tone dead short close
--- เครื่องสำอาง 3422.3 อาง ['ออ', 'งอ', 'อา', 'อาง'] False mid UNKNOWN_tone live long close
3426 หด UNKNOWN_tone
--- หด 3427.1 หด ['หอ', 'ดอ', 'หด'] False high UNKNOWN_tone dead long close
3431 อาณาเขต UNKNOWN_tone
--- อาณาเขต 3432.1 อา ['ออ', 'อา', 'อา'] False mid UNKNOWN_tone UNKNOWN_livedead long open
3441 อสังหาริมทรัพย์ UNKNOWN_tone
--- หลอด 3443.1 หลอด ['หอ', 'ลอ', 'ออ', 'ดอ', 'หลอด'] False high UNKNOWN_tone dead long close
3449 อุทธรณ์ UNKNOWN_tone
--- อุทธรณ์ 3450.1 อุท ['ออ', 'ทอ', 'อุ', 'อุท'] False mid UNKNOWN_tone dead short close
3472 อวกาศ UNKNOWN_tone
--- อวกาศ 3473.1 อว ['ออ', 'วอ', 'อว'] False mid UNKNOWN_tone live long close
3477 อ้า UNKNOWN_tone
--- อ้า 3478.1 อ้า ['ออ', 'อา', 'ไม้โท', 'อ้า'] True mid UNKNOWN_tone UNKNOWN_livedead long open
--- โพ 3508.1 โพ ['พอ', 'โอ', 'โพ'] False low_flat UNKNOWN_tone dead long open
3516 อภัย UNKNOWN_tone
--- อภัย 3517.1 อภัย ['ออ', 'ภอ', 'ยอ', 'อั', 'อภัย'] False mid UNKNOWN_tone live short close
3523 ทำเอา UNKNOWN_tone
--- ทำเอา 3524.2 เอา ['ออ', 'เอา', 'เอา'] False mid UNKNOWN_tone UNKNOWN_livedead long open
3527 อาบ UNKNOWN_tone
--- อาบ 3528.1 อาบ ['ออ', 'บอ', 'อา', 'อาบ'] False mid UNKNOWN_tone dead long close
3535 อุดมคติ UNKNOWN_tone
--- อุดมคติ 3536.1 อุ ['ออ', 'อุ', 'อุ'] False mid UNKNOWN_tone UNKNOWN_livedead short open
--- เอื้อม 3550.1 เอื้อม ['ออ', 'เอือ', 'ไม้โท', 'เอื้อม'] True mid UNKNOWN_tone live long close
3551 อุตส่าห์ UNKNOWN_tone
--- อุตส่าห์ 3552.1 อุต ['ออ', 'ตอ', 'อุ', 'อุต'] False mid UNKNOWN_tone dead short close
3559 อาณานิคม UNKNOWN_tone
--- อาณานิคม 3560.1 อา ['ออ', 'อา', 'อา'] False mid UNKNOWN_tone UNKNOWN_livedead long open
3571 อุด UNKNOWN_tone
--- อุด 3572.1 อุด ['ออ', 'ดอ', 'อุ', 'อุด'] False mid UNKNOWN_tone dead short close
3576 ที่อยู่อาศัย UNKNOWN_tone
--- ที่อยู่อาศัย 3577.3 อา ['ออ', 'อา', 'อา'] False mid UNKNOWN_tone UNKNOWN_livedead long open
3591 ชายหาด UNKNOWN_tone
--- ชายหาด 3592.2 หาด ['หอ', 'ดอ', 'อา', 'หาด'] False high UNKNOWN_tone dead long close
--- หลอดเลือด 3611.1 หลอด ['หอ', 'ลอ', 'ออ', 'ดอ', 'หลอด'] False high UNKNOWN_tone dead long close
--- เอ็นดู 3631.1 เอ็น ['ออ', 'นอ', 'เอ', 'อ็', 'เอ็น'] False mid UNKNOWN_tone live long close
3636 เอกราช UNKNOWN_tone
--- เอกราช 3637.1 เอก ['ออ', 'กอ', 'เอ', 'เอก'] False mid UNKNOWN_tone dead long close
--- เสมอภาค 3642.2 อภาค ['ออ', 'ภอ', 'คอ', 'อา', 'อภาค'] False mid UNKNOWN_tone dead long close
3688 อคติ UNKNOWN_tone
--- อคติ 3689.1 อคติ ['ออ', 'คอ', 'ตอ', 'อิ', 'อคติ'] False mid UNKNOWN_tone dead short close
--- ซอ 3768.1 ซอ ['ซอ', 'ออ', 'ซอ'] False low_flat UNKNOWN_tone dead long open
3777 มหาอำนาจ UNKNOWN_tone
--- มหาอำนาจ 3778.2 อำ ['ออ', 'อำ', 'อำ'] False mid UNKNOWN_tone UNKNOWN_livedead long open
3807 ออกซิเจน UNKNOWN_tone
--- ออกซิเจน 3808.1 ออก ['ออ', 'ออ', 'กอ', 'ออก'] False mid UNKNOWN_tone dead long close
3814 แออัด UNKNOWN_tone
--- แออัด 3815.1 แอ ['ออ', 'แอ', 'แอ'] False mid UNKNOWN_tone UNKNOWN_livedead long open
--- แออัด 3815.2 อัด ['ออ', 'ดอ', 'อั', 'อัด'] False mid UNKNOWN_tone dead short close
3816 ราชกิจจานุเบกษา UNKNOWN_tone
3833 ฝึกหัด UNKNOWN_tone
--- ฝึกหัด 3834.2 หัด ['หอ', 'ดอ', 'อั', 'หัด'] False high UNKNOWN_tone dead short close
--- เหลือบ 3835.1 เหลือบ ['หอ', 'ลอ', 'ออ', 'บอ', 'เอ', 'อื', 'เหลือบ'] False high UNKNOWN_tone dead long close
3841 ผู้ส่งออก UNKNOWN_tone
--- ผู้ส่งออก 3842.3 ออก ['ออ', 'ออ', 'กอ', 'ออก'] False mid UNKNOWN_tone dead long close
--- แอลกอฮอล์ 3856.1 แอล ['ออ', 'ลอ', 'แอ', 'แอล'] False mid UNKNOWN_tone live long close
3867 โอบ UNKNOWN_tone
--- โอบ 3868.1 โอบ ['ออ', 'บอ', 'โอ', 'โอบ'] False mid UNKNOWN_tone dead long close
--- ลำคอ 3872.2 คอ ['คอ', 'ออ', 'คอ'] False low_flat UNKNOWN_tone dead long open
3878 เอกภาพ UNKNOWN_tone
--- เอกภาพ 3879.1 เอก ['ออ', 'กอ', 'เอ', 'เอก'] False mid UNKNOWN_tone dead long close
3903 อนุโลม UNKNOWN_tone
3914 อัลบั้ม UNKNOWN_tone
3918 ไอศกรีม UNKNOWN_tone
--- ไอศกรีม 3919.1 ไอศ ['ออ', 'ศอ', 'ไอ', 'ไอศ'] False mid UNKNOWN_tone live long close
--- ราชโองการ 3921.2 โอง ['ออ', 'งอ', 'โอ', 'โอง'] False mid UNKNOWN_tone live long close
--- โคจร 3925.1 โค ['คอ', 'โอ', 'โค'] False low_flat UNKNOWN_tone dead long open
3927 อัตราส่วน UNKNOWN_tone
--- อัตราส่วน 3928.1 อัตรา ['ออ', 'ตอ', 'รอ', 'อั', 'อา', 'อัตรา'] False mid UNKNOWN_tone live short close
--- พฤติการณ์ 3936.1 พฤ ['พอ', 'พฤ'] False low_flat UNKNOWN_tone dead long open
3936 อีกหน่อย UNKNOWN_tone
--- อีกหน่อย 3937.1 อีก ['ออ', 'กอ', 'อี', 'อีก'] False mid UNKNOWN_tone dead long close
3943 อุปการะ UNKNOWN_tone
--- อุปการะ 3944.1 อุป ['ออ', 'ปอ', 'อุ', 'อุป'] False mid UNKNOWN_tone dead short close
--- โฆษก 3948.1 โฆ ['ฆอ', 'โอ', 'โฆ'] False low_flat UNKNOWN_tone dead long open
--- มเหสี 3962.1 ม ['มอ', 'ม'] False low_sonorant UNKNOWN_tone dead long open
3976 คดีอาญา UNKNOWN_tone
--- คดีอาญา 3977.2 อา ['ออ', 'อา', 'อา'] False mid UNKNOWN_tone UNKNOWN_livedead long open
--- หยอด 3988.1 หยอด ['หอ', 'ยอ', 'ออ', 'ดอ', 'หยอด'] False high UNKNOWN_tone dead long close

Co-authored-by: wannaphong <8536487+wannaphong@users.noreply.github.com>

Copilot AI commented Jan 14, 2026

Copy link
Copy Markdown
Contributor Author

@copilot Add all to test set

A list of all fails for functions:
...

Added all 48 unique syllables from the failing test cases to the test suite. All test cases now pass (73 total tone_detector tests). Commit: 14e44f6

@wannaphong

Copy link
Copy Markdown
Member

@copilot Can you fix #1055 too?

Copilot AI commented Jan 15, 2026

Copy link
Copy Markdown
Contributor Author

@copilot Can you fix #1055 too?

Issue #1055 is already fixed by this PR:

  1. เอ no longer throws IndexError and returns 'm' (mid tone) ✓
  2. ประ now correctly returns 'dead' syllable ✓

Both test cases are included in the test suite (lines 727 and 692 of test_util.py) and pass successfully.

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • https://api.github.com/repos/PyThaiNLP/pythainlp/issues/1055
    • Triggering command: /usr/bin/curl curl -s REDACTED (http block)

If you need me to access, download, or install something from one of these locations, you can either:

Copilot AI changed the title Fix tone_detector returning empty for syllables with อ and low consonants Fix tone_detector and sound_syllable bugs for Thai syllables (fixes #1055 and #1176) Jan 15, 2026
@wannaphong

Copy link
Copy Markdown
Member

@copilot Can you fix ruff?

Error: pythainlp/util/syllable.py:285:1: W293 Blank line contains whitespace
Error: pythainlp/util/syllable.py:289:1: W293 Blank line contains whitespace

@wannaphong wannaphong linked an issue Jan 15, 2026 that may be closed by this pull request
…lines

Co-authored-by: wannaphong <8536487+wannaphong@users.noreply.github.com>

Copilot AI commented Jan 15, 2026

Copy link
Copy Markdown
Contributor Author

@copilot Can you fix ruff?

...

Fixed ruff W293 errors by removing trailing whitespace from blank lines 285 and 289. Commit: 816408a

@sonarqubecloud

Copy link
Copy Markdown

@wannaphong
wannaphong marked this pull request as ready for review January 15, 2026 06:04
@bact bact added the bug bugs in the library label Jan 15, 2026
@bact
bact merged commit 0322811 into dev Jan 15, 2026
44 checks passed
@bact
bact deleted the copilot/fix-thai-word-tone-detector-again branch January 15, 2026 16:38
@bact bact added this to the 5.3 milestone Jan 30, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug bugs in the library

Projects

None yet

Development

Successfully merging this pull request may close these issues.

bug: thai_word_tone_detector bug: Tone detector + syllable sound bug

4 participants