-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
New Feature: IPA input/output for words #4
Comments
IPA is a given. I've spent the last day burying myself in the phonetic construction of the language to get very confident with it before I enable the spoiled mode and I couldn't help but notice that the developers surely must've strictly adhered to American English IPA transcriptions given on Wiktionary. To much detriment of the conlang, I should add, since it ends up carrying forth its redundant vowel inventory overabundance. I'm convinced they had an IPA-to-cubescript translator coded up indev in addition to manual input. I did spot some quite mistaken transcriptions made by the developers due to either bad IPA transcription source or human error. Such as And of course spelling phonemes using Latin characters with English speaker assumptions has always been horrid, given how starkly disjointed phonemes are from glyphs in English language. Never a way to escape ambiguity. |
A snippet of minimal modification to your source. const phonemes = {
out: [
{ mask: 0b0001_0000_0001_0011, text: "æ" },
{ mask: 0b0001_0000_0001_0001, text: "ɔ" },
{ mask: 0b0000_1100_0000_0000, text: "ɪ" },
{ mask: 0b0001_1100_0001_0000, text: "ɛ" },
{ mask: 0b0001_0100_0001_0000, text: "ʊ" },
{ mask: 0b0000_0000_0000_0011, text: "ʌ" },
{ mask: 0b0001_1100_0001_0001, text: "i" },
{ mask: 0b0001_0100_0001_0011, text: "u" },
{ mask: 0b0001_1100_0001_0010, text: "əɹ" },
{ mask: 0b0001_1000_0001_0011, text: "ɔɹ" },
{ mask: 0b0000_1100_0000_0011, text: "ɑɹ" },
{ mask: 0b0001_1000_0001_0001, text: "ɪɹ" },
{ mask: 0b0000_0000_0000_0001, text: "eɪ" },
{ mask: 0b0000_0000_0000_0010, text: "aɪ" },
{ mask: 0b0000_0100_0000_0000, text: "ɔɪ" },
{ mask: 0b0000_1000_0000_0000, text: "aʊ" },
{ mask: 0b0001_1100_0001_0011, text: "oʊ" },
{ mask: 0b0001_1000_0001_0000, text: "ɛɹ" },
],
in: [
{ mask: 0b0000_0011_0000_0000, text: "m" },
{ mask: 0b0000_0011_0000_0100, text: "n" },
{ mask: 0b0010_0011_1010_1100, text: "ŋ" },
{ mask: 0b0010_0000_1000_1000, text: "p" },
{ mask: 0b0000_0010_1010_0000, text: "b" },
{ mask: 0b0010_0000_1000_1100, text: "t" },
{ mask: 0b0000_0011_1010_0000, text: "d" },
{ mask: 0b0000_0010_1010_1000, text: "k" },
{ mask: 0b0010_0010_1000_1000, text: "g" },
{ mask: 0b0000_0001_1010_0000, text: "d͡ʒ" },
{ mask: 0b0010_0000_1000_0100, text: "t͡ʃ" },
{ mask: 0b0010_0001_1000_1000, text: "f" },
{ mask: 0b0000_0010_1010_0100, text: "v" },
{ mask: 0b0010_0000_1010_1100, text: "ð" },
{ mask: 0b0010_0011_1010_0000, text: "θ" },
{ mask: 0b0010_0001_1010_1000, text: "s" },
{ mask: 0b0010_0010_1010_0100, text: "z" },
{ mask: 0b0010_0011_1000_1100, text: "ʃ" },
{ mask: 0b0000_0011_1010_1100, text: "ʒ" },
{ mask: 0b0010_0010_1010_0000, text: "h" },
{ mask: 0b0010_0000_1010_1000, text: "ɹ" },
{ mask: 0b0010_0000_1010_0100, text: "j" },
{ mask: 0b0000_0000_0000_1100, text: "w" },
{ mask: 0b0010_0000_1010_0000, text: "l" },
],
}; Looks like you were missing /ɔɪ/ ("-?-") and didn't quite distinguish /ð/ ("?th?") from /θ/. Reordered in the PR with spaces and underscores of the phonetic output omitted. |
If this PR is merged or you reimplement it as an option, there's a bonus feature you could go for. You know how sometimes you can be trying to read the proper phonemes in the proper order and yet they just refuse to click into a recognized word in your head because of the perceived artificiality? Then you have to make yourself speak them out loud and try your best to listen to your own voice and interpret it as if you weren't thinking of the written phonemes in your head… What could help is somebody reading it out loud for you at a press of a button. Might be worth trying to embed some random WASM TTS or something of the sort to add such a feature. |
Somewhat related to #1, probably could be done in bulk with it. Also relevant is #3, to be able to assign own custom representations, and show some of the used ones (IPA, mine, and the one used by the audio decoding project)
The text was updated successfully, but these errors were encountered: