Site is down. <a href="http://web.archive.org/web/20180118211615/http://yeokhengmeng.com/2017/01/a-science-project-bringing-the-covox-speech-thing-to-2017/" rel="nofollow">http://web.archive.org/web/20180118211615/http://yeokhengmen...</a><p><a href="https://archive.org/donate/" rel="nofollow">https://archive.org/donate/</a>
A loop calling nanosleep() to wait for the next interval, with the process using a real-time scheduler policy (SCHED_FIFO or SCHED_RR) should be stable enough.