This is a little thing I wrote that simulates a telephone ring via the Linux console. The underlying console is used so that it can be used for Tcl and/or Tk. I'd rather that this work via an open'ed FD on /dev/console but I can't seem to get that to work. It will ring ok, but doesn't change the frequency as it does via echo. But it does open a door to a lot of simple sound possibilities via the PC speaker, and without any extensions. Alarm clocks, fancy alerts, whatever... # ring proc by Mike Tuxford proc ring {} { # duration (ms) exec /bin/echo -e '\\33\[11\;40]' > /dev/console for {set i 0} {$i < 8} {incr i} { # freq. (HZ) exec /bin/echo -e '\\33\[10\;770]' > /dev/console exec /bin/echo -e '\\a' > /dev/console after 40 exec /bin/echo -e '\\33\[10\;870]' > /dev/console exec /bin/echo -e '\\a' > /dev/console if {$i == 3} { after 200 } else { after 40 } } # From the kernel console.c # Here is the default bell parameters: 750HZ, 1/8th of a second # reset the defaults exec /bin/echo -e '\\33\[10\;750\]\\33\[11\;125\]' > /dev/console return } ring