[go: up one dir, main page]

CH663485A5 - Informationsverarbeitungsanlage fuer dokumente mit geschriebenen und gesprochenen bestandteilen. - Google Patents

Informationsverarbeitungsanlage fuer dokumente mit geschriebenen und gesprochenen bestandteilen. Download PDF

Info

Publication number
CH663485A5
CH663485A5 CH5946/83A CH594683A CH663485A5 CH 663485 A5 CH663485 A5 CH 663485A5 CH 5946/83 A CH5946/83 A CH 5946/83A CH 594683 A CH594683 A CH 594683A CH 663485 A5 CH663485 A5 CH 663485A5
Authority
CH
Switzerland
Prior art keywords
component
text
spoken
information processing
processing system
Prior art date
Application number
CH5946/83A
Other languages
English (en)
Inventor
Gary N Stapleford
Deane C Osborne
Original Assignee
Wang Laboratories
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Wang Laboratories filed Critical Wang Laboratories
Publication of CH663485A5 publication Critical patent/CH663485A5/de

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Computational Linguistics (AREA)
  • Acoustics & Sound (AREA)
  • Signal Processing (AREA)
  • Document Processing Apparatus (AREA)
  • Digital Computer Display Output (AREA)
  • Input From Keyboards Or The Like (AREA)
  • Machine Translation (AREA)
  • Reverberation, Karaoke And Other Acoustics (AREA)
  • Management Or Editing Of Information On Record Carriers (AREA)

Description

Die Erfindung bezieht sich auf die Bearbeitung gesprochener Texte.
Es schlägt die Erfindung eine Informationsverarbeitungsanlage für Dokumente, die sowohl Text-Bestandteile wie gesprochene Bestandteile aufweisen, mit Anzeigemitteln zur Anzeige eines Ausschnittes eines dieser Dokumente vor, die dadurch gekennzeichnet ist, dass die Anzeigemittel folgende Teile aufweisen: Textanzeigemittel zur Darstellung eines zum Ausschnitt gehörigen Textbestandteiles, eine Sprachbestandteil-Anzeige zur Kennzeichnung der Lage eines gesprochenen Bestandteiles, welcher zum Ausschnitt gehört, auf den sich der Textbestandteil bezieht, und eine Sprechdauer-Anzeige zur Anzeige der zeitlichen Dauer des gesprochenen Bestandteiles.
Es kann die erfindungsgemässe Anlage zusätzlich ein Steuerprogramm aufweisen, welches so ausgelegt ist, dass der Processor die Anlage so steuert, dass diese in Abhängigkeit von vorbestimmten, gleichzeitig mit dem gesprochenen Text empfangenen, diskreten Signalen in der sequentiellen Liste den Punkt anzeigt, an welchem jedes dieser vorbestimmten Signale empfangen wurde, und dass auf den Anzeigemitteln eine wahrnehmbare Anzeige erzeugt wird, die angibt, wann ein solches gleichzeitig mit dem gesprochenen Text empfangenes Signal empfangen wurde, bezogen auf die anderen Elemente der Sprechdaten. Wahlweise kann das Steuerprogramm so ausgelegt sein, dass der Processor die Anlage so steuert, dass diese im Speicher einen Zeiger erzeugt, der eine Zeigerstellung innerhalb der Datensequenz definiert, dass auf den Anzeigemitteln ein der Zeigerstellung entsprechendes, sichtbares Signal erzeugt wird, und in Abhängigkeit von empfangenen Empfangssignalen die definierte Zeigerstellung innerhalb der Sequenz, und dementsprechend auch auf den Anzeigemitteln, geändert wird. Des weiteren kann das Steuerprogramm so aufgelegt sein, dass der Processor die Anlage so steuert, dass diese in Abhängigkeit von empfangenen Eingangssignalen ein kontinuierlich variierendes akustisches Signal erzeugt, welches den im Speicher gespeicherten, diskreten Sprechdaten entspricht, wobei die Erzeugung an einem Punkt der Sprechdatensequenz beginnt, welcher der augenblicklich definierten Zeigerstellung entspricht, und gemäss der augenblicklichen Reihenfolge der sequentiellen Liste fortschreitet. Auch kann das Steuerprogramm so ausgelegt sein, dass der Processor die Anlage so steuert, dass diese, entsprechend der fortlaufenden Erzeugung des akustischen Signals, den Zeiger innerhalb der Sprechdatensequenz fortbewegt. Schliesslich kann die Anlage eine Schaltung aufweisen, um den Empfang akustischer Signale festzustellen, und um beim Fehlen einer Empfangstätigkeit das Speichern von Sprechdaten im Speicher zu unterbinden.
Es liefert die Erfindung dem Autor eines Textes eine sichtbare, graphische Darstellung des Aufbaues seines Diktates, mitsamt Anzeigen, welcher er bezüglich Paragrapheneinteilung oder anderer Dinge einfügen mag. Es gestattet dem Autor, sein Diktat in sehr flexibler Weise abzuändern: verschieben, einsetzen, auslöschen, und rückspielen bei gleichzeitiger Beobachtung der Anzeige, hilft ihm sein Korrekturlesen zu überschauen und genau zu bestimmen, wo Änderungen anzubringen sind. Es gestattet die Erfindung dem Autor auch mittels einer Tastatur Zwischenbemerkungen und Instruktionen in sein Diktat einzufügen.
Fig. 1 zeigt ein Blockdiagramm einer Ausführungsform der Erfindung.
Fig. 2 zeigt die Darstellung eines Dokumentes auf der Anzeige-Einheit 31.
Die erfindungsgemässe Anlage 10 umfasst Anschlüsse 12, um kontinuierlich variierende elektrische Signale, welche gesprochenen Texten entsprechen, zu empfangen und abzugeben. Ein empfangenes Signal kann von einem Mikrophon 50 oder einer Telephonleitung 52 über die Schnittstellenschaltung 54 empfangen werden, wie in der Figur beispielsweise gezeigt, dies kann aber auch auf andere Weise geschehen. Das gelieferte Signal kann benützt werden um einen Lautsprecher 56 zu betreiben, oder auf andere Weise. Die Anschlüsse 12 sind mit einem Analogdigitalwandler 14 verbunden, welcher in beiden Richtungen arbeitet. Der Wandler 14 seinerseits ist mit einem Serie-
5
10
15
20
25
30
35
40
45
50
55
60
65
3
663 485
Parallelwandler 30 verbunden, der in beiden Richtungen arbeitet. Ein akustischer Sensor 28 ist mit den Anschlüssen 12 verbunden und erzeugt ein Kontrollsignal, welches davon abhängt, ob der Textempfangskanal aktiv ist oder nicht. Die Anlage 10 umfasst noch eine Anzeigeeinheit 31, welche vorzugsweise eine Kathodenstrahlröhre enthält, sowie eine Tastatur 16, die einen Sektor 18 für die Eingabe numerischer Zeichen, sowie einen Sektor 20, für die Eingabe von Textverarbeitungs- und Steuersignalen aufweist.
Die Anlage 10 umfasst auch einen Processor 26, welcher der von Zilog hergestellte Typ Z-80 sein kann, sowie einen Speicher 22 zum Speichern von Daten in Bitform, welcher Speicher einen Teil 24 aufweist, der ein darin gespeichertes Steuerprogramm enthält. Alle Elemente der soeben beschriebenen Anlage werden durch eine Datensammelschiene 58, eine Adress-Sammelschiene 60, und Steuerleitungen 62 verbunden, wie in der Figur gezeigt. Alle Elemente der oben beschriebenen Anlage 10 sind handelsübliche Gegenstände, und es ist dem Fachmann in der Textverarbeitung wohlbekannt, wie sie gegenseitig verbunden sein müssen.
Zusammen mit dem Processor 26 steuert das im Speicher gespeicherte Sprachbearbeitungsprogramm die Funktion der Anlage zur Durchführung aller Textverarbeitungsschritte.
Wenn ein die Anlage benutzender Autor in ein Mikrophon spricht, wird der von der Anlage als analoges Signal empfangene Text digitalisiert und in diskreter Form in den Speicher eingelesen. Gleichzeitig wird, unter Verwendung einer Reihe von Sprech-Kennzeichen, von denen jedes eine Sekunde des gesprochenen Textes darstellt, eine Darstellung des gesprochenen Textes erzeugt und auf dem Bildschirm gezeigt. Um eine Vergeudung der Speicherkapazität zu vermeiden, wird während der Sprechpausen das Einlesen von Daten unterdrückt. Es kann der Autor gleichzeitig mit dem Diktieren Unterbruchssignale mittels einer Klaviatur eingeben, welche Signale im Speicher Zeiger erzeugen, die angeben, an welcher Stelle des Datenflusses die Eingabe durchgeführt wurde. Dadurch werden nachfolgende Sprech-Kennzeichen am Anfang der nächsten Zeile gezeigt, was eine paragraphenähnliche Einteilung bewirkt. Gleichzeitig wird eine Randziffer erzeugt, um eine bequeme Identifikation des Unterbruches zu ermöglichen. Es kann der Autor auch das Diktieren mittels eines über die Klaviatur eingegebenen Signals unterbrechen, und alphanumerischen Text via die Klaviatur eingeben. Dieser Text wird im Speicher aufgenommen und auf dem Bildschirm gezeigt.
Die durch das Programm gesteuerte Anlage stellt eine Liste auf, die eine vereinheitlichte Sequenz von Sprechdaten, Textdaten, und Unterbruchskennzeichnungen enthält. Ursprünglich entspricht die Reihenfolge dieser Sequenz der zeitlichen Reihenfolge in welcher die Daten durch die Anlage aufgenommen wurden. Die Anlage erzeugt auch einen Zeiger im Speicher, der eine Stellung innerhalb der Datensequenz hervorhebt. Eine Markierung zeigt die entsprechende Stelle in der visuellen Anzeige an. Der Autor kann den Zeiger und die Markierung, welche gegenseitig verbunden sind, bewegen, um irgendeinen bestimmten Punkt innerhalb der gemeinsamen Datensequenz zu bezeichnen. Unter Verwendung der Markierung und der Textverarbeitungsbefehle der Klaviatur, inklusive «Einsetzen», «Löschen», «Ersetzen», «Bewegen», und «Kopieren», kann der Autor all diese Textverarbeitungsschritte durchführen, und sie dabei genau gleich benützen, ob es sich nun um Sprechdaten, um Text oder um Kennzeichen handelt. Die visuelle Anzeige in den Anzeigemitteln widerspiegelt alle durchgeführten Textverar-beitungsschritte. Es kann der Autor auch, unter Verwendung der Markierung und von über die Klaviatur eingegebenen Signalen, das Überspielen des gesprochenen Textes auf irgendein angeschlossenes akustisches Gerät bewirken.
Im folgenden wird eine ausführlichere Beschreibung der Wirkungsweise des Programmes gegeben.
Im Speicher 22 ist ein Programm zur Steuerung des Sprech-verarbeitungsprogrammes gespeichert, welches zusammen mit dem Processor 26 die Funktion der Anlage in bezug auf alle Sprachverarbeitungsfunktionen steuert. Es benützt das Programm zur Verarbeitung gesprochener Texte eine aus Routinen gebildete Warteschlange, und vom Sprachverarbeiter aufgerufene Subroutinen werden zunächst in die Routinen-Warteschlange eingeordnet, und in der Folge dann durchgeführt, wenn der Processor sie erreicht. Bei solch einer Warteschlange setzt ein Unterbruchsverarbeiter eine Subroutine in die Schlange ein, um den Unterbruch zu bearbeiten, und aktiviert sofort danach die Unterbrüche und die Rückkehrvorgänge. Die Subroutinen werden in die Schlange eingereiht, und werden zu gegebener Zeit durch den Processor behandelt. Ein Modul für Routineschlangen enthält Subroutinen zum Bearbeiten der Routinen-Warteschlange des Sprachverarbeiters. Es sind diese:
RTN$QUE$INIT: Initialisieren der Routine-Warteschlange.
RTN$QUE$PUSH: Fügt die Adresse und ein Adressparameter einer Prozedur einer Routineschlange an.
RTN$QUE$RUN: Prüft, ob ein Paar Prozedur/Parameter ansteht. Wenn ja, wird die Prozedur aufgerufen, und der einzelne Adressparameter durchgegeben.
Der Hauptfluss des Programmes zur Sprachbearbeitung ist wegen der Sprachbearbeitungs-Routinen-Warteschlangen recht einfach. Der Hauptfluss des Sprachbearbeiters führt zwei Funktionen durch : 1) Er ruft eine Initialisierungsroutine, voice$edi-tor$init, auf, um alle durch den Sprachverarbeiter gebrauchten Datenstrukturen sowie festverdrahtete Ein- Ausgangsgeräte zu initialisieren. 2) Er geht dann in eine Endlosschleife, und ruft dabei RTN$QUE$RUN auf, um etwaige Subroutinen in der Subroutinenschlange durchzuführen. Falls der Benützer beispielsweise bekanntgibt, dass er aus dem Sprachverarbeiter aussteigen will, wird die Prozedur EXITSEDITOR an die Routineschlange angefügt. Der Processor ruft diese Routine auf sobald er kann, wodurch der Sprachverarbeiter in die aufrufende Funktion zurückkehrt.
Aus obiger Beschreibung ergibt sich, dass nach dem Einsteigen in den Sprachverarbeiter und dem Initialisieren der variablen und der fest verdrahteten Schaltungen, der Sprachverarbeiter sich in einer Endlosschleife befindet und wartet, bis etwas in der Routine-Warteschlange auftaucht. Es werden Unterbruchsprozeduren verwendet, um etwas an diese Schlange anzufügen. Wenn ein Hardware-Unterbruch stattfindet, werden Unterbruchsprozeduren durchgeführt. Falls dies geschieht schaltet der Processor Unterbrüche aus, schiebt die laufende Programmzählung auf das Stack und springt zu einer Prozedur, die den Unterbruch bearbeitet.
Der Sprachverarbeiter arbeitet im Unterbruchsmodus 2 des Z 80, und erhält Unterbruchsbefehl von den folgenden Geräten, welche in der Reihenfolge ihrer Unterbruchspriorität aufgezählt sind.
1. CTC Kanal 0 Blockzählung - dieser Kanal erzeugt einen Unterbruch wenn die akustische Schaltung gerade mit der Aufnahme oder dem Abspielen eines Puffers mit digitalisierten Audiosignalen fertig ist.
2. CTC Kanal 1 Telephonaufruf - dieser Kanal erzeugt ei nen Unterbruch jedes Mal wenn das Telephon klingelt.
5
10
15
20
25
30
35
40
45
50
55
60
65
663 485
4
3. CTC Kanal 2
4. CTC Kanal 3
Anschlag - der Sprachverarbeiter programmiert diesen Kanal, so dass er jedes Mal dann einen Unterbruch erzeugt, wenn ein Anschlag der Tastatur empfangen wird.
Takter - der Sprachverarbeiter programmiert diesen Kanal, um alle 10 Millisekunden (0,010 Sekunden) einen Unterbruch zu erzeugen.
Die Adressen der Unterbruchsverarbeiter für obige Geräte sind im Gedächtnis in einer Vectortabelle für die Unterbrüche enthalten. Wenn irgendeines der obigen Geräte einen Unterbruch erzeugt, wird die entsprechende Adresse in der Tabelle der Unterbruchsvectoren aufgerufen.
Es befinden sich die Unterbruchsverarbeiter in zwei Einheiten, der Unterbruchseinheit und der Eingang-Ausgangeinheit.
Es ist die Unterbruchseinheit einfach ein Bündel von Routinen auf Assemblerniveau, nämlich eine für jedes der unterbrechenden Geräte. Sie retten alle die Register auf dem Stack, rufen eine PLM Prozedur auf, und stellen dann die Register wieder her, aktivieren die Unterbrüche und kehren zurück. Die Verarbeiter sind:
Audio: CTC Kanal 0 Verarbeiter, ruft die PLM Pro zedur AUDIOSINTERUPT.
Klingel: CTC Kanal 1 Verarbeiter, ruft die PLM Pro zedur RING$INTERUPT auf.
KEYHNDLR: CTC Kanal 2 Verarbeiter, führt ein IN (00) durch um eingegebene Tastaturanschläge zu erhalten, speichert diese in einer variablen RAWKEY, und ruft die PLM Prozedur GOTSKEY auf.
Takter: CTC Kanal 3 Verarbeiter, ruft die PLM Pro zedur TEN$MS$TIMER auf.
Es enthalten die Ein- Ausgangsverarbeitungsmodule PLM-Prozeduren, welche den Grossteil der Unterbruchs Verarbeitung besorgen. Zudem sind darin noch diverse weitere Routinen enthalten. Die Unterbruchsroutinen sind nachstehend kurz beschrieben:
RINGSINTERUPT:
GOTSKEY:
TENSMSSTIMER:
Fügt an die Warteschlange eine Prozedur an, welche folgenden Text zur Anzeige bringen wird 'Ihr Telephon klingelt, bitte drücken Sie TAB'.
Wird meist nur die Prozedur KEYSDISPATCH an die Warteschlange anschliessen. Der Tastaturanschlag selbst wird von KEYSDISPATCH behandelt.
Ruft andere PLM Prozeduren auf, was die periodische Prüfung gewisser Bedingungen bewirkt.
Sozusagen alle Funktionen des Sprachverarbeiters werden initialisiert wenn der Benützer eine Taste drückt. Der Sprachverarbeiter verwendet einen tabellengesteuerten Mechanismus um zu beschliessen, welche Prozedur in Beantwortung des Anschlages einer gewissen Taste aufgerufen werden soll.
Die Tasten der Arbeitsstelle sind in 16 verschiedene Klassen aufgeteilt. Jeder Klasse ist eine Zahl zwischen 0 und 15 zugeordnet. Keine Taste kann in mehr als einer Klasse liegen. Die Nummern der Klassen und die Tasten jeder Klasse sind im folgenden aufgezählt.
Klassen-Nummer
1
s 2
3
4
io
20
25
9
10
11
12
13
14
15 0
Beschreibung
Aufnahme
Stop
Start/Stop Schirm-Markierung
Sprünge
Zahlen
Text
Rückschalten Kennzeichen Umnumerieren Abändern
Ausführen
Löschen
Bedienungshilfe
Telephon
Ungültig
Tasten
INSERT
STOP
Abstand, (HOME)
Markierung nach:
Norden, Osten, Süden, Westen
Sprung auf Seite
0 bis 9
A - Z, a - z,
Komma, Punkt, ! #$%£&*()-= +][;:'"/?
Rücktaste
Wagenrücklauf, Anmerkung
ELETE, REPLIC,
MOVE, COPY
EXECUTE
CANCEL
COMMAND, (HELP)
TAB
Alle anderen Tasten.
Es besteht eine Übersetzungstabelle, die ursprünglich ver-35 drahtete Tastencode in die entsprechende Klassennummer (0 -15) übersetzt. Diese Tabelle befindet sich im Sektor 0 der Datei ' VOICE.CLASSTBL'. Der Sektor 1 dieser Datei enthält die standardmässige Übersetzungstabelle für pre-WISCII Tastatur. Es muss bemerkt werden, dass die Klassentabelle von der Um-40 Schaltung unabhängig ist. So liegen beispielsweise sowohl CANCEL wie SHIFT CANCEL in der Lösch-Klasse (13). Dies berührt jedoch nicht die gross- und kleingeschriebenen Buchstaben, da sich beide in der Text-Klasse (7) befinden.
Es ist der Verarbeiter in verschiedene Funktionszustände 45 aufgeteilt. Die Tasten können je nach dem laufenden Zustand verschiedene Bedeutungen haben, und daher ist für jeden Zustand eine Prozedurtabelle definiert. Diese Prozedurtabellen werden Zustandstabellen genannt. Die Zustandstabellen sind im Modul für Zustandstabellen definiert.
so Die Zustandstabellen des Sprachbearbeiters enthalten Indexe für eine grosse Prozedurtabelle. Diese Tabelle kann in einem mit 36 Eingängen versehenen Modul der Routinetabelle gefunden werden.
Beim ersten Aufruf des Verarbeiters ist der Hauptzustand 55 der laufende Funktionszustand. Wenn neue Funktionszustände wirksam werden, dann werden die alten Zustände zusammen mit einem Index der jeweiligen Lage der Markierung auf dem Bildschirm, auf einem Zustands-Stack abgelegt. Nehmen wir beispielsweise an, dass der Benützer die Löschtaste drückt, 60 während sich die Anlage im Hauptzustand befindet. Der Hauptzustand wird dann auf den Zustand-Stack abgelegt, und der Zustand zur Definition von Segmenten wird zum laufenden Zustand. Die Aufforderung «Was Löschen?» erscheint auf dem Bildschirm.
65 Nehmen wir jetzt an, der Benützer drücke die Taste
«Sprung auf Seite». Dann wird der Zustand zur Definition von Segmenten auf den Stack abgelegt, und die Aufforderung wird auch auf den Zustands-Stack abgelegt. Der neue Zustand ist
5
663 485
der Sprung Zustand. Die Anforderung «Sprung Wohin» erscheint auf dem Schirm. Dann gibt der Benützer eine Zahl ein und drückt die Taste EXECUTE. Es wird eine Prozedur für das Springen auf die Zahl aufgerufen.
In diesem Augenblick werden der Zustand zur Definition eines Segmentes und die Aufforderung vom Stack heruntergeschoben. Es wird die Aufforderung «Was Löschen?» wieder auf dem Schirm erscheinen. Der Benützer drückt die Taste EXECUTE, und es wird eine Prozedur zum Löschen des bezeichneten Teiles der Sprechdatei aufgerufen. Darnach wird der Hauptzustand vom Stack geschoben, und wir befinden uns wieder im ursprünglichen Funktionszustand.
Zusätzlich zu den Zustandstabellen selbst enthält das Modul der Zustandstabellen auch noch Prozeduren zur Bearbeitung des Zustands-Stack. Diese Prozeduren sind:
INITSSTATE: Zustands-Stack initialisieren.
NEW$STATE: Legt den alten Zustand auf dem Stack ab, und macht den genannten Zusand zum laufenden Zusand.
POPSSTATE: Schiebt einen Zustand vom Stacks, wodurch er zum laufenden Zustand wird.
Es enthält das Modul für Zustandstabellen eine Routine welche, wenn eine Klassennummer gegeben ist, die Adresse der Prozedur liefert, die dem laufenden Zustand dieser Klasse entspricht:
ROUTINESADDR: Eine Klasse sei gegeben, dann sucht diese Prozedur in der laufenden Zustandstabelle die Adresse der Prozedur, welche dieser Klasse entspricht.
Der Entscheid eine bestimmte Prozedur aufzurufen ist folgen-dermassen zusammengefasst:
1) Unterbruch durch Tastenanschlag
2) KEYHNDLR rettet Register, legt den fest verdrahteten Tastencode in der variablen RAWKEY fest, und ruft den GOTSKEY auf.
3) GOTSKEY führt folgendes durch:
a) Abbruch bei tödlichem Irrtum.
b) Rohe Ausgabe falls SHIFTSPAGE eingetippt wurde.
c) Falls die vorhergehende Taste noch nicht verarbeitet wurde, wird diese ausgelassen.
d) Adresse der Prozedur KEYSDISPATCH zusammen mit dem Parameter RAWSKEY an die Routine-Warteschlange anfügen.
4) KEYSDISPATCH wird aus der Routineschlange entnommen und ausgeführt, unter Durchführung des folgenden:
a) Übersetzung der Tastenbezeichnung, unter Verwendung der Übersetzungstabelle.
b) Finden der Klassennummer für die Taste, unter Verwendung der Klassentabelle.
c) Falls das höchste Bit der Klassennummer Null ist, einklinken dieses Anschlages.
d) Löschen etwaiger Fehlanzeige.
e) Ausschalten der Akustik, ausgenommen für die RETURN und die Ein/Aus-Klasse.
f) Aufruf von ROUTINESADDR, und Übergabe der Klasse an dieselbe, um die Adresse der zu erreichenden Prozedur zu erhalten.
g) Anfügen der Adresse dieser Prozedur und der übersetzten Tastenbezeichnung in die Routineschlange.
5) Es wird die geeignete Routine zusammen mit der übersetzten Tastenbezeichnung aus der Warteschlange entnommen und durchgeführt.
Weitere Prozeduren können grob in zwei Teile geteilt werden. Es gibt für jede Datenstruktur Module der unteren Stufen, welche Operationen an diesen Strukturen vollführen. Typische Module der tiefen Stufe sind die Dateiindexe (akustische Index, Kennzeichentabelle, Anmerkungstabelle), akustische Funktionen, und der Bildschirm.
Den zweiten Teil bilden die Routinen der höheren Stufe. Diese Prozeduren werden in der Regel durch den Tastenanschlag-Weiterleitungsmechanismus aufgerufen (ihre Adressen befinden sich in der Routinentabelle) und rufen ihrerseits die Routinen der niedrigeren Stufe auf, welche den Grossteil der Arbeit machen. Sie können daher als eine Schnittstelle zwischen den Routinen zur Bearbeitung der Tastenanschläge und den Routinen der unteren Stufen betrachtet werden.
Das Modul der Benützerschnittstelle (V:voice.rrr.plm.ve. userint) enthält Prozeduren der höheren Stufe für akustische Verarbeitung, das Markieren von Abschnitten und das Umnumerieren:
PLAYSSTOP: Er wird immer dann aufgerufen, wenn ei ne Taste der Ein/Aus-Klasse betätigt wird. Wenn die akustische Bearbeitung in diesem Augenblick ausgeschaltet ist, bewegt die Prozedur die Markierung an den Beginn des nächsten Akustikabschnittes und beginnt mit dem Abspielen. Falls die akustische Bearbeitung in diesem Augenblick aufnimmt oder abspielt hält die Prozedur die akustische Verarbeitung an.
INSERTSMARK: Wird aufgerufen wenn eine Taste der Kennzeichenklasse angeschlagen wird.
Falls eine Abschnittskennzeichnung eingegeben wurde, bestimmt die Prozedur ihre genaue Stellung auf dem Bildschirm und ruft das Modul mit der passenden Fensterroutine auf, um die Markierung einzutragen. Falls die NOTE Taste gedrückt wurde, prüft die Routine ob sich die Markierung in diesem Augenblick auf einer Fussnote befindet. Falls nicht, wird eine solche geschaffen. In beiden Fällen wird in den Textmodus gegangen.
RENUMBER: Wird aufgerufen wenn eine Taste der Um-
numerierungsklasse gedrückt ist. Der Verarbeiter wird in den Umnumerierungszu-stand gebracht, und die Aufforderung «Umnumerierungsmarken?» wird angezeigt.
RENSEXECUTE: Wird aufgerufen wenn im Umnumerie-rungszustand die Taste EXECUTE gedrückt wird. Es wird eine Tabellenprozedur zum Umnumerieren der Marken aufgerufen, der Bildschirm neu aufgefüllt und der vorhergehende Zustand vom Stack abgerufen.
RENSCANCEL: Wird aufgerufen, wenn im Umnumerie-
rungszustand die Taste CANCEL gedrückt wird. Dies ruft den vorhergehenden Zustand vom Stack ab.
Das Rücktastenmodul führt das Rückschalten durch. Ein Druck auf die Rückschaltetaste bewirkt dass die Markierung um fünf Sekunden zurückversetzt wird und dass während fünf Sekunden abgespielt wird. Einmaliges Drücken bewirkt dass die Markierung fünfmal N Sekunden zurückversetzt wird, und dass die gleiche Zeitlänge abgespielt wird. Während des Abspielens stoppt der Druck auf irgendeine Taste das Abspielen, wodurch die Rückschaltfunktion völlig annulliert wird. Wenn die Rück5
10
15
20
25
30
35
40
45
50
55
60
65
663 485
6
schalttaste gedrückt ist, vergehen 350 Millisekunden bevor mit dem Abspielen begonnen wird. Dadurch wird dem Benützer Zeit gelassen, die Rückschalttaste mehrmals zu drücken, bevor das Abspielen beginnt. Das Rücktastenmodul verwendet zur Durchführung dieser Funktionen drei Variablen:
bsSmode ist WAHR wenn zurückgetastet wird,
und andernfalls FALSCH.
bsStime Die Zeit der Markierung, in dem Au genblick wo der Benützer zuerst die Rücktaste drückt. Gleichgültig wie oft die Taste gedrückt wird, wird bis zu dieser Stelle abgespielt, und nicht weiter.
bs$play$cnt Ein durch die ten$ms$timer abwärts geschalteter Zähler. Wird verwendet um die Wartezeit von 350 Millisekunden abzuzählen.
Die Rückschaltfunktion liefert die folgenden Prozeduren:
BS: Wird aufgerufen wenn die Rück schalttaste gedrückt wird. Wenn sie zum ersten Mal gedrückt wird, wird das bsSmode auf WAHR gesetzt, und bs$time gespeichert. Es wird bsSwaitStime auf 350 Millisekunden initialisiert.
BSSWAITSCOUNTER: Wird alle zehn Millisekunden durch TEN$MS$TIMER aufgerufen. Diese Prozedur erniedrigt bs$wait$time und nachdem 350 Millisekunden abgelaufen sind, fügt es an die Warteschlange eine Routine an, die von der laufenden Stellung der Markierung bis zu bsStime abspielen wird.
BSSKEYSCHECK: Diese, von KEYSDISPATCH aufgerufene Prozedur annulliert den Rückschaltmodus wenn eine andere Taste als die Rückschalttaste gedrückt wird.
Das Markierungsmodul setzt alle Markierungsfunktionen der oberen Stufe. Es sind diese Prozeduren wiederum nur Schnittstellen zwischen der Tastenbetätigungsverarbeitung und den Bildschirmroutinen, welche die Markierung effektiv auf dem Bildschirm bewegen.
CURSORSRTN: Wird in den meisten Zuständen dann aufgerufen, wenn eine Taste der Markierungsklasse gedrückt wird. Sie ruft nur eine der vier Bildschirmroutinen auf, in Abhängigkeit davon, welche Markierungstaste gedrückt wurde.
GO$TO$RTN: Wird bei Druck auf die GO TO PAGE Taste aufgerufen. Schiebt den alten Zustand auf das Stack, und bewirkt dass der laufende Zustand der 'go to' Zustand ist. Zeigt die Aufforderung 'gehe wohin?' und positioniert die Markierung direkt hinter der Aufforderung. Es ist zu bemerken, dass bei Übersetzung eines Dateitextes diese Markierung am rechten Ende ausgerichtet sein sollte.
GO$TO$EXIT: Diese Prozedur wird aufgerufen, wenn CANCEL im GO$TO$STATE gedrückt wird. Sie setzt die Markierung in den Audioteil des Bildschirms zurück, und ruft den vorhergehenden Zustand vom Stack ab.
GO$TO$CURSOR: Wird aufgerufen wenn eine der
Markierungstasten im 'go to' Zustand gedrückt wird. Sie ruft eine der vier Bildschirmroutinen auf, in Abhängigkeit davon, welche Markierungstaste gedrückt wurde. Danach ruft sie GO$TO$EXIT auf, um in den vorhergehenden Zustand zurückzukehren.
GO$TO$ACCEPT$NUM: Wird aufgerufen wenn im 'go to'
Zustand eine Taste der Zahlenklasse betätigt wird. Diese Prozedur zeigt auf dem Schirm, gleich hinter der Markierung, die Zahl an und setzt die Stellung der Markierung neu.
GO$TO$EXECUTE: Wird aufgerufen, wenn im GOS-
TOSSTATE die Taste EXECUTE gedrückt wird. Wenn sich auf dem Schirm eine Zahl befindet, wird diese aus der ASCII-Kodierung in die binäre Form übersetzt, und es wird eine Bildschirmroutine aufgerufen um die Markierung unter das passende Zeichen zu setzen. Danach ruft die Prozedur GO$TO$EXIT auf, um in den vorhergehenden Zustand zurückzukehren.
Das Modul zur Texteingabe enthält Routinen zum Eingeben von Anmerkungen, während man sich im Textmodus befindet.
Es werden die folgenden Variablen verwendet:
textîbuffer (60) Puffer zum Aufbewahren der An merkung während ihrer Eingabe.
tindex laufende Stellung (0-59) im Textpuf fer.
tcursor gegenwärtige Stellung der Markie rung auf dem Bildschirm.
note$index Index innerhalb der Anmerkungsta belle zur Bestimmung der im Augenblick bearbeiteten Textanmerkung.
first Eine Flagge, WAHR wenn die einge gebene Anmerkung gerade erstellt wurde. Ist dies der Fall, dann wird diese Anmerkung gelöscht falls CANCEL gedrückt wird. Falls es eine alte, in Abänderung befindliche Anmerkung ist, dann bewirkt CANCEL nur, dass die Anmerkung in ihrer ursprünglichen Form erhalten bleibt.
Es werden die folgenden Routinen ausgeführt:
TEXT$SET$FIRST: Wird durch INSERTSMARK aufgerufen, um dem Texteingabemodul mitzuteilen, dass diese Anmerkung gerade eingefügt wurde.
TEXTSMODESENTER: Wird durch INSERTSMARK aufgerufen, wenn die Anmerkungstaste gedrückt wird. Dadurch wird der alte Zustand abgeschoben und ein neuer Textzustand kreiert. Die Aufforderung «Text Eingeben» wird ange5
10
15
20
25
30
35
40
45
50
55
60
65
7
663 485
zeigt. Es wird die Anmerkung aus der Anmerkungstabelle erfasst und in den Textpuffer abgelegt.
TXTSCANCEL: Wird aufgerufen, wenn im Textzu stand die Taste CANCEL gedrückt wird. Falls man daran war eine neue Anmerkung einzugeben, wird diese Anmerkung gelöscht. Andernfalls wird der Textpuffer annulliert, und der Schirm wird mit der alten, unveränderten Anmerkung beschickt. Es wird der vorhergehende Zustand wieder eingesetzt.
TEXT$EXECUTE: Wird aufgerufen wenn im Textzustand die Taste EXECUTE gedrückt wird. Ersetzt die alte Anmerkung durch den Inhalt des Textpuffers. Stellt den vorhergehenden Zustand wieder her.
TEXT$CURSOR: Wird aufgerufen wenn im Textzu stand eine Markierungstaste gedrückt wird. Bewegt die Markierung vorwärts oder rückwärts. Zeigt eine Fehlmeldung an, wenn an die Taste Markierung nach Norden oder Markierung nach Süden gedrückt wird.
TXT$BACK$SPACE: Wird aufgerufen, wenn im Textzustand die Rückschalttaste gedrückt wird. Bewegt die Markierung um eine Stelle zurück und löscht das Zeichen unter dem sie sich befindet.
TXT$ENTRY: Wird aufgerufen, wenn eine Taste in der Text-, Zahlen- oder Ein/AusKlasse gedrückt wird. Er liest das Zeichen in den Textpuffer und auf den Schirm ein, und bewegt die Markierung um eine Stelle vorwärts.
TEXT : Wird aufgerufen, wenn im 'Hauptzu stand' eine Texttaste gedrückt wird. Falls die Markierung sich auf einer Anmerkung befindet, wird in den Textmodus gegangen und die gedrückte Taste wird in den Textpuffer eingelesen, und auf dem Schirm angezeigt. Falls sich die Markierung nicht in einer Anmerkung befindet, wird die Bemerkung 'Markierung Bewegen' angezeigt.
Das Verarbeitungsmodul liefert eine Schnittstelle zwischen dem Tasteneingabe-Mechanismus und den Schirm und Dateiindex Routinen der niederen Stufe, welche die eigentliche Dateiverarbeitung besorgen.
Das Verarbeitungsmodul merkt sich, welche Teile der Datei verarbeitet werden. Es wird eine Punktstruktur verwendet, um Stellungen in der Datei zu charakterisieren. Diese Struktur hat die folgende Form:
Punkt-Struktur
(Zeit Adresse,
Index Byte)
wobei die Zeit die in der Datei abgelaufene Zeit ist, und wobei Index der Markierungsindex der laufenden Marke, oder falls sich keine Marke an dieser Stelle befindet, diejenige der nächsten Markierung in der Datei ist.
Es werden die folgenden Punkt-Strukturen verwendet, um während der Verarbeitung einzelne Stellen festzuhalten:
begpoint Anfang eines Segmentes das gelöscht/bewegt/ kopiert werden soll endpoint Ende eines Segmentes, das gelöscht/bewegt/ kopiert werden soll destpoint Zielpunkt für ein Bewegen/Kopieren.
Um einen Teil der Datei zu löschen wird das Segment zwischen begpoint und endpoint (inklusive) aus der Datei entfernt:
Um einen Teil der Datei zu bewegen oder zu kopieren wird das Segment zwischen begpoint und endpoint (inklusive) nach destpoint bewegt:
Beim Einsetzen in die Datei wird destpoint zum Einsetzpunkt. Das augenblickliche Ende der Datei in begpoint wird aufgenommen und am Ende der Datei gestartet:
Wenn der Benützer STOP drückt, benimmt sich das Programm wie oben beschrieben, und bewegt das durch (begpoint, endpoint) begrenzte Segment nach destpoint.
Um ein Segment der Datei zu ersetzen werden drei weitere Punktstrukturen verwendet:
rbegpoint enthält den Anfang des zu löschenden Segmentes, rendpoint enthält das Ende des zu löschenden Segmentes, rbegpoint enthält den Anfang des einzusetzenden Segmentes.
Der Ersatzvorgang arbeitet wie folgt: Zunächst wird der ersetzende Abschnitt zwischen begpoint und endpoint bestimmt. Nachdem der Abschnitt definiert ist, wird begpoint nach rdest'point und endpoint nach rendpoint kopiert, und es wird rbegpoint an das Ende der Datei gesetzt. Danach wird die übliche Einsetzprozedur durchgeführt, und am Ende der Datei aufgenommen. Falls STOP gedrückt ist, wird, wie beim Einsetzen, das neue Material, nämlich der Abschnitt (begpoint, endpoint) zur Einsetzstelle (destpoint) bewegt, womit das Einsetzen durchgeführt ist. Während des Ersetzens kann der Benützer einsetzen, abspielen, die Markierungstasten betätigen, und Abschnittsmarken sowie Textanmerkungen eingeben. Alle Ein-schübe werden in üblicher Weise durchgeführt, unter Verwendung von begpoint, endpoint und destpoint. Es sind natürlich alle Einschübe auf jenseits von rbegpoint beschränkt.
Falls der Benützer CANCEL drückt, wird das Ersetzen annulliert indem das Ende der Sprechdateizeit auf rbegpoint gesetzt wird, so dass die ursprüngliche Form der Datei wieder hergestellt ist.
Falls der Benützer die Taste EXECUTE drückt, wird der Ersatz so durchgeführt, dass zuerst der Abschnitt (rdestpoint, rendpoint) gelöscht wird, und danach rdestpoint auf destpoint und das Ende der Datei auf endpoint gesetzt wird, wonach das Einsetzen durch normale Verschiebung des Abschnittes (begpoint, endpoint) nach destpoint erreicht wird.
Das Modul für akustische Funktionen enthält Routinen zum Aufnehmen und Abspielen in und von Sprechdateien. Es benützt ein zugehöriges Modul, das Ein/Aus Modul, welches Datenstrukturen und Prozeduren enthält, die die Puffer und Warteschlange-Anfragen an die Steuerung verarbeitet.
Wenn aufgenommen oder abgespielt wird, müssen akustische Daten gepuffert werden, so dass das Abspielen oder Aufnehmen nicht dadurch unterbrochen wird, dass auf einen Ein-oder Auslesevorgang eines Puffers gewartet werden muss. Die Software der Stimmverarbeitungseinheit ist für den Gebrauch von mindestens zwei Puffern ausgelegt, es können jedoch mehr Puffer verwendet werden, wenn es der Platz erlaubt. Zurzeit verwendet die Stimmverarbeitungseinheit sechs akustische Puffer.
Der Stimmverarbeiter verwendet Puffer welche eine Länge von 1 bis 16 Sektoren haben. Diese Puffer sind seitenweise
5
10
15
20
25
30
35
40
45
50
55
60
65
663 485
8
im Speicher angeordnet. Jeder Puffer entspricht einem akustischen Block in der Stimmdatei. Das Ein/Ausgangsmodul enthält als Informationsstrukturen bezeichnete Strukturen, welche die akustischen Puffer steuern. Das Ein/Ausgangsmodul enthält eine Ein/Ausgangs-Warteschlange, welche verwendet wird, um RCBs aufzureihen. Der Zehnmillisekunden-Takter prüft diese Schlange alle 10 Millisekunden. Falls sich etwas in der Schlange befindet, wird die Takterprozedur selbst die Anfrage aus der Schlange entnehmen und sie der Steuerung vorzeigen.
Es verwendet die Ein/Aus Anfrageschlange die folgenden Datenstrukturen :
queue eine Tabelle von Adressen, dies ist die Ein/Aus Anfrageschlange.
top Index des Oberteils der Schlange.
bottom Index des unteren Endes der Schlange.
count die Anzahl Elemente in der Schlange.
Die folgenden Routinen verarbeiten die Warteschlange.
IOSPUSH:
POP$AND$SEND :
schiebt die Adresse eines RCB auf die Ein/Aus Anfrageschlange.
falls sich etwas in der Schlange befindet und das SCA klar ist, wird die RCB Adresse aus der Schlange entnommen und in das SCA eingelesen. Diese Prozedur wird immer dann eingelesen, wenn man etwas zum ersten Mal an die Warteschlange anfügt (versucht es sofort wieder abzurufen). Es wird ausserdem alle zehn Millisekunden durch die Prozedur TENSMSSTIMER aufgerufen.
Da der Stimmverarbeiter nur aufgenommene Daten einfügt, wird er nicht durchstreichen, und die Aufnahme wird immer am Ende der Datei beginnen. Eingesetzte Daten werden am Ende der Datei aufgenommen, und dann zur Einsetzstelle verschoben.
Für die Aufnahme werden die folgenden Schritte durchgeführt:
1) Start mit der sechsten Informationsstruktur.
a) Einsetzen der ersten Pufferadresse b) Einsetzen der Puffergrösse c) wenn im letzten Block der Datei eingesetzt wird, wird die Stop Flagge gesetzt.
2) Zuführen der Adresse des ersten Puffers an die Hardware.
3) Der Hardware den Anfang der Aufnahme zu befehlen.
4) Durchführen der folgenden Prozedur:
a) der Hardware die Grösse des Puffers mitteilen, in welchen sie momentan einliest.
b) eine Einleseanfrage für den vorhergehenden Puffer in die Schlange anfügen, falls dies nicht der erste Puffer ist.
c) wenn für diesen Puffer die Stop Flagge gesetzt ist, dann stoppen.
d) prüfen um sicherzustellen, dass alle vorhangehenden Anfragen für Einlesen in diesen Puffer befriedigt wurden, und widrigenfalls die akustische Verarbeitung unterbrechen bis die Anfragen behandelt wurden.
e) das RCB für diesen Puffer auffüllen.
f) die Variablen so erhöhen, dass die Bereitschaft zum Verarbeiten des nächsten Puffers hergestellt ist.
Nachdem die Hardware das Einlesen in den ersten Puffer beendet hat, wird ein Blockzählungsunterbruch erzeugt (CTC Kanal 0). Wenn dies geschieht, wird die Prozedur AUDIOÎ-INTERUPT aufgerufen. Diese Prozedur prüft ob ein Abspieloder ein Aufnahme-Modus in Kraft ist, und ruft eine Abspieloder Aufnahme-Unterbruchsprozedur auf. Der obige Schritt 4 ist die Aufnahme-Unterbruchsprozedur RECORD$INTERUPT. Bei fortschreitender Aufnahme wird sie jedesmal aufgerufen, 5 wenn ein Puffer abgefertigt ist.
Das Abspielen spricht der Aufnahme. Es wird einige Initialisierung durchgeführt, und dann der Hardware mitgeteilt, dass das Abspielen begonnen werden soll. Es wird sofort die PLAYSINTERUPT Routine aufgerufen. So wie jeder Puffer io abgespielt ist, wird PLAYSINTERUPT wieder aufgerufen, um den nächsten Puffer für das Abspielen vorzubereiten, und eine Anfrage in die Warteschlange einzufügen, um einen weiteren Puffer von der Speicherplatte abzulesen.
Bei der Aufnahme wird die Abtastfrequenz immer entspre-15 chend SMPSRATE gesetzt, welches die Abtastfrequenz bestimmt. Während des Abspielens kann jedoch die Abtastrate geändert werden. Alle zehn Millisekunden wird die Prozedur SETSRATE durch den TEN$MS$TIMER aufgerufen. Diese Prozedur ruft eine Routine auf, um die laufende Einstellung 20 der Geschwindigkeitskontrolle auf den passenden Wert der Abtastfrequenz zu setzen. Es wird dann der Hardware der Wert dieser Abtastfrequenz zugeführt.
Der Bildschirm des Stimmverarbeiters ist in zwei Teile geteilt, den Zustandsteil und den Akustikmarkierungsteil. Der Zu-25 standsteil besteht aus den ersten zwei und der letzten Zeile des Schirmes. Diese Stellen werden zur Anzeige von Aufforderungen, der Markierungszeit, der Länge usw. verwendet. Der Akustikmarkierungsteil besteht aus den Zeilen 3 bis 21 und wird verwendet um den Inhalt der Stimmdatei, d.h. des akustischen 30 Blocks, Textanmerkungen und der Abschnittsmarken, anzuzeigen.
Das Anzeigemodul steuert den Zustandteil des Bildschirmes. Zusätzlich befinden sich in diesem Modul alle MENUPACK Prozeduren. Es enthält Prozeduren zum Initialisieren des fol-35 genden: menupack, Anzeige der Markierungszeit, akustischer Modus, Hilfsanzeigen, Telephonmodus, Titel, Aufforderungen, Länge und Fehlmeldungen.
Das Fenstermodul enthält Routinen zum Anzeigen und zum Auffrischen des Akustikmarkierungsteiles des Schirmes. Dieses 40 Modul wird durch folgende Module unterstützt:
Umformen (V:voice.rrr.plm.ve. Lage-Änderungsroutinen convert)
Zeit (V:voice.rrr.plm.ve. Zeit-und Lage-Änderungstime) routinen
Zeile (V:voice.rrr.plm.ve. Zeilenformat-Bearbeitung line)
Ort (V:voice.rrr.plm.ve. Index-Aufsuchen région)
blättern (V:voice.rrr.plm.ve. Fenster-Bearbeitung der scroll)
unteren Stufe.
Die Stimmdatei umfasst einen Kopf, eine Markierungstabelle, eine Anmerkungstabelle, einen Sektor-Plan und einen Block-Plan. Die folgenden Module enthalten Module zum Aufrufen der Stimmdatei:
fileindx (V:voice.rrr.plm.ve. Datei-Index aufstellen fileindx)
editindx (V:voice.rrr.plm.ve. Datei-Index abändern editindx)
mark (V:voice.rrr.plm.ve. Marken-Tabelle aufstellen mark)
note (V:voice.rrr.plm.ve. Anmerkungs-Tabelle auf-
note)
stellen
9
663 485
voicegrm extend fatal
(V:voice.rrr.plm.ve. Stimmdatei : Routinen für voicegrm) Aufstellung, Initialisieren und Ausputzen
(V:voice.rrr.plm.ve. Erweitern und Beschneiden extend) der Stimmdateien
Tödlicher Fehler, ABEND-Verarbeitung.
INFORMSERROR:
Das Fehlermodul enthält Prozeduren für ABEND, tödliche und nicht tödliche Fehler. Eine Flagge, DUMPFLAG, die in die Verbindung gesetzt ist, wird verwendet um zu bestimmen, ob ein Fehler zu einem Rohausdruck führt oder nicht. Wenn DUMPFLAG auf OFFh steht, dann werden Rohausdrucke aktiviert. Wenn sie auf 0 steht, dann werden Rohausdrucke unterdrückt.
Die ausgeführten Prozeduren sind:
NON$FATAL$ERROR: Listet aus wenn die Flagge gesetzt ist, zeigt einen VE Fehler an: XXX, wobei XXX eine durchgegebene Fehlernummer ist. Diese Fehlernummern werden in (V:voice.rrr. lit.ve.ERR) definiert. Zeigt auch einen 16 Byte langen Datenabschnitt (in der Regel an RCB) wenn es als Parameter durchgegeben wird.
Zeigt eine nicht-VE Fehlermeldung an; beim Drücken irgendeiner Taste kehrt es zum aufrufenden Teil zurück. Nicht-VE Fehlermeldungen sind einfach die Standardfehler, wie etwa «Markierung Bewegen», welche im unteren Teil des Bildschirmes angezeigt werden. Diese werden in (V:voice.rrr.lit.ve.MERROR) definiert.
Ist mit NON$FATAL$ERROR identisch, ausser dass dieser Fehler nicht korrigierbar ist. Nachdem der Benützer irgendeine Taste gedrückt hat, kehrt der Verarbeiter zum aufrufenden Teil zurück.
Der Wiederherstellungsprozess des Stimmverarbeiters wird bei Netzunterbrüchen oder zufälligen IPLs während des Aufnahmevorganges eine Wiederherstellung bewirken. Es verwendet der Stimmverarbeiter einige gemeinsame Datenstrukturen, und es enthalten drei Module Routinen, um diese Strukturen zu verarbeiten.
Die Routine-Warteschlange verwendet folgende Prozeduren:
FATALSERROR:
QUESINIT: Dieser Prozedur definiert eine Warteschlange. Der Benützer gibt die Adresse der Schlange, die Grösse der Schlange, die Grösse jedes Elementes darin, und einen Zeiger an, der auf eine Struktur hinweist, die alle wesentlichen Charakteristiken der Schlange enthält. Diese Struktur identifiziert die Schlange. Sie muss als Parameter den Einfüge- und Abrufroutinen zugeführt werden, die weiter unten beschrieben sind.
QUE$PUSH: Diese Prozedur fügt ein Elemente an eine be-stimmte Schlange an.
QUESPOP: Diese Prozedur ruft ein Element vom Kopf einer bestimmten Schlange ab.
Das Stackmodul (V:voice.rrr.plm.ve.Stack) ist eine Stack-Ausführung mit Einfüge- und Abrufroutinen. Es verwendet das Stack des Zustandstabellenmoduls Prozeduren aus dem Stackmodul, um den Zustandsstack aufzustellen. Im Gegensatz zum Warteschlangenmodul, können die Routinen des Stackmoduls nur auf ein bestimmtes Stack einwirken, welches folgendermas-sen im Modul bestimmt ist:
15
Stack (12) Byte Das ist der für das Stack reservierte
Raum.
sp Der Zeiger des Stacks.
20 Zwei Routinen bearbeiten das Stack:
PUSH: Legt ein Element auf das Stack ab.
POP: Ruft ein Element vom Stack ab.
25
Es kann das Modul für den Bitplan (V:voice.rrr.plm.ve.bit) in einer durch den Benützer bestimmten Bitaufzeichnung Bits setzen, löschen und testen. Die Aufzeichnung kann nicht mehr als 256 Bytes umfassen. Die Tabelle der Marken verwendet eine Bitaufzeichnung, um die Nummer der nächsten zu schaffenden Abschnittsmarke zu bestimmten. Das Modul für die Verarbeitung der Dateiindexe verwendet eine Bitaufzeichnung, um alle freien Blocks im Index so zu ordnen, dass die Dateierweiterungen optimal durchgeführt werden. Das Modul für Bitaufzeichnungen enthält folgende Prozeduren:
BITSSET: Setzt ein Bit in einer Bitaufzeichnung.
BITSCLR: Löscht ein Bit in einer Bitaufzeichnung.
BITSTEST: Prüft ein Bit um zu sehen, ob es gesetzt oder gelöscht ist.
Es sind alle PLM INPUT und OUTPUT Bestimmungen für den Stimmverarbeiter im Hardware-Modul für akustische Steuerung (V:voice.rrr.plm.ve.audioctl) enthalten. Dieses Modul enthält kleine Prozeduren welche als Schnittstelle zwichen der Hardware und dem Hauptteil des PLM Code des Stimmverarbeiters wirken.
Das Modul zum Setzen des Unterbruchsmoduls (V:voice, rrr.z80.ve.setimode) enthält zwei Prozeduren, eine um die Anlage in den Unterbrechungsmodus 2 zu setzen, und die andere so um sie in den Unterbrechungsmodus 0 zurückzusetzen. Die PLM Routinen INITSWORKSTATION und RESETSWORK-STATION, welche sich im Modul für akustische Steuerung befinden, rufen die zwei Routinen im Modul für das Setzen von Unterbrechungsmoden auf. Es enthalten die allerersten Bytes 55 dieses Moduls die Unterbrechungstabellen für das CTC und das PIO. Diese Tabellen müssen im Speicher auf einer Grenze liegen, die durch einen Faktor 8 bestimmt ist, und es muss daher in dem Zusammenstellungsplan dafür Sorge getragen werden, dass dies der Fall ist.
v
1 Blatt Zeichnungen

Claims (7)

663 485
1. Informationsverarbeitungsanlage für Dokumente, die sowohl Text-Bestandteile wie gesprochene Bestandteile aufweisen, mit Anzeigemitteln (31) zur Anzeige eines Ausschnittes eines dieser Dokumente, dadurch gekennzeichnet, dass die Anzeigemittel folgende Teile aufweisen:
- Textanzeigemittel (92) zur Darstellung eines zum Ausschnitt gehörigen Textbestandteiles,
- eine Sprachbestandteil-Anzeige (90) zur Kennzeichnung der Lage eines gesprochenen Bestandteiles, welcher zum Ausschnitt gehört, auf den sich der Textbestandteil bezieht, und
- eine Sprechdauer-Anzeige (91) zur Anzeige der zeitlichen Dauer des gesprochenen Bestandteiles.
2. Informationsverarbeitungsanlage nach Anspruch 1, gekennzeichnet durch eine bewegliche Markierung (94), um innerhalb der Sprechdauer-Anzeige eine augenblickliche Lage zu markieren, die der augenblicklichen Stellung innerhalb der Sprachbestandteil-Anzeige entspricht.
2
PATENTANSPRÜCHE
3. Informationsverarbeitungsanlage nach Anspruch 2, dadurch gekennzeichnet, dass die Anzeigemittel Zeiger-Steuerungsmittel (16) aufweisen, und dass sich sowohl die Markierung, wie die durch diese markierte augenblickliche Lage und auch die entsprechende augenblickliche Stellung in Abhängigkeit der Zeiger-Steuerungsmittel bewegen.
4. Informationsverarbeitungsanlage nach Anspruch 2, dadurch gekennzeichnet, dass die Markierung ausserdem eine augenblickliche Lage in den Textanzeigemitteln markiert, wobei sich die augenblickliche Stellung im Text-Bestandteil befindet, und dass die Informationsverarbeitungsanlage folgende Teile aufweist:
- Befehls-Eingabemittel (16) zur Eingabe einer entweder an einem Text-Bestandteil oder an einem gesprochenen Bestandteil durchzuführenden Operation, und
- Befehls-Ausführungsmittel (26), welche in Abhängigkeit des Befehles und der augenblicklichen Stellung die befohlene Operation am Text-Bestandteil und/oder am gesprochenen Bestandteil in einer dem betreffenden Bestandteil angepassten Weise durchführen.
5. Informationsverarbeitungsanlage nach Anspruch 4, dadurch gekennzeichnet, dass die Befehls-Ausführungsmittel eingerichtet sind, um eine Änderungs-Operation am Text-Bestandteil und/oder am gesprochenen Bestandteil durchzuführen.
6. Informationsverarbeitungsanlage nach Anspruch 4, dadurch gekennzeichnet, dass die Befehls-Ausführungsmittel eingerichtet sind, um die am Text-Bestandteil oder am gesprochenen Bestandteil durchzuführenden Operationen innerhalb des betreffenden Bestandteiles an einer der Stellung der beweglichen Markierung entsprechenden Stelle durchzuführen.
7. Informationsverarbeitungsanlage nach Anspruch 2, dadurch gekennzeichnet, dass sie akustische Mittel (30, 14, 54, 56) zur Wiedergabe des Inhaltes eines Sprachbestandteiles aufweist, dass die Anzeigemittel ein Befehlseingabe-Organ (16) zum Empfang eine Wiedergabe-Befehles aufweisen, und dass die Anlage eingerichtet ist, um bei Empfang eines solchen Befehles den Inhalt des gesprochenen Bestandteiles, der die augenblickliche Stellung enthält, wiederzugeben, wobei die Wiedergabe bei dieser augenblicklichen Stellung beginnt.
CH5946/83A 1982-11-03 1983-11-03 Informationsverarbeitungsanlage fuer dokumente mit geschriebenen und gesprochenen bestandteilen. CH663485A5 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US06/439,210 US4627001A (en) 1982-11-03 1982-11-03 Editing voice data

Publications (1)

Publication Number Publication Date
CH663485A5 true CH663485A5 (de) 1987-12-15

Family

ID=23743752

Family Applications (2)

Application Number Title Priority Date Filing Date
CH5946/83A CH663485A5 (de) 1982-11-03 1983-11-03 Informationsverarbeitungsanlage fuer dokumente mit geschriebenen und gesprochenen bestandteilen.
CH2275/87A CH666973A5 (de) 1982-11-03 1983-11-03 Informationsverarbeitungsanlage fuer dokumente mit geschriebenen und gesprochenen bestandteilen.

Family Applications After (1)

Application Number Title Priority Date Filing Date
CH2275/87A CH666973A5 (de) 1982-11-03 1983-11-03 Informationsverarbeitungsanlage fuer dokumente mit geschriebenen und gesprochenen bestandteilen.

Country Status (12)

Country Link
US (1) US4627001A (de)
JP (1) JPS59135542A (de)
AU (3) AU565465B2 (de)
BE (2) BE898147A (de)
CA (1) CA1197319A (de)
CH (2) CH663485A5 (de)
DE (2) DE3339794A1 (de)
FR (1) FR2535490A1 (de)
GB (1) GB2129591B (de)
IT (1) IT1162986B (de)
NL (1) NL8303789A (de)
SE (3) SE8305885L (de)

