Skip to content

Instantly share code, notes, and snippets.

@karmi
Last active January 9, 2016 17:04
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save karmi/bd78032df22ec31f7a4f to your computer and use it in GitHub Desktop.
Save karmi/bd78032df22ec31f7a4f to your computer and use it in GitHub Desktop.
echo 'Přečti mi něco, prosím!' | ruby dictator.rb

A simple dictation robot.

echo 'Přečti mi něco, prosím!' | ruby dictator.rb

cat data.txt | ruby dictator.rb

cat data.txt | SPEED=1.5 ruby dictator.rb
topil pilinami
popínavá růže
pytlovina
klopýtáme
napínavá povídka
opylený květ
pyšná princezna
zazpívej píseň
spínací špendlík
zpytovat svědomí
pohádkový pidimužík
papírový pytlík
pilný pytlák
písčitá pláž
nepij pivo
slepíš model
píchavé trny
pilovat pilníkem
#!/usr/bin/env ruby
# Usage:
#
# $ cat data.txt | ruby dictator.rb
#
# You can control the speed by exporting the `SPEED` environment variable:
#
# $ echo 'Trochu pomaleji prosím!' | SPEED=1.5 ruby dictator.rb
#
speed = (ENV.fetch('SPEED', 1)).to_f
lines = STDIN.readlines
lines.each_with_index do |line, i|
puts "\e[2m#{i+1}/#{lines.size}\e[0m"
system "say -v Zuzana -i #{line}"
sleep 2
words = line.split(' ')
words.each do |word|
wait = word.size * speed
system "say -v Zuzana #{word}"
sleep wait
end
end
puts "\e[2m#{'-'*80}\e[0m"
system "say -v Zuzana 'Konec diktátu!'"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment