Using a speech engine to highlight words: Difference between revisions
Content added Content deleted
Line 145: | Line 145: | ||
While[i < Length@words, i++; FinishDynamic[]; Speak[words[[i]]]; |
While[i < Length@words, i++; FinishDynamic[]; Speak[words[[i]]]; |
||
Pause[Max[0.7, 0.12 StringLength[words[[i]]]]]]; i = 0]}]</lang> |
Pause[Max[0.7, 0.12 StringLength[words[[i]]]]]]; i = 0]}]</lang> |
||
=={{header|Nim}}== |
|||
{{trans|Go}} |
|||
Works on Linux but may also work on other platforms provided "espeak" is installed. |
|||
<lang Nim>import os, osproc, strutils |
|||
const S = "Actions speak louder than words." |
|||
var prev, bs = "" |
|||
var prevlen = 0 |
|||
for word in S.splitWhitespace(): |
|||
discard execProcess("espeak " & word) |
|||
if prevlen > 0: |
|||
bs = repeat('\b', prevlen) |
|||
stdout.write bs, prev, word.toUpper, ' ' |
|||
stdout.flushFile() |
|||
prev = word & ' ' |
|||
prevlen = word.len + 1 |
|||
bs = repeat('\b', prevlen) |
|||
sleep(1000) |
|||
echo bs, prev</lang> |
|||
=={{header|Phix}}== |
=={{header|Phix}}== |