That argument about a tonal language and a non-tonal language is stuff cunning linguists can beat to death. It certainly doesn't take YEARS of training to begin to hear the tone differences in spoken Thai!!

I have said before that in English we use tones to carry emotive value to what's being said. We certainly don't speak in a mono-tone. In fact English can represent every single tone used in the Thai language and native English speakers use all of them routinely.

Single word questions use a rising tone; "Right?"
Expressing dismay usually uses a falling tone; "Ohhh”.
Expressing shock usually uses a high tone; "What?"
A non-committal attitude is usually expressed with a low tone; "Umm okay.."
The mid tone is just about for everything else.

The reason foreigners say they can't hear the tones in Thai is simply because we're listening for the tones for the WRONG reason.

Regular Thai spoken at speed by Thais isn't the sugar-coated, over-pronounced, spoon-fed version of Thai a teacher will use on students so they start to hear the tone differences.

Falangs <sic> or whatever karaoke version of the Thai word for ฝรั่ง (fà ràng) or บักสีดา (bàk sǐi daa) if your significant Thai other is from Isaan) don't have difficulty with the tones in Thai once they train their ears to listen for them for the right reason.

I still say the only thing which changes between a "long" and a "short" Thai vowel is the length of time you make the vowel sound. Thai has approximately 32 "vowel sounds". They're usually parroted by the Thais as pairs like this; อะ-อา, อิ-อี, อึ-อื, อุ-อู, เอะ-เอ, แอะ-แอ, โอะ-โอ, เอาะ-ออ, เออะ-เออ, เอียะ-เอีย, เอือะ-เอือ, อัวะ-อัว, ฤ-ฤา, ฦ-ฦา, อำ, ไอ-ไม้มลาย, ใอ-ไม้ม้วน. The last three vowels are only short vowels and no long vowel exists with that sound. You can say their different any way you want, I ain't a cunning linguist and don't pretend to be one. I just hear a long duration sound and a short duration sound, but I hear the same sound.

Conversely, Thais have difficulties mostly with words which end in a consonant no word in Thai can end with. There are only 8 ways a word can EVER end spelled in Thai, that's it. Three are called "dead endings", five are called live endings. Thais learn 'em like this (the Thai letters in parenthesis are the characters which make this sound when they end a syllable or a word);
แม่กก - (ก ข ค ฆ) the "-c", "-g", "-k", "q" and "-ck" sounds at the end of a syllable; a dead ending
แม่กง - (ง) the "-ng" sound at the end of a syllable, a live ending
แม่กด - (จ ฉ ช ซ ฌ ฎ ฏ ฐ ฑ ฒ ด ต ถ ท ธ ศ ษ ส) the "-d" and "-t" sound at the end of a syllable, a dead ending
แม่กน - (ญ ณ น ร ล ฬ) the "-n" sound at the end of a syllable, a live ending
แม่กบ - (บ ป พ ฟ ภ) the "-b" and "-p" sounds at the end of a syllable, a dead ending
แม่กม - (ม) the "-m" sound at the end of a syllable, a live ending.
แม่เกย - the "-eeuy" sound at the end of a syllable, a live ending
แม่เกอว - all the words ending with วอ แหวน; a live ending.
Of course Thai can have "open syllables" that's just a consonant and a vowel, so there are those too. What Thai can't do is end a word with an "L" or an "R" sound because 's & 's in Thai change to n's at the end of words!

Thais also have problems with English consonant clusters which can't be represented in the Thai language. It's why you often hear a Thai voice words like, stop, slowly and stupid as "sa-top, sa-lowly and sa-tupid. The "s" character in Thai has to have a short 'a' (-) sound with it when it's spoken. Even the "in-trend" English loan word สเปค (sà bpèek) which Thais use for "specification" is pronounced with the -ะ after the s, because they don't have an "sp" in Thai. In Thai only the following are "true consonant clusters that can start words; กร- gr กล- gl กว- gw ขร- kr ขล- kl ขว- kw คร- kr คล- kl คว- kw ตร- dtr ปร- bpr ปล- bpl ผล- pl พร- pr พล- pl. (That's just 11 if you don't count the duplicate sounds).

Some of the consonant clusters used in English just can't be said easily by Thais, they have to "train" their mouths to get them down with any degree of proficiency. It's the same for foreigners saying Thai words which start with the ง "ng" character. We don't have ANY words in English which are pronounced with a leading ng, so it's one of those characters foreigners are gonna hafta "train" their mouths to say.

Face it, I taught myself to read Thai before I could speak, and after 4+ years of learning Thai I still speak a horrifically mangled, errant-toned, American accented version of it. Looking back I learned it backwards and I should have concentrated more on speaking Thai than on my reading/writing. At this stage I wouldn’t trade my reading/writing ability away, but still I’d give almost anything to speak clearer Thai..

I am of the opinion that just about any foreigner who puts their mind to it can learn to speak and read Thai IF they want to. It's the internal motivation not the degree of difficulty that makes most foreigners throw in the towel and crap out after a while. It reminds me of what my grandfather told me, "things worth knowing don't come cheap or easy, and things that do come cheap ‘n easy aren't usually worth knowing". I don't know that he made it up, but he told it to me..

Sorry this was long and possibly off topic... Hope someone hung with it until the end...

Good Luck learning Thai...