Funktionen zum Ansteuern des Piepers

(Nur verfügbar in bestimmten Varianten des programmierbaren Terminals)

Übersicht

Das Kommando "beep" (be)

Das Kommando "play" (pl)

Siehe auch:

Do you have this document translated into...
English - German - Francais - Italiano - etc ?



Übersicht

Um Töne mit dem im Terminal eingebauten Pieper ('speaker') zu erzeugen, gibt es zwei Interpreterkommandos.

Hinweis:
Geräte ohne Pieper kennen diese Befehle nicht, der Interpreter könnte dort eine Fehlermeldung ausgeben!

Kommandos zum Ansteuern des Piepers:

Eine Beispielapplikation, in der diese Kommandos verwendet werden, finden Sie im Installationsarchiv unter programs/BeepTest.cvt .


"beep" (Kommando)

Erzeugt einen einzelnen Ton, der optional frequenzmoduliert werden kann (Aufwärts- oder Abwärtsrampe).

Syntax:

be( <freq>, [ <time>, [ <volume>, [ <fm>, [ <am> ] ] ] ] )

Parameter:

freq
Tonfrequenz in Hertz. Der Wert Null schaltet den Ton aus, falls keine anderen Parameter folgen.
Achtung: Die minimale Frequenz beträgt bei Geräten mit 24-MHz-Takt 366 Hz; bei Geräten mit 40-MHz-Takt 610 Hz. Falls die angegebene Tonfrequenz nicht realisiert werden kann, wird die nächstgelegene "realisierbare" Frequenz erzeugt.
time
Länge des Tons, gemessen in 100-Millisekunden-Schritten. Wenn dieser und alle weiteren Parameter fehlen, wird ein "endloser" Ton produziert, der mit dem Kommando beep(0) oder be(0) wieder abgeschaltet werden muss.
volume
Relative Lautstärke in Prozent, im Bereich 0 bis 100. Der Pieper wird intern mit einem Pulsbreitenmodulator angesteuert, wobei das Tastverhältnis für die Lautstärkeneinstellung dient. So lassen sich zwar verschiedene Lautstärken erzielen, das Spektrum des Tons ändert sich allerdings auch (je nach Tastverhältnis). Der "volume"-Wert 100 erzeugt die maximale Lautstärke mit einem Tastverhältnis von 1:1.
fm
Frequenzmodulation. Kann zur Realisierung von Sirenen-ähnlichen Klängen eingesetzt werden. Die Einheit ist "Hertz pro 100 Millisekunden". Bei positivem Wert steigt die Frequenz an solange der Ton dauert, bei negativem Wert fällt sie ab.
am
Amplitudenmodulation. Kann für allmählich anschwellende Töne verwendet werden, die Funktion ist allerdings wegen der Pulsweitenmodulation nicht sehr effektiv (eine Lautstärke von 10% kann kaum von 50% unterschieden werden). Auf dem PC (Programmiertool, Simulator), ist die Amplitudenmodulation nicht möglich. Ein mit dem PC-Speaker erzeugter Ton kann mit einfachen Mitteln nicht pulsweitenmoduliert werden (unter Windows erst recht nicht..).

Beispiele für das "beep"-Kommando:

be(1750)
Startet einen 'endlosen' Ton mit maximaler Lautstärke, und der Frequenz 1750 Hz.
be(0)
Beendet einen vorher gestarteten Ton
be(1750,5)
Erzeugt einen einzelnen, nicht modulierten (Ruf-)Ton mit 1750 Hz und einer Dauer von 0.5 Sekunden.
be(150,20,50,100)
Erzeugt einen 2 Sekunden dauernden Ton, dessen Frequenz von 150 Hz bis auf 2150 Hz (=150 + 2 sec * 100 Hz/0.1sec) ansteigt.

Zur Übersicht


"play" (Kommando)

Erzeugt eine Sequenz von Tönen, z.B. Klingeltöne, Alarme, oder kurze Melodien.

Syntax:

pl( <string> )

Der String ist eine Zeichenkette aus den folgenden Buchstaben:

a...l
12 Halbtöne in der ersten Oktave. 'a'=262 Hz, 'b'=277 Hz, .... 'j'=440 Hz, 'k'=466 Hz, 'l'=494 Hz.
(Die Buchstaben haben nichts mit historischen Noten-Namen zu tun, z.B. ist der "Kammerton A" hier "j" !)
m...x
12 Halbtöne in der zweiten Oktave. 'm'=523 Hz .... 'x'=988 Hz.
A...L
12 Halbtöne in der dritten Oktave. 'A'=1046 Hz .... 'L'=1975 Hz.
M...X
12 Halbtöne in der vierten Oktave. 'M'=2093 .... 'X'=3951Hz.
' ' (Leerzeichen)
Fügt eine Pause in die abgespielte Melodie ein, mit der aktuellen Tondauer (0..9)
0...9
Setzt die Dauer der nachfolgenden Noten und Pausen:
'0' = die kürzeste realisierbare Dauer, abhängig vom Timer-Interrupt (meistens 10 Millisekunden)
'1' = 50 Millisekunden
'2' = 100 Millisekunden
'3' = 150 Millisekunden
'4' = 200 Millisekunden
'5' = 400 Millisekunden
'6' = 600 Millisekunden
'7' = 1000 Millisekunden
'8' = 1500 Millisekunden
'9' = 2000 Millisekunden
!vN
volume. N=1 erzeugt einen sehr leisen Ton, N=9 den lautesten Ton.
!aN
attack interval. Der Parameter 'N' definiert, wie schnell ein Ton von "Null" bis zum Maximum (Wert von !v) anschwillt.
!dN
decay interval. Der Parameter 'N' definiert, wie schnell ein Ton vom Maximum bis auf den Sustain-Level abfällt.
!sN
sustain level. Haltepegel von Dauertönen. Mit !s0 können Töne erzeugt werden, die keinen Dauerton, sondern nur einen kurzen abfallenden Ton haben, z.B. Glocken, Klavier (oder eher Cemballo).
!rN
release interval. Nachklingdauer bis zur völligen Stille.
!lN
loop. N=1...9 definiert die Anzahl der Schleifen-Wiederholungen. Das Schleifenende muß mit "!le" (loop end)  markiert werden. Schleifen im Melodie-String sind nicht schachtelbar.

Hinweise:

Beispiele für das "play"-Kommando (Abk. pl)

Weitere Beispiele für das Kommando 'play' finden Sie im Installationsarchiv unter programs/BeepTest.cvt .
Der Befehl ist als system.play_notes auch in der Script-Sprache verfügbar.

Zur Übersicht


Legal Terms

Siehe main manual.


Letzte Änderung: 5. September 2002

Zur Übersicht