The idea that "shore" and "sure" are pronounced "almost identically" would depend pretty heavily on your accent. The vowel is pretty different to me.
Also, the matches for "sorI" and "sorY" would seem to me to misinterpret the words as having a vowel at the end, rather than a silent vowel. If you're using data meant for foreign surnames, the rules of which may differ from English and which might have silent vowels be very rare depending on the original language, of course you may mispronounce English words like this, saying both shore and sure as "sore-ee".
I'm sure there are much better ways to transcribe orthography to phonetics, probably people have published libraries that do it. From some googling, it seems like some people call this type of library a phonemic transcriber or IPA transcriber.
IPA is the most-used tool by linguistic researchers for encoding pronunciation in a standardized way. IPA is criticized for being a little bit anglo-centric and falls short for some languages and edge cases, but overall it performs pretty well. (learned from an ex who studies linguistics.)
I've always found IPA to be deeply confusing for English, because different accents have different historical vowel mergers, so I am never sure about vowels. And I think linguists aren't always sure about them either. IIRC, I saw a video by Geoff Lindsey suggesting Americans don't really have a /ʌ/ phoneme. Most people who have written about this write as if we do. (By the way, Dr. Lindsey's YouTube videos are some of the more interesting content I've found about English phonetics)
For other languages I have exposure to, IPA seems to make more sense. Possibly I have a bias in that they're not my native language, so I can analyze them instead of internalizing them. But also, they have cleaner phonetics, cleaner orthography, and less regional variation of phonemes.
I mean, espeak isnt the best but a lot of folks in the ASR/Speech world still are using this right?
(NB: If you are on iOS check out the inbuilt one - Settings -> Accessibility -> Spoken Content -> Pronounciations. Adding one it has the ability to phonemize to IPA your spoken message. If someone can tell me where that SDK/API is they use in that I'd love to know)
for i, variation in enumerate(variations, 1):
print(f"Variation {i}: {variation}")
This past Yom Kippur, my wife and I drove two hours to spend the afternoon at my aunt’s house, with my cousins. As the night drew on, conversation roamed from television shows and books to politics and philosophy. The circle grew as we touched on increasingly sensitive and challenging topics, drawing us in.
We didn’t agree, per se. We were engaging in debate as often as we were engaging in conversation. But we all love each other deeply, and the amount of care and restraint that went into how each person expressed their disagreement was palpable.
The idea that "shore" and "sure" are pronounced "almost identically" would depend pretty heavily on your accent. The vowel is pretty different to me.
Also, the matches for "sorI" and "sorY" would seem to me to misinterpret the words as having a vowel at the end, rather than a silent vowel. If you're using data meant for foreign surnames, the rules of which may differ from English and which might have silent vowels be very rare depending on the original language, of course you may mispronounce English words like this, saying both shore and sure as "sore-ee".
I'm sure there are much better ways to transcribe orthography to phonetics, probably people have published libraries that do it. From some googling, it seems like some people call this type of library a phonemic transcriber or IPA transcriber.
IPA is the most-used tool by linguistic researchers for encoding pronunciation in a standardized way. IPA is criticized for being a little bit anglo-centric and falls short for some languages and edge cases, but overall it performs pretty well. (learned from an ex who studies linguistics.)
I've always found IPA to be deeply confusing for English, because different accents have different historical vowel mergers, so I am never sure about vowels. And I think linguists aren't always sure about them either. IIRC, I saw a video by Geoff Lindsey suggesting Americans don't really have a /ʌ/ phoneme. Most people who have written about this write as if we do. (By the way, Dr. Lindsey's YouTube videos are some of the more interesting content I've found about English phonetics)
For other languages I have exposure to, IPA seems to make more sense. Possibly I have a bias in that they're not my native language, so I can analyze them instead of internalizing them. But also, they have cleaner phonetics, cleaner orthography, and less regional variation of phonemes.
> The idea that "shore" and "sure" are pronounced "almost identically" would depend pretty heavily on your accent.
For an idea of how bad various accents can complicate recognition see how Baltimoreans pronounce "Aaron Earned An Iron Urn": https://www.youtube.com/watch?v=Oj7a-p4psRA
Im intrigued.. Is this not done just with a phonemizer?
I mean, espeak isnt the best but a lot of folks in the ASR/Speech world still are using this right?(NB: If you are on iOS check out the inbuilt one - Settings -> Accessibility -> Spoken Content -> Pronounciations. Adding one it has the ability to phonemize to IPA your spoken message. If someone can tell me where that SDK/API is they use in that I'd love to know) for i, variation in enumerate(variations, 1): print(f"Variation {i}: {variation}")
This is one of these cases where inheriting hacked-together piece of crap (English spelling) makes a lot of additional work higher up.
Another example is poetry. A regex can find rhymes in Polish. Same postfix == it rhymes.
In English it's a feat of engineering.
It's really just a feat of data collection (e.g. rhymezone.com). You just compile all English words and record which ones rhyme with which.
(Yeah it's labor-intensive, but probably not moreso than, say, writing a dictionary.)
> You just compile all English words and record which ones rhyme with which
I suppose, if we ignore accents and heteronyms... both of which English is famous for, unfortunately!
This short epilogue struck me.
It's about someone using Levenshtein distance for phonetic fitting against text learning about soundex.
One way to start playing around with it is to put some stuff in a database: https://dev.mysql.com/doc/refman/8.4/en/string-functions.htm...
(or this module, https://www.postgresql.org/docs/current/fuzzystrmatch.html if you're stuck with PG)