Families Citing this family (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4914704A (en) * 1984-10-30 1990-04-03 International Business Machines Corporation Text editor for speech input
US4908866A (en) * 1985-02-04 1990-03-13 Eric Goldwasser Speech transcribing system
US4776016A (en) * 1985-11-21 1988-10-04 Position Orientation Systems, Inc. Voice control system
US4891835A (en) * 1986-04-30 1990-01-02 Dictaphone Corporation Method and device for recording and replaying audio communications
JPS62297930A (ja) * 1986-06-13 1987-12-25 インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション ワ−ド・プロセシング・システム
US4858213A (en) * 1986-08-08 1989-08-15 Dictaphone Corporation Display for modular dictation/transcription system
US4924332A (en) * 1986-08-08 1990-05-08 Dictaphone Corporation Display for modular dictation/transcription system
JPH065451B2 (ja) * 1986-12-22 1994-01-19 株式会社河合楽器製作所 発音訓練装置
US5179627A (en) * 1987-02-10 1993-01-12 Dictaphone Corporation Digital dictation system
GB2201862B (en) * 1987-02-10 1990-11-21 Dictaphone Corp Digital dictation system with voice mail capability
US5231670A (en) * 1987-06-01 1993-07-27 Kurzweil Applied Intelligence, Inc. Voice controlled system and method for generating text from a voice controlled input
US5008835A (en) * 1987-12-28 1991-04-16 Jachmann Emil F Method and apparatus for storing and forwarding voice signals and generating replies
DE3807851A1 (de) * 1988-03-10 1989-09-21 Grundig Emv Rechner, insbesondere personalcomputer, mit einem sprachein- und einem sprachausgabesystem
DE3927234A1 (de) * 1988-03-10 1991-02-21 Grundig Emv Rechner mit einem sprachein-/ausgabesystem und einer einrichtung zur akustischen und/oder optischen bedienerfuehrung
JPH02110658A (ja) * 1988-10-19 1990-04-23 Hitachi Ltd 文書編集装置
AT390685B (de) * 1988-10-25 1990-06-11 Philips Nv System zur textverarbeitung
US5204969A (en) * 1988-12-30 1993-04-20 Macromedia, Inc. Sound editing system using visually displayed control line for altering specified characteristic of adjacent segment of stored waveform
US5151998A (en) * 1988-12-30 1992-09-29 Macromedia, Inc. sound editing system using control line for altering specified characteristic of adjacent segment of the stored waveform
US5146439A (en) * 1989-01-04 1992-09-08 Pitney Bowes Inc. Records management system having dictation/transcription capability
US5010495A (en) * 1989-02-02 1991-04-23 American Language Academy Interactive language learning system
US4979216A (en) * 1989-02-17 1990-12-18 Malsheen Bathsheba J Text to speech synthesis system and method using context dependent vowel allophones
US5003574A (en) * 1989-03-30 1991-03-26 At&T Bell Laboratories Voice capture system
US5119474A (en) * 1989-06-16 1992-06-02 International Business Machines Corp. Computer-based, audio/visual creation and presentation system and method
JPH03163623A (ja) * 1989-06-23 1991-07-15 Articulate Syst Inc 音声制御コンピュータ・インターフェース
DE3921795C2 (de) * 1989-07-03 1995-03-16 Grundig Emv Textverarbeitungssystem mit gemeinsamer Steuereinheit für Schreib- und Diktiersystem
US5265014A (en) * 1990-04-10 1993-11-23 Hewlett-Packard Company Multi-modal user interface
US5684927A (en) * 1990-06-11 1997-11-04 Intervoice Limited Partnership Automatically updating an edited section of a voice string
US5265075A (en) * 1991-09-11 1993-11-23 Dictaphone Corporation Voice processing system with editable voice files
AU2868092A (en) * 1991-09-30 1993-05-03 Riverrun Technology Method and apparatus for managing information
DE69232396T2 (de) * 1991-12-10 2002-09-19 Khyber Technologies Corp Tragbares nachrichten- und planungsgerät mit basisstation
JP3026472B2 (ja) * 1991-12-31 2000-03-27 インターナショナル・ビジネス・マシーンズ・コーポレイション オーディオ出力を提供する方法及び装置
IT1256823B (it) * 1992-05-14 1995-12-21 Olivetti & Co Spa Calcolatore portatile con annotazioni verbali.
US5675709A (en) * 1993-01-21 1997-10-07 Fuji Xerox Co., Ltd. System for efficiently processing digital sound data in accordance with index data of feature quantities of the sound data
US5519808A (en) * 1993-03-10 1996-05-21 Lanier Worldwide, Inc. Transcription interface for a word processing station
US5675778A (en) * 1993-10-04 1997-10-07 Fostex Corporation Of America Method and apparatus for audio editing incorporating visual comparison
KR960012847B1 (ko) * 1994-05-06 1996-09-24 삼성전자 주식회사 멀티미디어 컴퓨터의 오디오데이타 입력장치
WO1996015522A1 (en) * 1994-11-14 1996-05-23 Norris Communications Corp. Method for editing in hand held recorder
US6073103A (en) * 1996-04-25 2000-06-06 International Business Machines Corporation Display accessory for a record playback system
US5970455A (en) * 1997-03-20 1999-10-19 Xerox Corporation System for capturing and retrieving audio data and corresponding hand-written notes
DE19728470A1 (de) * 1997-07-03 1999-01-07 Siemens Ag Navigationssystem mit regulierbarer Sprachausgabe
JP3417355B2 (ja) * 1999-08-23 2003-06-16 日本電気株式会社 音声エディット装置及びプログラムを記録した機械読み取り可能な記録媒体
US6614729B2 (en) * 2000-09-26 2003-09-02 David D. Griner System and method of creating digital recordings of live performances
US7366979B2 (en) * 2001-03-09 2008-04-29 Copernicus Investments, Llc Method and apparatus for annotating a document
US7979281B2 (en) * 2003-04-29 2011-07-12 Custom Speech Usa, Inc. Methods and systems for creating a second generation session file
US7369649B2 (en) * 2003-08-15 2008-05-06 Avaya Technology Corp. System and method for caller initiated voicemail annotation and its transmission over IP/SIP for flexible and efficient voice mail retrieval
US20050192820A1 (en) * 2004-02-27 2005-09-01 Simon Steven G. Method and apparatus for creating and distributing recordings of events
US9620107B2 (en) * 2012-12-31 2017-04-11 General Electric Company Voice inspection guidance

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3141069A (en) * 1959-04-07 1964-07-14 Edward L Withey Method of and apparatus for recording and reproducing information
US4144582A (en) * 1970-12-28 1979-03-13 Hyatt Gilbert P Voice signal processing system
BE759887A (fr) * 1969-12-05 1971-06-04 Dassault Electronique Installation a langage digital et a langage phonique
US3648249A (en) * 1970-12-08 1972-03-07 Ibm Audio-responsive visual display system incorporating audio and digital information segmentation and coordination
US3704345A (en) * 1971-03-19 1972-11-28 Bell Telephone Labor Inc Conversion of printed text into synthetic speech
US4057849A (en) * 1974-09-23 1977-11-08 Atex, Incorporated Text editing and display system
JPS5821729B2 (ja) * 1977-08-11 1983-05-02 株式会社リコー ワ−ド・プロセッサ
JPS5587199A (en) * 1978-12-26 1980-07-01 Tokyo Shibaura Electric Co Chineseecharacter input device through voice
US4305131A (en) * 1979-02-05 1981-12-08 Best Robert M Dialog between TV movies and human viewers
US4375083A (en) * 1980-01-31 1983-02-22 Bell Telephone Laboratories, Incorporated Signal sequence editing method and apparatus with automatic time fitting of edited segments
JPS56124947A (en) * 1980-03-05 1981-09-30 Yokogawa Hokushin Electric Corp Word processor
CA1169969A (en) * 1980-08-20 1984-06-26 Gregor N. Neff Dictation system and method
JPS5760466A (en) * 1980-09-30 1982-04-12 Toshiba Corp Japanese language word processor
AU546625B2 (en) * 1980-10-09 1985-09-12 Sony Corporation V.t.r. editing control
JPS5775349A (en) * 1980-10-28 1982-05-11 Nippon Telegr & Teleph Corp <Ntt> Japanese input device of voice recognition type
US4388495A (en) * 1981-05-01 1983-06-14 Interstate Electronics Corporation Speech recognition microcomputer

Also Published As

Publication number Publication date
GB8329136D0 (en) 1983-12-07
SE455650B (sv) 1988-07-25
JPS59135542A (ja) 1984-08-03
AU6957587A (en) 1987-06-11
AU593373B2 (en) 1990-02-08
DE3348195C2 (de) 1993-04-01
GB2129591B (en) 1986-04-03
BE898147A (fr) 1984-03-01
IT8368147A0 (it) 1983-11-03
SE8604731D0 (sv) 1986-11-05
IT1162986B (it) 1987-04-01
AU2091283A (en) 1984-05-10
FR2535490A1 (fr) 1984-05-04
SE8704774D0 (sv) 1987-11-30
SE8604731L (sv) 1986-11-05
SE8305885L (sv) 1984-05-04
CA1197319A (en) 1985-11-26
DE3339794A1 (de) 1984-05-03
AU565465B2 (en) 1987-09-17
GB2129591A (en) 1984-05-16
NL8303789A (nl) 1984-06-01
CH666973A5 (de) 1988-08-31
SE8305885D0 (sv) 1983-10-26
AU7603387A (en) 1987-10-22
BE906093A (fr) 1987-04-16
JPS6330645B2 (de) 1988-06-20
SE8704774L (sv) 1987-11-30
US4627001A (en) 1986-12-02

Similar Documents

Publication Publication Date Title
CH663485A5 (de) Informationsverarbeitungsanlage fuer dokumente mit geschriebenen und gesprochenen bestandteilen.
DE3789721T2 (de) Vielseitiger Unterrichtsimulator.
DE68926845T2 (de) Maschinenübersetzungssystem
DE3853753T2 (de) Verfahren und Vorrichtung zur Steuerung von Eingabevorgängen in einen Multi-Prozess-Rechner.
DE3887496T2 (de) Eingabeauswahlverfahren mit einer Tastatur.
DE3789724T2 (de) System zur Prüfung von interaktiver Software.
DE3115318C2 (de) Elektronisches Übersetzungsgerät
DE69229725T2 (de) Chordales tastaturverfahren und -vorrichtung
DE3587152T2 (de) System zur maschinellen uebersetzung.
DE2159848C2 (de) Textverarbeitungssystem mit einer Anzahl peripherer Diktateingabestellen
DE4436175B4 (de) Vorrichtung zum Fernzugreifen auf einen Computer ausgehend von einem Telefonhandapparat
DE69609866T2 (de) Flexibles system und verfahren zum verknüpfen von hyperlinks
DE69428868T2 (de) Verfahren und System zum Aufzeigen von Alternativen zur Auswahl durch Gebrauch von adaptiven Lernen
US4779209A (en) Editing voice data
DE68915847T2 (de) Tastatur-Umbelegung.
DE69617544T2 (de) Verfahren und -vorrichtung zur erzeugung eines mensch/maschine-dialogs mit bedienereingriff
DE69532883T2 (de) Mehrsprachige betriebs- und wartungsschnittstelle für eine fernmeldevermittlung
DE3855677T2 (de) Datenbehandlungssystem
DE1200581B (de) Programmunterbrechungssystem fuer eine elektronische Rechenmaschine
DE4225200A1 (de) Elektronisches woerterbuch
DE3240209A1 (de) Eingabeeinrichtung fuer einen elektronischen uebersetzer
DE3855426T2 (de) Korrekturunterstützungsgerät mit Dokumentenausgabe
DE68921352T2 (de) Hilfssystem, durch mehrere Anwendungen geteilt.
DE3602069A1 (de) Wortprozessor
DE2264184B2 (de) Elektrischer tischrechner

Legal Events

Date Code Title Description
PL Patent ceased
PL Patent ceased