[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [Debian]:echo -e "\a" alert Ton-Frequenz ändern



Frank Schlueter <schluete@fh-brandenburg.de> wrote:

> Hallo,

> weiß jemand, ob/wie es möglich ist, die Tonfrequenz eines

>   echo -e "\a"

> (alert/beep) in bash-Scripten zu ändern?

> Nicht jeder Rechner hat eine Soundkarte ...

> Vor Ewigkeiten gab es einmal ein kleines MS-DOS 6.2 Programm, das
> mit  mybeeper -f <frequenz> -t <milli_seconds>  genau dieses tat. :)

> Zusammen mit einer Abfrage, ob die Maus _nicht_ bewegt wurde,
> ist das eine kleine Diebstahlsicherung für Notebooks, z.B. in
> Bibliotheken ...

> TIA, Frank

hallo!
wohl nicht genau , was du suchst, aber doch ein anfang:

zitiert aus Message-ID: <38952a83.0@news.ivm.net>:

manni@LX1:~ > cat /usr/local/bin/beep 
#!/bin/sh

B_PITCH=1500
B_DURATION=500
B_REPEAT=1
B_PAUSE=1

B_TERM=/dev/console

#-----------------------------------

usage(){
cat <<EOF

BEEP - output tone(s) through Linux console

Usage: ${0##/*/} [options]

Options:

  -h show help
  -d set duration in ms (default: ${B_DURATION}ms)
  -f set pitch in Hz (default: ${B_PITCH}Hz)
  -r set repeat count (default: ${B_REPEAT})
  -p set pause between beeps in seconds (default: ${B_PAUSE}s)

EOF
}

######################
#     main part      #
######################

#
# parse options
#
while getopts 'hd:f:r:p:' optkey; do
    case "$optkey" in
        d)B_DURATION=$OPTARG;;
        f)B_PITCH=$OPTARG;;
        r)B_REPEAT=$OPTARG;;
        p)B_PAUSE=$OPTARG;;
        *) usage ; exit 1;;
    esac
done

declare -i i

i=$B_REPEAT

echo -en '\0337' >${B_TERM}||exit 1

echo -en '\033[10;'${B_PITCH}']\033[11;'${B_DURATION}']' >${B_TERM}

while [ $i -gt 0 ]; do
    echo -en '\007' >${B_TERM}
    [ $i -gt 1 ] && sleep $B_PAUSE
    i=i-1
done

echo -en '\0338' >${B_TERM}

#-----Ende des Skripts-----

Tipp: Unter B_TERM eine Konsole eintragen, auf der Du Schreibrecht
hast.  Für /dev/console müssen die User normalerwise der Gruppe tty
angehören.

HTH,
Manni

------------------------------------------------
Um sich aus der Liste auszutragen schicken Sie
bitte eine E-Mail an majordomo@jfl.de die im Body
"unsubscribe debian-user-de <deine emailadresse>"
enthaelt.
Bei Problemen bitte eine Mail an: Jan.Otto@jfl.de
------------------------------------------------
Anzahl der eingetragenen Mitglieder:     736


Reply to: