Report abuse


			
require 'dl/import'
module CrazyWhyStuff

  extend DL::Importable
  dlload "/System/Library/Frameworks/ApplicationServices.framework/Frameworks/SpeechSynthesis.framework/SpeechSynthesis"

  extern "int SpeechBusy()"
  extern "int SpeakString(void*)"

  az = ('a'..'z').to_a 
  vowels = %w[a e i o u y]

  consonants = az - vowels

  loop do
    random_chars = (2..(rand(20)+1))
    s = random_chars.map { |x| (l=[consonants,vowels][x % 2])[rand(l.size - 1)] } # a string like 'cupodajius'
    s = [s.size, s.join]
    speakString s.pack("Ca*")
    sleep(0.1) until speechBusy == 0
  end
end