←back to thread

1901 points l2silver | 1 comments | | HN request time: 1.223s | source

Maybe you've created your own AR program for wearables that shows the definition of a word when you highlight it IRL, or you've built a personal calendar app for your family to display on a monitor in the kitchen. Whatever it is, I'd love to hear it.
1. z500 ◴[] No.35740322[source]
It's probably not as cool as some of the other projects in here, but I've been working on a sound change applier, which is a hobbyist tool for applying sound change rules to a lexicon. You could use this to generate pronunciations for a language with particularly regular spelling, but these tools are mainly used for evolving constructed languages.

The way it works is it generates an NFA for a rule. You can define sets of sounds, some of which can be multiple characters long, and also define distinctive features, which allows you to define how sounds change by adding or removing them, but also allows you to match groups of sounds based on combinations of distinctive features. It builds up these ad-hoc sets of sounds and produces a prefix tree, which it uses as a template to build the NFA. Finally, the NFA is converted to a DFA for performance. It takes a while (the console app is much faster than the browser demo), but the rules run many, many times, so they need to be fast. It's essentially a special purpose regex engine. I'm working on bug fixes and some enhancements for now, but it basically works.

Demo: https://marriola.github.io/transmute-demo