Hmm, although a lot of work went into this for 1.5, there isn’t an objective fix for it. It’s a difficult question in speech in general because it involves successfully tagging a part of speech and the variation thereof, which is usually going to be a 90%-accurate thing even when it’s going well. I can recommend two workarounds for you:
1. You can try editing the problem entries in NeatSpeechRequired.bundle/lib/dicts/cmu/cmudict-0.4.out and see if that is the entry being used in that case, for instance this one:
(“read” nil (((r eh d) 1)))
can be changed to
(“read” nil (((r iy d) 1)))
2. Cheat. If you want it to sound like “reed”, use “reed”. If you want the suffix form of trial, use “tree all”.
On a related note, are there any scientific or medical dictionaries for NeatSpeech? Where would I find documentation on custom or alternate dictionaries?
There is no documentation for this because NeatSpeech is currently limited to its built-in methodology for finding pronunciations. However, I think you could probably add pronunciations for jargon directly to NeatSpeechRequired.bundle/lib/dicts/cmu/cmudict-0.4.out if you can observe its formatting method. My method is just to find the phonemes (the short pronunciation elements) by looking up a rhyming word from the same dictionary, so if I needed to add “Endometrial” my steps would be as follows:
• Find the phonemes by looking up its syllable components “end”, “oh”, “me”, “tree” and “all” in the same dictionary.
* Observe that in this dictionary a syllable is written as follows, with the phonemes in the syllable in parentheses followed by a 1 for a stressed syllable and followed by a 0 for an unstressed syllable: ((eh n d) 1)
• Observe that the entire set of syllables is enclosed in parentheses
• Observe that the final parentheses surround the initial string which is the word in lowercase inside quotes followed by nil plus the enclosed syllables.
• Make sure that I put my final entry in the correct alphabetical position in the dictionary. My entry looks like this: (“endometrial” nil (((eh n d) 0) ((ow) 0) ((m iy) 1) ((t r iy) 0) ((ao l) 0)))