Phoneme font
First of all, I greatly appreciate you for producing this amazing and helpful tool.
However, I just noticed a small issue when starting using it. The issue is that the font of phoneme is bit awkward, as shown in the attached figure. I showed the word "define" you demonstrated in the project description, but the software on my end (i.e., Ubuntu 24.04.2 LTS) showed the phoneme in a different font (I don't know its name either). I tried to reboot my PC and hoped it would make any difference, but it did not.
Seems to work as intended from your screenshot. Is there any issues?
Hi there,
Thank you for your responding. To demonstrate issues I described, a figure was attached below for comparison. Figure (a) is from your demonstration, and the phoneme in it is illustrated in italic style with a normal font. On the other hand, in Figure (b), software screenshot on my end, the phoneme is illustrated in regular style with a bit awkward font. Do you think this issue resulted from my end, such as missing a certain font or the software was not properly set?
Hm.. I'm thinking of getting rid of the IPA output shown right now. It's not necessarily accurate (it's technically just espeak's best guess at what it should sound like though espeak is somehow generally accurate), varies by font (as you encountered) and is not really human readable.
from chatgpt: In American English, the first vowel in define is unstressed and occurs in a reduced syllable. Many American speakers don’t pronounce it as a clear /ɪ/ (like bit) but rather as something more central — halfway between /ɪ/ and /ə/. That’s exactly what ᵻ represents: a near-close, near-central, unrounded vowel.
So, if we’re being narrowly phonetic, /dᵻˈfaɪn/ is more accurate for typical American speech.
However, in dictionary-style phonemic transcription (the broad kind used for learners, e.g., Merriam-Webster or Oxford), this subtlety is usually not shown. They write it as /dɪˈfaɪn/, because /ɪ/ is the underlying vowel phoneme — the centralization is just an allophonic detail.
if we want dictionary like, then replace it:
espeak-ng -v en-us --ipa=4 -q "define" | sed 's/ᵻ/ɪ/g'
In base.py line 242: # add .replace("ᵻ", "ɪ")
ipa_pronunciation = stdout.strip().replace("\n", " ").replace(" ", " ").replace("ᵻ", "ɪ")
i'll create a pull request.
I think the issue here reported by @ChangingLau is just because of their accent selection. In a sense, ChatGPT is right. (a) from the screenshot is when set to British Pronunciation in settings and (b) is when set to American. That's fine and expected IMO.