-
Technisches
Gebiet
-
Die
Erfindung bezieht sich im Allgemeinen auf das Gebiet der Spracherkennung
und im Besonderen auf eine Eingabe aus mehreren Quellen und auf
das Wiedergabedienstprogramm eines Rechners mit Anzeige.
-
Hintergrund
der Erfindung
-
Seit
dem Erscheinen der Arbeitsplatzrechner fand die menschliche Interaktion
mit dem Rechner vorrangig über
die Tastatur statt. Wenn ein Benutzer Informationen in einen Rechner
eingeben will, tastet er diese Informationen typischerweise auf
einer an den Rechner angeschlossenen Tastatur ein. Weitere Eingabeeinrichtungen,
einschließlich
Maus, Berührungsfeldanzeige,
integrierter Zeigereinrichtungen und Scanner, haben die Tastatur
ergänzt.
Die Verwendung dieser weiteren Eingabeeinrichtungen hat die von
dem Benutzer aufgewendete Zeit für
das Eingeben von Daten oder von Befehlen in den Rechner verringert.
-
Ebenso
wurden rechnerbasierende Spracherkennung und Spracherkennungssysteme
für die Daten-
oder Befehlseingabe in einen Arbeitsplatzrechner verwendet. Die
Spracherkennung und die Spracherkennungssysteme wandeln die menschliche
Sprache in ein Format um, das ein Rechner verstehen kann. Wenn ein
Rechner mit einem Sprach- oder Spracherkennungssystem ausgestattet
ist, kann die Dateneingabe lediglich durch das Sprechen der Daten
in eine Eingabevorrichtung des Rechners durchgeführt werden. Typischerweise
ist die Geschwindigkeit, mit der ein Benutzer sprechen kann, höher als
die der konventionellen Dateneingabe. Deshalb ist die der Verbreitung
von Daten durch die menschliche Sprache inhärente Geschwindigkeit ein Vorteil
der Einbeziehung von Spracherkennung und von Spracherkennungssystemen
in die Arbeitsplatzrechner.
-
Die
erhöhte
Effizienz, mit der die Benutzer die mit Spracherkennung und mit
Spracherkennungssystemen ausgestatteten Arbeitsplatzrechner betreiben,
spricht für
die Verwendung solcher Systeme am Arbeitsplatz. Viele Arbeitnehmer
in den verschiedensten Industrien verwenden heute Spracherkennung
und Spracherkennungssysteme für
zahlreiche Anwendungen. Beispielsweise wurden Softwareprogramme
für Rechner,
die Spracherkennung und Spracherkennungstechnologien verwenden,
von DRAGON, IBM und LERNOUT & HOUSPIE
entwickelt. Wenn ein Benutzer ein Dokument laut liest oder in ein
Spracherkennungsprogramm diktiert, kann das Programm die gesprochenen
Worte des Benutzers direkt in ein Textverarbeitungsprogramm oder
in andere Anwendungen, die auf einem Arbeitsplatzrechner betrieben
werden, eingeben.
-
Rechnerbasierte
Spracherkennung oder rechnerbasierte Spracherkennungsprogramme wandeln
generell die menschliche Sprache in eine Reihe von digitalisierten
Frequenzen um. Diese Frequenzen werden mit zuvor gespeicherten Sets
von Wörtern
oder Sprachelementen, die Foneme genannt werden, verglichen.
-
Ein
Fonem ist die kleinste Einheit der Sprache, die in einer gesprochenen
Sprache einen Ton von dem anderen unterscheidet. Jedes Fonem kann ein
Allofon oder mehrere entsprechende Allofone enthalten. Ein Allofon
ist eine akustische Erscheinungsform eines Fonems. Ein bestimmtes
Fonem kann viele Allofone haben, von denen jedes, wegen der Position
des Fonems in einem Wort oder wegen der abweichenden Betonung in
einer Sprache mit dem gleichen Set von Buchstaben, geringfügig anders
klingt. Beispielsweise wird das Fonem /b/ in den Wörtern „boy" und „beyond" unterschiedlich
betont.
-
Das
Dienstprogramm verarbeitet diese Foneme und wandelt diese, basierend
auf der wahrscheinlichsten Textdarstellung der Foneme, auf eine Art
und Weise, die in der Technik wohlbekannt ist, in Text um. Dieser
Text wird dann innerhalb eines Textverarbeitungsprogramms oder innerhalb
einer anderen Anwendung, wie zum Beispiel einer Arbeitsblatt-Datenbank,
einem Web-Browser oder jedem anderen Programm, das in der Lage ist,
eine Spracheingabe zu empfangen und diese in angezeigten Text oder
in einen Programmbefehl umzuwandeln, angezeigt. Die Eingabe aus
mehreren Quellen und das Wiedergabedienstprogramm können die
Audiodaten speichern. Die Audiodaten können in einer Vielzahl von
Formaten und auf verschiedenen Speichermedien, ein schließlich eines
flüchtigen
RAMs, eines Langzeit-Magnetspeichers oder eines optischen Mediums,
wie zum Beispiel einer CD-ROM, gespeichert werden. Ferner können die
Audiodaten komprimiert werden, um die Speicherplatzanforderungen
zu minimieren. Das Dienstprogramm kann die gespeicherten Audiodaten
für die
zukünftige
Wiedergabe ebenso mit dem durch die Audiodaten erzeugten Text verknüpfen. Wenn
der Rechner die richtigen Übereinstimmungen
für die
Reihe von Frequenzen bestimmt, so wie in
US 5960 447 , ist die Rechnererkennung
für diesen
Abschnitt der menschlichen Sprache erreicht. Die Frequenzübereinstimmungen werden
kompiliert, bis ausreichend Information für den Rechner vorhanden ist,
um zu reagieren. Der Rechner kann dann durch das Speichern der Sprache
in einer Speichereinrichtung, das Umsetzen der Sprache als Text
in ein Dokument, das durch ein Textverarbeitungsprogramm manipuliert
werden kann, oder durch das Ausführen
eines Befehls in einem Anwendungsprogramm auf bestimmte gesprochene
Worte reagieren.
-
Natürliche Spracheingabesysteme
werden endgültig
auf den Markt drängen.
Solche Systeme machen es nicht erforderlich, dass der Benutzer auf eine
bestimmte Art und Weise spricht, damit der Rechner versteht, sondern
werden stattdessen in der Lage sein, den Unterschied zwischen einem
Befehl des Benutzers an den Rechner und der Information, die in
den Rechner einzugeben ist, zu verstehen.
-
Die
heutige Spracherkennung und die heutigen Spracherkennungssysteme
sind ohne diesen technischen Fortschritt nicht vollständig zuverlässig. Selbst
mit Hardware- und Softwaremodifikationen wird mit der kompetentesten
Spracherkennung und dem kompetentesten Spracherkennungssystem keine
größere Zuverlässigkeit
als von 97 % bis 99 erreicht. Interne und externe Faktoren können die
Zuverlässigkeit
der Spracherkennung und des Spracherkennungssystems beeinflussen.
Die Faktoren, die selbst von der Spracherkennung abhängig sind, umfassen
das endliche Set von Wörtern
oder von Fonemen, die der Sprache eines Sprechers inhärent sind,
und das Vokabular der Wörter,
mit denen die Spracherkennungssoftware die Eingabe des Sprechers
vergleichen kann. Umgebungsbedingte Faktoren, wie zum Beispiel regionale
Akzente, externe Geräusche
und die Mikrofonqualität,
können
die Qualität der
Eingabe verschlechtern, infolgedessen die Frequenz der Wörter des
Benutzers beeinflussen und potenzielle Fehler in das Abgleichen
des Wortes oder der Foneme einführen.
-
Durch
Spracherkennungssoftware übertragene,
diktierte Dokumente enthalten infolgedessen oft Erkennungsfehler.
Im Gegensatz zu Eintastfehlern, bei denen einfache Fehler, wie zum
Beispiel die Umkehrung von Buchstaben, einfach zu identifizieren
und zu korrigieren sind, sind Erkennungsfehler oft schwerwiegender.
Erkennungsfehler sind typischerweise nicht der Ersatz oder die Umkehrung
von Buchstaben, sondern tendieren stattdessen dazu, vollständige Ersetzungen
durch ähnlich
klingende Wörter
zu sein. Ein klassischer Spracherkennungsfehler ist beispielsweise
die Übertragung
des Satzes „recognize
speech" als „wreck
a nice beach". Obwohl diese
Sätze gleichartig
klingen, haben sie eine gänzlich
unterschiedliche Bedeutung. Des Weiteren kann sich ein Editor, der
ein Dokument korrigiert, den beabsichtigten Satz nicht sofort in
Erinnerung rufen, was zu unnötiger
Konfusion führt.
-
Benutzer
haben herkömmlicherweise
versucht, diese Konfusion durch das laute Lesen der Wörter beim
Korrigieren des Dokuments zu minimieren. Dieses Vorgehen unterstützt das
Identifizieren von beabsichtigten Sätzen, da die vokalen Ähnlichkeiten
offensichtlich sind, wenn das Dokument laut gelesen wird. Wenn jedoch
eine signifikante Zeit zwischen dem Diktieren und dem Editieren
eines Dokuments abgelaufen ist, kann der Benutzer vergessen haben,
was der beabsichtigte Satz war.
-
Bekannte
aktuelle Spracherkennungsprodukte versuchen, dieses Problem durch
das Speichern der Diktiersitzung als Audiodaten und das Verlinken
dieser gespeicherten Audiodaten mit den einzelnen, umgesetzten Wörtern zu
lösen.
Der Benutzer kann einzelne Wörter
oder Textfolgen wählen
und die Wiedergabe der Audiodaten entsprechend dem gewählten Abschnitt
abfordern.
-
Während dies
einen Benutzer bei dem Erkennen einer beabsichtigten Übertragung
unterstützt,
ergibt sich ein schweres Problem für den Fall, dass der Benutzer
das Dokument in dem Zeitraum zwischen dem Diktieren und der Abforderung
der Tonwiedergabe editiert hat. Ein Benutzer wird dann mit der Perspektive
konfrontiert, die Wiedergabe für einen
Abschnitt eines Dokuments, das mit vermengten Eingabequellen erzeugt
wurde, abzufordern.
-
Beispielsweise
kann ein Benutzer „I
wish my computer could recognize speech" diktiert haben, was durch das Spracherkennungssystem
als „I
wish my computer could wreck a nice beach" übertragen wird.
Wenn der Benutzer dann das Wort „really" zwischen „I" und „wish" eintastet, weist das Dokument vermengte
Eingabequellen auf. Folglich werden, wenn ein Benutzer den Satz
auswählt,
wie er auf dem Bildschirm erscheint („I really wish my computer could
wreck a nice beach")
und die Wiedergabe abfordert, keine Audiodaten mit dem Wort „really" verlinkt sein, da
es eingetastet und nicht diktiert wurde.
-
Bekannte
aktuelle Spracherkennungsplattformen schalten die Wiedergabeoption
in dieser Situation ab. Stattdessen reagiert das Spracherkennungssystem
mit einer Fehlermeldung, die aussagt, dass die Wiedergabe nicht
verfügbar
ist, weil nicht für den
gesamten gewählten
Text Audiodaten vorhanden sind. Dies zwingt einen Benutzer dazu,
sich in Erinnerung zu rufen, welche der Abschnitte eines Dokuments
eingetastet und welche diktiert wurden und dann den Text dementsprechend
wieder neu zu wählen.
Diese Lösung
ist in sich frustrierend, da sie, um überhaupt auf irgendeine Tonwiedergabe
zugreifen zu können,
dem Benutzer abverlangt, sich eine Diktiersitzung in Erinnerung
zu rufen, die in der Erinnerung des Benutzers bereits unklar ist.
-
Folglich
ist allgemein in der Technik Bedarf für ein Verfahren und ein System
zur zuverlässigen Tonwiedergabe,
die einem gewählten
Abschnitt eines Dokuments entspricht, in einem unmittelbaren Format
vorhanden. Es ist ebenso der Bedarf für ein Verfahren und ein System
zum Ausfüllen
von Lücken
in einer Tonwiedergabe, in denen keine Audiodaten für Abschnitte
des Dokuments verfügbar
sind, vorhanden.
-
Zusammenfassung
der Erfindung
-
Allgemein
gesagt, ist die Erfindung ein Dienstprogramm zur Eingabe aus mehreren
Quellen und zur Wiedergabe für
einen Arbeitsplatzrechner. Das Dienstprogramm zur Eingabe aus mehreren Quellen
und zur Wiedergabe akzeptiert Eingaben von mehreren Eingabequellen,
wandelt diese Eingaben in Text um und zeigt den Text auf einer Bildschirmanzeige
an. Wenn ein Benutzer den Text diktiert, wird die Spracheingabe
auf einem Speichermedium oder in einem Systemspeicher als Audiodaten
gespeichert. Der aus der Spracheingabe übertragene Text wird mit diesen
gespeicherten Audiodaten verlinkt. Der von einem Schreibtablett übertragene
oder mit einer Tastatur eingetastete Text hat zu keinen Audiodaten
eine Verlinkung. Ein Benutzer kann den Text wie erforderlich durch
die Verwendung einer Tastatur, einer Maus oder anderer Eingabeeinrichtungen editieren.
Typischerweise werden die Editieränderungen durch das direkte
Eintasten der Änderungen
in den Text vorgenommen und haben auf diese Art und Weise keine
Verbindung zu den gespeicherten Audiodaten.
-
Das
Dienstprogramm zur Eingabe aus mehreren Quellen und zur Wiedergabe
gibt einen durch den Benutzer gewählten Textabschnitt ebenso sprachlich
wieder. Für
den Fall, dass der gesamte gewählte
Text mit gespeicherten Audiodaten verbunden ist, werden die Audiodaten
wiedergegeben. Wenn ein Abschnitt des gewählten Textes keine damit verbundenen
Audiodaten aufweist, ruft das Dienstprogramm eine Text-in-Sprache-Audioeingabe („TTS") ab und füllt alle
Lücken
in der gespeicherten Tonwiedergabe mit der abgerufenen Eingabe.
Auf diese Art und Weise wird, wenn ein Benutzer einen Multi-Quellentextabschnitt
wählt,
die sprachliche Wiedergabe des Textes aus einer Vermengung von wie
vorhanden wiedergegebenen Audiodaten und Text-in-Sprache, wie erforderlich
eingeführt,
bestehen.
-
Die
vorliegende Erfindung, wie in den Ansprüchen 1, 6, 16 und 21 beansprucht,
kann den erkannten Bedarf dadurch abdecken, dass ein einfaches Verfahren
zur Vokalisierung von unter Verwendung mehrerer Eingabeverfahren,
einschließlich nicht
sprachlicher Eingaben, eingegebenem Text bereitgestellt wird. Durch
das Abrufen der Text-in-Sprache-Eingaben
für Wörter, denen
mit ihnen verbundene Audiodaten fehlen, können Multi-Eingabedokumente
durch einen Rechner laut abgespielt werden, anstatt dass auf eine
Fehlermeldung zurückgegriffen wird.
Des Weiteren minimiert die kontinuierliche Wiedergabe des gesamten
ausgewählten
Textes die Konfusion des Benutzers, die andernfalls durch das Auslassen
der nicht diktierten Textabschnitte hervorgerufen wird.
-
Kurzbeschreibung
der Zeichnungen
-
1 ist
ein Blockdiagramm eines Arbeitsplatzrechners, der eine beispielhafte
Betriebsumgebung für
eine Ausführung
der vorliegenden Erfindung bereitstellt.
-
2 ist
ein Blockdiagramm, das die Softwarearchitektur eines Systems zur
Eingabe aus mehreren Quellen und zur Wiedergabe zeigt.
-
3 ist
eine Bildschirmanzeige, die einen Teil eines Textdokuments, das
unter Verwendung eines Systems zur Eingabe aus mehreren Quellen
und zur Wiedergabe eingegeben wurde, zeigt.
-
3A ist
eine Bildschirmanzeige, die einen Teil eines editierten Textes,
der für
die Tonwiedergabe gewählt
wurde, darstellt.
-
4 ist
ein logisches Ablaufdiagramm, das ein Verfahren zur Auswahl und
Vokalisierung eines Teils eines Dokuments aus mehreren Quellen darstellt.
-
Ausführliche
Beschreibung der Ausführungen
-
Die
vorliegende Erfindung kann durch ein Dienstprogramm zur Eingabe
aus mehreren Quellen und zur Wiedergabe, das Benutzereingaben in
verschiedenen Formaten von unterschiedlichen Eingabeeinrichtungen
eingegeben empfängt
und diese Benutzereingaben in Text umwandelt, ausgeführt werden.
Der Benutzer kann die verschiedenen Datenformate durch die Verwendung
einer Vielzahl von Eingabeeinrichtungen, einschließlich einer
Tastatur (für eingetastete
Daten), eines Mikrofons (für
Audiodaten), eines Schreibstifttabletts (für handschriftliche Eingaben),
einer Berührungsfeldeingabe
oder einer Maus (zum Auswählen
eines Elements aus einer Datengruppe) und so weiter, eingeben.
-
Sobald
die Eingaben des Benutzers umgewandelt wurden, kann der Text des
Dokuments auf einer Anzeigeeinrichtung angezeigt werden. Beispielhafte
Anzeigeeinrichtungen schließen
einen CRT-Bildschirm, einen Berührungsfeldbildschirm,
einen LCD-Bildschirm
und dergleichen ein. Ein Benutzer kann dann einen Teil des Textes
auswählen
und eine Tonwiedergabeabfrage initiieren.
-
Das
Dienstprogramm zur Eingabe aus mehreren Quellen und zur Wiedergabe
kann die Sprache des Benutzers wegen einer Vielzahl von Faktoren, einschließlich Akzent,
Sprechgeschwindigkeit, Hintergrundgeräusch und so weiter, falsch
erkennen. Alle diese Faktoren können
das Dienstprogramm veranlassen, Foneme zu wählen, die nicht mit den von
dem Benutzer gesprochenen Allofonen übereinstimmen. In diesem Fall
wird der übertragene
Text ungenau sein.
-
Vielmals
wird der Text deshalb unterschiedlich von dem Diktat des Benutzers
sein, weil sich der Benutzer, nur basierend auf der visuellen Anzeige des übertragenen
Dokuments, nicht daran erinnern kann, was ursprünglich gesprochen wurde. In
diesem Fall kann der Benutzer einen Teil eines Textes auf dem Anzeigebildschirm
auswählen
und abfordern, dass das Dienstprogramm zur Eingabe aus mehreren
Quellen und zur Wiedergabe die Sprache, die zur Erzeugung des ausgewählten Textes
verwendet wurde, laut wiedergibt. Sobald der Benutzer einen Teil des
Textes zur Wiedergabe auswählt,
hebt das Dienstprogramm, um für
den Benutzer eine visuelle Rückmeldung
bereitzustellen, den ausgewählten Text
hervor. Diese Rückmeldung
kann alternativ durch das Anzeigen des gewählten Textes in einer unterschiedlichen
Farbe, das Veranlassen des Textes zu blinken oder durch anderweitiges
Unterscheiden des ausgewählten
Textes von dem Rest des Dokuments erfolgen.
-
Das
Dienstprogramm ruft dann die Audiodaten, die mit dem ausgewählten Text
verlinkt sind, ab und gibt die Audiodaten durch einen Lautsprecher wieder.
Wahlweise kann das Dienstprogramm zur Eingabe aus mehreren Quellen
und zur Wiedergabe einen sichtbaren Hinweis, der angibt, welcher
Teil des Dokuments den Audiodaten, die wiedergegeben werden, entspricht,
hinzufügen.
Beispielsweise kann ein Cursor oder ein Punkt über dem Wort, das dem aktuellen
Teil der Tonwiedergabe entspricht, schweben und sich bewegen, während die
Tonwiedergabe fortgesetzt wird. Während das Dienstprogramm die entsprechenden
Audiodaten wiedergibt, kann das wiedergegebene Wort auf der Bildschirmoberfläche aufleuchten
oder unterstrichen werden.
-
Um
neues Material hinzuzufügen
oder, um Spracherkennungsfehler zu korrigieren, kann der Benutzer
wünschen,
ein diktiertes Dokument zu editieren. Obwohl der Benutzer das Sprachmodul
wiederum benutzen könnte,
editiert ein Benutzer normalerweise das Dokument eher unter Verwendung
einer Tastatur durch direkte Eingabeänderungen in das Dienstprogramm
zur Eingabe aus mehreren Quellen und zur Wiedergabe, anstatt die
zusätzlichen Änderungen
zu diktieren. Alternativ kann der Benutzer ein Dokument durch Schreiben
auf einem Berührungsfeld,
mit einem Schreibstift oder mit einer gleichartigen Einrichtung
korrigieren.
-
Folglich
kann das Dokument Eingaben aus mehreren Quellen enthalten: Sprache
wurde verwendet, um einen ersten Teil des Dokuments zu erzeugen,
während
Eintasten oder Handschrift benutzt wurden, um einen zweiten Teil
und weitere Teile zu erzeugen.
-
Ein
Benutzer kann die Tonwiedergabe eines Teils des Dokuments, das Eingaben
aus mehreren Quellen enthält,
abfordern. Dieses resultiert darin, dass das Dienstprogramm zur
Eingabe aus mehreren Quellen und zur Wiedergabe bestimmt, welche Wörter in
dem ausgewählten
Teil mit gespeicherten Audiodaten verlinkt sind und welche nicht.
Typischerweise führt
das Dienstprogramm diese Bestimmung durch das Prüfen jedes Wortes folgerichtig
von dem ersten zu dem dem letzten Wort in der Auswahl durch. Alternativ
kann das Dienstprogramm einen Zeiger auf einen Textteil setzen,
für den
Audiodaten verfügbar
sind, wobei das Dienstprogramm eher auf den Speicherort für die Wortgruppe
gerichtet wird, anstatt auf einer Wort-für-Wort-Basis zu prüfen. Für den Fall,
dass keine Audiodaten mit einem Wort in dem ausgewählten Teil
des Dokuments verlinkt sind, bestimmt das Dienstprogramm zur Eingabe
aus mehreren Quellen und zur Wiedergabe, ob ein diesem Wort entsprechender
Text-in-Sprache-(TTS-)Eingabe vorhanden ist. Wenn ein entsprechender
TTS-Eingabe vorhanden ist, ruft das Dienstprogramm die Eingabe ab
und gibt diesen wieder. Wenn keine TTS-Eingabe vorhanden ist, zerlegt
das Dienstprogramm zur Eingabe aus mehreren Quellen und zur Wiedergabe
das Wort in die Bestandteile seiner Foneme, ruft die TTS-Eingabe
des wahrscheinlichsten Allofons für jedes Fonem ab und gibt die TTS-Eingabe
wieder. Beispielsweise kann der Familienname „Hemenway" keine entsprechenden TTS-Eingabe haben.
Folglich zerlegt das Dienstprogramm das Wort in die Bestandteile
seiner Foneme und wählt
die wahrscheinlichsten Allofone für diese Foneme aus. Sobald
das Dienstprogramm zur Eingabe aus mehreren Quellen und zur Wiedergabe
eine TTS-Eingabe für
ein Fonem gewählt
hat, gibt das Dienstprogramm die Eingabe wieder. Dieser Vorgang wird
fortgesetzt, bis sämtliche
Foneme in dem Wort durch das Dienstprogramm „vokalisiert" sind.
-
Alternativ
kann das Dienstprogramm zur Eingabe aus mehreren Quellen und zur
Wiedergabe eine Textauswahl grammatikalisch bestimmen und alle Wörter ermitteln,
mit denen keine gespeicherten Audiodaten verlinkt sind. Auf diese
Art und Weise kann das Dienstprogramm die nahe kommendsten TTS-Eingabe
für alle
nicht verlinkten Wörter
auf ein Mal bestimmen, anstatt mehrfache Aufrufe an ein TTS-Modul
durchzuführen.
Dies dient, durch das Halten der Anzahl der TTS-Aufrufe seitens
des Dienstprogramms auf einem Minimum, der Minimierung des CPU-Verbrauchs.
Bei dieser Alternative werden alle verlinkten Audiodaten abgerufen
und in dem Systemspeicher gehalten, bis das Dienstprogramm zur Eingabe
aus mehreren Quellen und zur Wiedergabe einer TTS-Eingabe für jedes
nicht verlinkte Wort erhält.
Das Dienstprogramm gibt dann die Audiodaten und die TTS-Eingaben
in der Reihenfolge von dem Systemspeicher, anstelle der kontinuierlich
strömenden
Audiodaten und TTS-Eingaben von einem Speichermedium, wieder.
-
Das
Dienstprogramm kann die TTS-Eingabe vor der Wiedergabe ebenso beschleunigen
oder verlangsamen oder anderweitig ändern, um mit den gespeicherten
Audiodaten in Übereinstimmung
zu kommen. Das Dienstprogramm kann die Wellenform der Audiodaten
analysieren und solche Informationen wie Sprechgeschwindigkeit,
Tonhöhe,
Klang und Timbre extrahieren. Das Dienstprogramm kann dann diese
Eigenschaften in der TTS-Eingabe entsprechend verändern, um
den Ton der TTS-Eingabe noch mehr mit den eigenen Sprachmustern
eines Sprechers zu parallelisieren.
-
Eine
alternative Ausführung
kann die Audiodaten entsprechend den diktierten Teilen des Textes, wie
ursprünglich
diktiert, wiedergeben. Bei dem aktuellen Beispiel würde der
ausgewählte
Satz „I
really wish my computer could recognize speech" als „I wish my computer could
recognize speech" wiedergegeben
werden. Wenn Änderungen
durch Editieren oder eingetastete Hinzufügungen in einem Dokument umfangreich
sind, kann dies zu einer Situation führen, in der der Benutzer der
Tonwiedergabe, wegen der umfangreichen Zwischenveränderungen, nicht
folgen kann.
-
Eine
weitere mögliche
Ausführung
ist, an den Positionen, die eingetasteten Wörtern entsprechen, Pausen in
die Wiedergabe einzuführen.
Es sei an das Beispiel erinnert, bei dem der Satz „I wish
my computer could recognize speech" editiert wurde, um das Wort „really" zwischen „I" und „wish" einzufügen. In dieser
Ausführung
würde die
Wiedergabe für
den ausgewählten
Text wie „I" [Pause] „wish my
computer could recognize speech" klingen,
wobei die Pause das Vorhandensein des eingetasteten Wortes „really" angibt. Das Anhalten
und das neue Beginnen der Tonwiedergabe können einen Benutzer zu der
Annahme führen,
dass die Tonwiedergabe angehalten wurde, wenn tatsächlich ein
Punkt für
eine Pause erreicht wurde. Ferner kann die Länge der Pause signifikant sein,
wenn ganze Sätze
oder Abschnitte in ein diktiertes Dokument eingefügt wurden.
-
Obwohl
die Erfindung als eine exemplarische Anwendung ein Textverarbeitungsprogramm benutzend
beschrieben wird, ist die Erfindung gleichermaßen auf viele andere Anwendungen
anwendbar. Alternative Anwendungen können ein Arbeitsblatt, ein
Browser, ein E-Mail-Programm, ein Musikübertragungsprogramm, ein CAD-Programm
oder CAD-Betriebssystem und andere sein, die für Fachleute in dieser Technik
offensichtlich sind.
-
Das
Dienstprogramm zur Eingabe aus mehreren Quellen und zur Wiedergabe
umfasst verschiedene Programmmodule, die im Folgenden beschrieben
werden. Ein durchschnittlicher Fachmann in dieser Technik wird anerkennen,
dass die Module in einer Vielzahl von Arten und Weisen miteinander
kombiniert werden können
und dass neue Programmmodule erzeugt werden könnten, um die gleichen Resultate
zu erzielen. Die Eingabeschnittstelle und das Text-in-Sprache-Modul
können
beispielsweise Teile des Betriebssystems oder Teile des Textverarbeitungsprogramms
sein oder eigenständig
sein, wie beschrieben. Gleichermaßen können das Handschrifterkennungsmodul,
das Spracherkennungsmodul und der Eingabeverfahreneditor diskrete
Programme sein oder können
entweder Komponenten des Textverarbeitungsprogramms oder des Betriebssystems
oder ein eigenständiges
Paket aller drei sein.
-
Beispielhafte
Betriebsumgebung
-
Die 1 und
die folgende Erörterung
beabsichtigen, eine kurze und allgemeine Beschreibung, einer zum
Implementieren der vorliegenden Erfindung geeigneten Rechnerumgebung 100 bereitzustellen.
Die beispielhafte Betriebsumgebung 100 enthält ein konventionelles
Arbeitsplatzrechnersystem 120, einschließlich einer
Zentraleinheit 121, eines Systemspeichers 122 und
eines Systembusses 123, der den Systemspeicher 122 an
die Zentraleinheit 121 koppelt. Der Systemspeicher 122 enthält einen Festwertspeicher
(ROM) 124 und einen Direktzugriffsspeicher (RAM) 125.
Ein Basis-Eingabe-/-Ausgabesystem
BIOS 126, das die Grundroutinen enthält, die die Informationsübertragung
zwischen den Elementen innerhalb des Rechnersystems 120,
wie zum Beispiel beim Hochfahren, unterstützen, ist in dem ROM 124 gespeichert.
-
Das
Arbeitsplatzrechnersystem 120 enthält ferner ein Festplattenlaufwerk 127,
ein Magnetdiskettenlaufwerk 128, zum Beispiel, um von einer
herausnehmbaren Platte 129 zu lesen oder auf diese zu schreiben,
und ein Bildplattenlaufwerk 130, zum Beispiel, um von einer
CD-ROM-Platte 131 zu lesen oder, um von einem anderen optischen
Medium zu lesen oder auf diesem zu schreiben. Das Festplattenlaufwerk 127,
das Magnetdiskettenlaufwerk 128 und das Bildplattenlaufwerk 130 sind
jeweils durch eine Festplattenlaufwerkschnittstelle 132,
eine Magnetdiskettenlaufwerkschnittstelle 133 und eine
Bildplattenlaufwerkschnittstelle 134 an den Systembus 123 angeschlossen.
Die Treiber und die mit ihnen verbundenen rechnerlesbaren Medien
stellen nicht flüchtige Speicher
für den
Arbeitsplatzrechner bereit. Obwohl die Beschreibung der rechnerlesbaren
Medien oben Bezug auf eine Festplatte, eine herausnehmbare Magnetdiskette
und eine CD-ROM-Platte
nimmt, sollte von den durchschnittlichen Fachleuten in dieser Technik
anerkannt werden, dass andere Medienarten, die durch ein Rechnersystem
lesbar sind, wie zum Beispiel eine Magnetkassette, Flash-Memory-Karten,
digitale Videoplatten, Bernoulli-Platten und dergleichen, ebenso
in der beispielhaften Betriebsumgebung verwendet werden können.
-
Ein
Benutzer kann durch konventionelle Eingabeeinrichtungen, einschließlich einer
Tastatur 140 und einer Zeigereinrichtung, wie zum Beispiel
einer Maus, Befehle und Informationen in den Arbeitsplatzrechner 120 eingeben.
Ein Mikrofon 161 kann verwendet werden, um die Audioeingabe,
wie zum Beispiel Sprache, in das Rechnersystem 120 einzugeben.
Ein Benutzer kann grafische Informationen, wie zum Beispiel Zeichnungen
oder Handschriften, durch das Zeichnen der grafischen Information
unter Verwendung eines Stylus auf einem Schreibtablett 162 eingeben.
Das Rechnersystem 120 kann zusätzliche Eingabeeinrichtungen
(nicht gezeigt), wie zum Beispiel einen Joystick, ein Gamepad, eine
Satellitenschale, einen Scanner oder dergleichen, enthalten. Das
Mikrofon 161 kann durch einen Audioadapter 160,
der an den Systembus gekoppelt ist, an die Zentraleinheit 121 angeschlossen
werden. Die anderen Eingabeeinrichtungen werden oft durch eine serielle Anschlussschnittstelle 146,
die an den Systembus gekoppelt ist, an die Zentraleinheit 121 angeschlossen,
können
jedoch durch andere Schnittstellen, wie zum Beispiel einen Gameport
oder einen universellen Serienbus, angeschlossen sein.
-
Ein
Anzeigebildschirm 147 oder eine andere Art von Anzeigeeinrichtung
ist über
eine Schnittstelle, wie zum Beispiel einen Videoadapter 148,
ebenso an den Systembus 123 angeschlossen. Zusätzlich zu dem
Monitor enthalten Arbeitsplatzrechnersysteme typischerweise weitere
periphere Ausgabeeinrichtungen (nicht gezeigt), wie zum Beispiel
Lautsprecher und Drucker.
-
Das
Arbeitsplatzrechnersystem 120 kann in einer vernetzten
Umgebung unter Verwendung von logischen Verbindungen zu einem oder
mehreren entfernten Rechnersystemen, wie zum Beispiel einem entfernten
Rechnersystem 149, betrieben werden. Das entfernte Rechnersystem 149 kann
ein Server sein, ein Router, eine Partnereinrichtung oder ein anderer
gewöhnlicher
Netzwerkknoten und enthält typischerweise
viele oder alle Elemente, die in Zusammenhang mit dem Arbeitsplatzrechnersystem 120 beschrieben
wurden, obwohl in der 1 nur eine Speicherplatzeinrichtung 150 dargestellt
wurde. Die in der 1 abgebildeten logischen Verbindungen
enthalten ein Nahbereichnetzwerk (LAN) 151 und ein Weitverkehrsnetz
(WAN) 152. Derartige Netzwerkumgebungen sind in Büros, in
unternehmensweiten Rechnernetzwerken, in Intranetzen und im Internet
alltäglich.
-
Wenn
in einer LAN-Netzwerkumgebung verwendet, wird das Arbeitsplatzrechnersystem
durch eine Netzwerkschnittstelle 153 an das LAN 151 angeschlossen.
Wenn in einer WAN-Netzwerkumgebung verwendet, enthält das Arbeitsplatzrechnersystem 120 typischerweise
ein Modem 154 oder andere Einrichtungen zum Einrichten
des Datenaustausches über
WAN 152, wie zum Beispiel das Internet. Das Modem 154,
das intern oder extern sein kann, wird über die serielle Anschlussschnittstelle 146 an
den Systembus 123 angeschlossen. In einer Netzwerkumgebung
können
Programmmodule, die im Zusammenhang mit dem Arbeitsplatzrechnersystem 120 abgebildet
werden, in einer Fernspeicherplatzeinrichtung 150 gespeichert
werden. Es wird anerkannt werden, dass die gezeigten Verbindungen
beispielhaft sind und andere Einrichtungen zum Einrichten einer
Kommunikationsverbindung zwischen den Rechnersystemen verwendet
werden können.
Es wird ferner anerkannt werden, dass die Erfindung außer auf
Arbeitsplatzrechnersystemen gleichermaßen auf Host- oder auf Serverrechnersystemen
implementiert werden könnte
und durch andere Einrichtungen als eine CD-ROM, beispielsweise mittels
der Netzwerkverbindungsschnittstelle 153, adäquat an das
Hostrechnersystem übertragen
werden könnte.
-
In
den Laufwerken und in dem RAM 125 des Rechnersystems 120 kann
eine Anzahl von Programmmodulen gespeichert werden. Die Programmmodule
steuern, wie das Rechnersystem 120 arbeitet und interagieren
mit dem Benutzer, mit I-/O-Schnittstellen oder mit anderen Rechnern.
Die Programmmodule enthalten Routinen, das Betriebssystem 135, die
Anwendungsprogrammmodule 138, die Datenstrukturen, die
Browser und andere Software- oder Firmwarekomponenten. Die Erfindung
kann bequem in einem oder mehr Programmmodul(en), wie zum Beispiel
einem Text-in-Sprache-(TTS-)Modul 137 und in einem Eingabeschnittstellenprogramm 139, von
denen jedes auf den Verfahren basiert, die in der ausführlichen
Beschreibung beschrieben werden, ausgeführt werden.
-
Die
Anwendungsprogramme 138 können eine Vielzahl von Anwendungen
umfassen, die in Verbindung mit der vorliegenden Erfindung verwendet
werden. Einige davon werden in der 2 gezeigt.
Die Zwecke und die Wechselbeziehungen zwischen einigen dieser Programme
werden vollständiger
in dem Text, der die 2 beschreibt, diskutiert. Diese
enthalten ein Textverarbeitungsprogramm 210 (wie zum Beispiel
WORD, hergestellt von der Microsoft Corporation in Redmond, WA),
ein Text-in-Sprache-Modul 137, ein erstes Spracherkennungsprogrammmodul 240 und
einen Eingabeverfahreneditor (IME) 250.
-
Zum
Ausführen
der im Folgenden beschriebenen, zahlreichen Verfahren wurde keine
bestimmte Programmiersprache beschrieben, weil die Betriebsschritte
und Betriebsabläufe,
die beschrieben werden und die in den begleitenden Zeichnungen dargestellt
sind, ausreichend offen gelegt sind, um es einem durchschnittlichen
Fachmann in dieser Technik zu ermöglichen, eine beispielhafte
Ausführung der
vorliegenden Erfindung in die Praxis umzusetzen. Des Weiteren sind
viele Rechner- und Betriebssysteme vorhanden, die verwendet werden
können, um
eine beispielhafte Ausführung
in die Praxis umzusetzen und deshalb konnte kein ausführliches
Rechnerprogramm, das auf sämtliche
dieser verschiedenen Systeme anwendbar wäre, bereitgestellt werden. Jeder
Benutzer eines bestimmten Rechners wird die Sprache und die Tools,
die am besten für
den Bedarf des Benutzers und dessen Zwecke geeignet sind, kennen.
-
Der
Fachmann in dieser Technik wird anerkennen, dass die Erfindung mit
anderen Rechnersystemkonfigurationen praktiziert werden kann, einschließlich mit
von Hand gehaltenen Einrichtungen, auf Multiprozessorsystemen, mit
auf Mikroprozessoren basierender oder programmierbarer Verbraucherelektronik,
auf Minirechnern, Großrechnern
und dergleichen. Die Erfindung kann ebenso in verteilten Rechnerumgebungen
praktiziert werden, in denen die Aufgaben von Fernverarbeitungseinrichtungen, die
durch ein Kommunikationsnetzwerk miteinander verbunden sind, ausgeführt werden.
In einer verteilten Rechnerumgebung können die Module sowohl in lokalen
als auch in entfernten Speichereinrichtungen angeordnet sein.
-
Konfiguration
des Dienstprogramms zur Eingabe aus mehreren Quellen und zur Wiedergabe
-
Die 2 ist
ein Blockdiagramm, das das Dienstprogramm zur Eingabe aus mehreren
Quellen und zur Wiedergabe 200 zeigt. Allgemein ist es
die Aufgabe des Dienstprogramms zur Eingabe aus mehreren Quellen
und zur Wiedergabe. Eingaben des Benutzers aus verschiedenen Quellen
zu empfangen, diese Daten in Text zu verarbeiten und den Text als
Audio wiederzugeben. Beispielhafte Eingabequellen schließen Handschrift,
Sprache und Eintasten ein. Das Dienstprogramm zur Eingabe aus mehreren
Quellen und zur Wiedergabe 200 ist aus verschiedenen Programmmodulen
zusammengesetzt. Diese Programmmodule ermöglichen es einem Benutzer,
einen Text aus einer Vielzahl von Quellen in ein Textverarbeitungsprogramm
einzugeben. Sobald eingegeben, werden die Daten des Benutzers in Text
umgewandelt und auf einer Anzeigeoberfläche angezeigt. Ein Benutzer
wählt den
Text aus, den er als Tonwiedergabe zu hören wünscht, und das Dienstprogramm
zur Eingabe aus mehreren Quellen und zur Wiedergabe 200 verarbeitet
die Abfrage durch die adäquaten
Programmmodule, um die Tonwiedergabe herzustellen.
-
Typische
Eingabequellen innerhalb des Dienstprogramms zur Eingabe aus mehreren
Quellen und zur Wiedergabe schließen ein Handschrifterkennungsprogrammmodul 230,
ein erstes Spracherkennungsprogrammmodul 240, einen Eingabeverfahreneditor
(IME) 250, ein zweites Spracherkennungsprogrammmodul 240 und
eine Tastatur 140 oder andere direkte Eingabeeinrichtungen,
wie zum Beispiel eine Maus 142, ein. Jedes Eingabeprogrammmodul
wird der Reihe nach diskutiert.
-
Das
Handschrifterkennungsprogrammmodul 230 empfängt durch
den Benutzer eine Handschrifteingabe 280. Der Benutzer
erzeugt die Handschrifteingabe 280 durch das Schreiben
auf einem Schreibtablett 162 mit einem Stylus oder einer
Maus oder mit einem Berührungsfeld.
Die Handschrifteingabe 280 wird vorzugsweise durch ein
in dem Betriebssystem 135 residentes Schreibtablett-Treibermodul
an das Handschrifterkennungsprogrammmodul 230 gerichtet.
-
Das
erste Spracherkennungsprogrammmodul 240 empfängt die
Spracheingabe 290 durch den Benutzer durch ein Mikrofon 161,
das von einem in dem Betriebssystem 135 residenten Mikrofontreibermodul
betrieben wird. Sprache ist oft schwer zu interpretieren, weil viele
Wörter,
die gleichartig klingen, verschiedene Bedeutung haben und verschieden buchstabiert
werden. Das erste Spracherkennungsprogrammmodul 240 bestimmt
durch das Zerlegen der Sprache in die Komponentenfoneme und durch das
Erzeugen einer textlichen Ausgabe, basierend auf jedem Fonem, die
Spracheingabe 290 grammatikalisch. Ferner wandelt das erste
Spracherkennungsprogrammmodul 240 die Spracheingabe 290 in eine
Wellenform um, die in einem Langzeitspeichermedium als die Audiodaten 270 gespeichert
werden kann. Auf diese gespeicherten Audiodaten 270 kann später durch
das Textverarbeitungsprogramm für
die Tonwiedergabe zugegriffen werden.
-
Der
Eingabeverfahreneditor (IME) 250 wandelt die fonetische
Eingabe in ideografischen Text für bestimmte
Fremdsprachen um. Die Eingabe in einen IME 250 kann beispielsweise
durch eine Tastatur 140 und eine Maus 142 in den
Rechner eingetasteter Text sein oder kann Sprachdaten sein, die
unter Verwendung eines Mikrofons 161 eingegeben werden.
-
Ein
IME 250 ist insbesondere bei der Erzeugung von Ideogrammen
asiatischer Sprachen nützlich.
Weil viel mehr Ideogramme als Tasten auf einer Tastatur in solchen
Sprachen vorhanden sind, ist die Eingabe eines bestimmten Ideogramms
ohne einen IME 250 in den Rechner problematisch. In einem
chinesischen IME 250 tastet ein Benutzer englische Zeichen
in fonetischer Schreibweise für
ein erwünschtes chinesisches
Ideogramm ein. Da viele chinesische Ideogramme die gleiche Aussprache
haben, kann die eingetastete fonetische Schreibweise jedes Zeichen, aus
einer Anzahl verschiedener chinesischer Zeichen darstellen. Der
IME 250 wählt
dann aus einer intern erzeugten Kandidatenliste den wahrscheinlichsten
Kandidaten aus oder stellt für
den Benutzer alternativ die durch die eingetastete fonetische Schreibweise
beabsichtigten wahrscheinlichsten Kandidaten bereit, so dass der
Benutzer den richtigen auswählen kann.
Die Kandidatenliste wird basierend auf der durch den Benutzer bereitgestellten
fonetischen Schreibweise erzeugt oder alternierend aus dem Set der
Foneme, die die Spracheingabe 290 eines Benutzers umfasst.
-
Um
die Funktionen des IME 250 darzustellen, kann Sprache in
den Rechner eingegeben werden und verwendet werden, um einen japanischen Text
herzustellen. Die Sprache wird einem zweiten Spracherkennungsprogrammmodul 240 ausgesetzt. Im
Betrieb arbeitet das zweite Spracherkennungsprogrammmodul 240 sehr ähnlich dem
ersten Spracherkennungsprogrammmodul 240, wird jedoch als eine
unterschiedliche Einheit dargestellt, da es eine unterschiedliche
Sprachinterpretationsmaschine und einen unterschiedlichen Ausgabetyp
haben kann. Das bedeutet, dass das zweite Spracherkennungsprogrammmodul 240 eine
von dem ersten Spracherkennungsprogrammmodul 240 unterschiedliche Sprache
interpretieren kann.
-
Das
zweite Spracherkennungsprogrammmodul 240 kann aus den gesprochenen
englischen Wörtern
englische Textalternativen herstellen. Eine oder mehrere der englischsprachige(n)
Textalternative(n) kann/können
dann als die Eingabe in den IME 250 verwendet werden, der
die englischsprachige Texteingabe in japanische Zeichen übersetzt.
Jede alternative Eingabe in den IME 250 erzeugt eine separate
Liste potenzieller Kandidaten, obwohl anerkannt werden sollte, dass
eine Überlappung
zwischen den Alternativen, die die Kandidatenlisten zweier unterschiedlicher
Eingaben in den IME 250 bilden, vorhanden sein kann.
-
Es
versteht sich, dass der IME 250 und das zweite Spracherkennungsprogrammmodul 240 keine direkte
gemeinsame Schnittstelle haben. Beispielsweise wird folglich die
Eingabe aus dem zweiten Spracherkennungsprogrammmodul 240 an
den IME 250 durch ein Schnittstellenprogrammmodul, wie zum
Beispiel die Eingabeschnittstelle 139, an die jede Eingabequelle
direkt angeschlossen ist, geleitet.
-
Obwohl
die Beispiele sowohl für
Japanisch als auch für
Englisch gegeben wurden, versteht es sich, dass jedes Spracherkennungsprogrammmodul 240 und
jedes Textverarbeitungsprogramm 210 Eingabe von mehreren
Sprachen empfangen und anzeigen kann. Beispielsweise kann das Textverarbeitungsprogramm 210 konfiguriert
sein, um Text für Sprachen
zu erstellen, die in einer Reihenfolge von rechts nach links gelesen
werden, wie zum Beispiel Nastiliq.
-
Des
Weiteren kann das Textverarbeitungsprogramm 210 ebenso
Text anzeigen, bei dem die einzelnen Zeichen die Form entsprechend
den Umgebungszeichen ändern,
wie zum Beispiel im Hebräischen
oder im Arabischen.
-
Das
Textverarbeitungsprogramm 210 empfängt die Eingabe von einem Benutzer
und zeigt die Ausgabe über
die Eingabeschnittstelle 139 an. Die Ausgabe wird entweder
als Text auf einer Bildschirmanzeige oder als Audiodaten durch einen
Lautsprecher ausgegeben. Das Textverarbeitungsprogramm 210 wirkt,
um eine Schnittstelle zwischen einem Benutzer des Dienstprogramms
zur Eingabe aus mehreren Quellen und zur Wiedergabe 200 und
den Komponentenprogrammmodulen bereitzustellen.
-
Das
Textverarbeitungsprogramm 210 empfängt jedoch durch die Eingabeschnittstelle 139 Text, der
die wahrscheinlichste Alternative für Handschrifteingaben 280 und
für Spracheingaben 290,
die benutzt wurden, um Daten in das Textverarbeitungsprogramm einzugeben,
darstellt. Einige Eingabequellen, wie zum Beispiel durch Eintasten
auf einer Tastatur 140 erzeugter Text, erfordern die Erzeugung
von Alternativen durch die Eingabeschnittstelle 139 nicht und
werden genau so weitergegeben, wie sie empfangen wurden. Das Textverarbeitungsprogramm 210 kombiniert
alle Quellendaten in einen Multi-Quellentext-String,
der dem Benutzer dargestellt wird. Obwohl das Textverarbeitungsprogramm 210 dem
Benutzer nicht die Quelle jedes Wortes in dem Text anzeigt, unterhält das Textverarbeitungsprogramm
dennoch ein Verzeichnis der Quelle jeder der Textkomponenten. Eine
alternative Ausführung
kann die Quelle jedes Wortes auf eine Vielzahl von Arten anzeigen, beispielsweise
können
die Wörter,
abhängig
von dem Eingabeverfahren für
das Wort, in einer unterschiedlichen Farbe oder Schriftart gezeigt
werden.
-
Das
Textverarbeitungsprogramm 210 ermöglicht es einem Benutzer, einen
Textabschnitt auszuwählen
und die Tonwiedergabe dieser Auswahl abzufordern. Das Textver arbeitungsprogramm
ruft die mit der Textauswahl verlinkten, gespeicherten Audiodaten 270 ab
und gibt die Audiodaten durch einen Lautsprecher oder eine andere
Ausgabeeinrichtung wieder. Wenn keine gespeicherten Audiodaten 270 mit
keinem Teil der Textauswahl verlinkt sind, gibt das Textverarbeitungsprogramm 210 durch
die Eingabeschnittstelle 139 eine Abfrage an das Text-in-Sprache-Modul 137 aus,
um eine dem Teil der Textauswahl entsprechende TTS-Eingabe 220 abzurufen. Das
Wortverarbeitungsprogramm empfängt
dann über
das erste Spracherkennungsprogrammmodul 240 und die Eingabeschnittstelle 139 die
entsprechende TTS-Eingabe und gibt die TTS-Eingabe durch einen Lautsprecher
wieder. Das Textverarbeitungsprogramm 210 bestimmt jedes
Wort innerhalb der Textauswahl der Reihe nach und ruft dementsprechend
entweder die gespeicherten Audiodaten 270 oder die TTS-Eingabe 220 ab
oder gibt diese wieder. Von einem Benutzer des Dienstprogramms zur
Eingabe aus mehreren Quellen und zur Wiedergabe wird ein kontinuierlicher
Strom von vermengt gespeicherten Audiodaten und von TTS-Eingaben gehört, die
die Textauswahl als Ton ausgeben. Die Einzelheiten der Tonwiedergabe
für eine
Textauswahl werden unter Bezugnahme auf die 4 ausführlicher
diskutiert.
-
Benutzerschnittstelle
für das
Dienstprogramm zur Eingabe aus mehreren Quellen und zur Wiedergabe
-
Die 3A zeigt
ein auf einer Bildschirmanzeige 147 angezeigtes diktiertes
Beispieldokument 300 in Übereinstimmung mit einer Ausführung dieser Erfindung.
Die Spracheingabe 290 aus der 2 wird durch
das erste Spracherkennungsprogrammmodul 240 übertragen
und dann als ein diktiertes Dokument 300 durch das Textverarbeitungsprogramm 210 angezeigt.
Bei diesem Beispiel umfasst das diktierte Dokument einen Teil eines
Gedichtes. Ein Teil des Diktats wurde durch das erste Spracherkennungsprogrammmodul 240 falsch
erkannt. Insbesondere der Satz 305 (in den durch Strichlinien
gezeigten Rechtecken) „white
flannel trousers" wurde
durch das erste Spracherkennungsprogrammmodul irrtümlich als „why tan
I trauser" übertragen.
-
Bezug
nehmend auf die 3B wird eine editierte
Version des Dokuments 300, von der ein Teil 310 für die Tonwiedergabe
ausgewählt
wurde, gezeigt. In der 3A wurde der falsch erkannte
Satz 305 editiert, um die adäquaten Wörter einzufügen, wobei „why tan I trauser" durch den Satz „white
flannel trousers" ersetzt
wurde. Ferner wurde ein Textteil 310 des Dokuments für die Tonwiedergabe
ausgewählt.
Um für
den Benutzer eine Rückmeldung
bereitzustellen, welcher Teil des Dokuments 300 durch das
Dienstprogramm zur Eingabe aus mehreren Quellen und zur Wiedergabe 200 eingegeben
wurde, wird der der Wiedergabe entsprechende Textteil 310 durch
das Dienstprogramm hervorgehoben. Es ist zu beachten, dass der zur
Tonwiedergabe ausgewählte Textteil
den editierten Teil 320 des Dokuments 300 enthält. Vorausgesetzt,
dass das Editieren durch einen auf der Tastatur eintastenden Benutzer
durchgeführt
wurde, ist das Dokument 300 jetzt ein Dokument aus mehreren
Quellen. Gleichermaßen
ist der Textteil 310 ein Texteil aus mehreren Quellen.
Folglich hat der Satz „white
flannel trousers" keine
damit verbundenen Audiodaten, insofern er unter Verwendung einer
Tastatur eingegeben wurde. Deshalb werden, wenn das Dienstprogramm 200 die
Wiedergabe initiiert, die Wörter „white
flannel trousers" des
ausgewählten
Textteils 310 unter Verwendnung der Text-in-Sprache-Eingaben 220,
die durch das Text-in-Sprache-Modul 137 bereitgestellt
werden, vokalisiert.
-
Um
die Rückmeldung
für den
Benutzer weiter zu verbessern, kann das Dienstprogramm zur Eingabe
aus mehreren Quellen und zur Wiedergabe 200 einen Indikator,
welches Wort genau vokalisiert wurde, enthalten. Beispielsweise
können
während
die Audiodaten oder die Text-in-Sprache-Eingabe wiedergegeben werden,
die entsprechenden Wörter blinken
oder die Farbe verändern.
-
Betrieb des
Dienstprogramms zur Eingabe aus mehreren Quellen und zur Wiedergabe
-
Während der
Diskussion der 4 wird gelegentlich Bezug auf
die Abschnitte des in der 2 abgebildeten
Funktionsblockdiagramms des Dienstprogramms zur Eingabe aus mehreren
Quellen und zur Wiedergabe 200 genommen.
-
Die 4 zeigt
ein Ablaufdiagramm, das ausführlich
die Schritte zeigt, die ausgeführt
werden, wenn die Audiodaten für
einen ausgewählten
Teil des Dokuments wiedergegeben werden. Zuerst wählt ein Benutzer
in einem Schritt 400 den Textteil eines Dokuments aus,
der von dem Dienstprogramm zur Eingabe aus mehreren Quellen und
zur Wiedergabe wiedergegeben werden soll. Sobald der Wiedergabetext
ausgewählt
ist, bestimmt das Textverarbeitungsprogramm 210 in dem
Schritt 405, die Grenzen des ersten Wortes des Textteils 300.
Typischerweise wird die Wortgrenze durch das Vorhandensein eines
nicht alphanumerischen Zeichens, wie zum Beispiel eines Abstands,
eines Asterisks, eines Kommas, eines Punktes oder eines anderen
Zeichens angegeben. In einigen Sprachen sind die Wörter jedoch
nicht begrenzt. Stattdessen muss der Rechner eine Sprachform wählen, die
es versteht, die Wortunterbrechungen zu bestimmen. Beispiele der
Sprachen, in denen die Wörter
nicht begrenzt sind, schließen
Japanisch, Chinesisch und Thai ein. Das Wort wird im Folgenden als „aktuelles
Wort" bezeichnet.
-
Sobald
das Textverarbeitungsprogramm 210 die Größe und die
Grenzen des aktuellen Wortes bestimmt, bestimmt das Dienstprogramm
zur Eingabe aus mehreren Quellen und zur Wiedergabe 200 in dem
Schritt 410, ob das Wort mit gespeicherten Audiodaten 270,
die aus einer vorhergehenden Diktiersitzung gesichert wurden, verlinkt
ist.
-
Wenn
das Dienstprogramm zur Eingabe aus mehreren Quellen und zur Wiedergabe
in dem Schritt 410 bestimmt, dass gespeicherte Audiodaten 270 mit einem
Wort verlinkt sind, dann ruft das Dienstprogramm diese Audiodaten
in einem Schritt 415 ab. Das Textverarbeitungsprogramm
fordert die gespeicherten Audiodaten von der Eingabeschnittsstelle 139 ab,
die wiederum die Daten aus einem Magnetplattenlaufwerk 128 oder
aus einem anderen Medium wiedergewinnt. Die Eingabeschnittstelle 139 gibt
diese Audiodaten dann an das Textverarbeitungsprogramm 210 weiter.
-
Nach
dem Schritt 415 gibt das Dienstprogramm zur Eingabe aus
mehreren Quellen und zur Wiedergabe 200 die Audiodaten
in einem Schritt 420 hörbar
wieder. Typischerweise wendet das Textverarbeitungsprogramm 210 ein
separates Programmmodul oder einen Teil des Betriebssystems an,
um die Wiedergabe der Audiodaten durchzuführen, obwohl alternative Ausführungen
das Wiedergabeprogrammmodul innerhalb des Textverarbeitungsprogramms
einbetten können.
-
Als
Nächstes
bestimmt das Dienstprogramm zur Eingabe aus mehreren Quellen und
zur Wiedergabe 200, ob das Wort, das gerade in den Schritten 405
bis einschließlich 420 verarbeitet
wurde, das endgültige
Wort des durch den Benutzer in dem Schritt 400 ausgewählten Textes
ist. Für
den Fall, dass kein Wort in der Auswahl übrig bleibt, geht das Dienstprogramm
zu dem Endschritt 460 und hält an. Wenn zusätzliche
Wörter
verblei ben, geht das Dienstprogramm zur Eingabe aus mehreren Quellen und
zur Wiedergabe 200 zurück
zu dem Schritt 405, um die Grenzen des nächsten Wortes
in der Abfolge zu bestimmen.
-
Alternativ
kann das Dienstprogramm 200 in dem Schritt 410 bestimmen,
dass keine Spracheingabe mit dem Wort verlinkt ist. Dies wird der
Fall sein, wenn das durch das Dienstprogramm zur Eingabe aus mehreren
Quellen und zur Wiedergabe 200 verarbeitete Wort, beispielsweise
während
eines Editiervorganges des Dokuments, durch den Benutzer eingetastet
wurde. In diesem Fall überprüft das Dienstprogramm 200 das
Vorhandensein einer TTS-Eingabe 220, die dem aktuellen
Wort entspricht. Das Textverarbeitungsprogramm 210 führt diese
Prüfung durch
das Abfragen des TTS-Moduls 137 durch das erste Spracherkennungsprogrammmodul 240 über das
Vorhandensein einer mit dem aktuellen Wort gekennzeichneten TTS-Eingabe
durch.
-
Wenn
solch eine TTS-Eingabe 220 vorhanden ist, ruft das TTS-Modul 137 die
TTS-Eingabe ab und
sendet diesen durch die Eingabeschnittstelle 139 an das
Textverarbeitungsprogramm 210. Alternativ bestimmt das
TTS-Modul 137, durch Untersuchen der Umgebungs-TTS-Eingaben
entsprechend den Fonemen auf beiden Seiten der aktuellen TTS-Eingabe
und durch Auswählen
des fonetisch mit den Umgebungs-TTS-Eingaben am wahrscheinlichsten übereinstimmenden,
welche aus einer Vielzahl von TTS-Eingaben abzurufen ist. Das TTS-Modul 137 führt diese
Handlung in einem Schritt 430 aus.
-
Sobald
die TTS-Eingabe durch das Textverarbeitungsprogramm 210 empfangen
wurde, gibt das Dienstprogramm zur Eingabe aus mehreren Quellen und
zur Wiedergabe 200 die TTS-Eingabe in dem Schritt 420,
wie oben in Bezug auf die gespeicherten Audiodaten 270 ausgeführt, wieder.
Wahlweise können
die hörbaren
Eigenschaften der TTS-Eingabe, wie
zum Beispiel die Tonhöhe,
der Klang und die Geschwindigkeit, durch das Dienstprogramm vor
der Wiedergabe in dem Schritt 420 manipuliert werden, um
den Ton der TTS-Eingabe noch genauer an den der gespeicherten Audiodaten
anzupassen. Dies verringert die Dissonanz zwischen den beiden Arten
der Tonwiedergabe. Sobald die TTS-Eingabe vokalisiert wurde, wird
der zuvor ausführlich
dargestellte Schritt 405 ausgeführt.
-
Wenn
keine dem aktuellen Wort entsprechender TTS-Eingabe vorhanden ist,
führt das
Textverarbeitungsprogramm den Schritt 435 aus und trennt
das Wort in die es bildenden Foneme. In dem Schritt 440 gibt
das Textverarbeitungsprogramm diese Foneme über die Eingabeschnittstelle 139 an
das erste Spracherkennungsprogrammmodul 240 weiter. Ebenso
fordert das Spracherkennungsprogrammmodul, als ein Teil des Schrittes 440,
die dem ersten Fonem entsprechende TTS-Eingabe 220 von
dem Text-in-Sprache-Modul 137 ab.
Speziell analysiert das erste Spracherkennungsprogrammmodul 240 die
durch das Textverarbeitungsprogramm 210 weitergegebenen
Foneme und fordert von dem TTS-Modul die TTS-Eingabe 220 ab,
der die wahrscheinlichsten Allofone der Foneme umfasst. Der Schritt 440 endet
mit dem Abrufen der TTS-Eingabe und deren Rücksendung an das Textverarbeitungsprogramm 210.
-
Schlussfolgerungen
-
Das
Dienstprogramm zur Eingabe aus mehreren Quellen und zur Wiedergabe 200 kann
zusätzliche
Funktionen enthalten, beispielsweise die, dem Benutzer zu ermöglichen,
die Wiedergabegeschwindigkeit manuell zu variieren. Das Dienstprogramm 200 kann
ebenso Eingaben aus anderen Eingabequellen, neben denen, die aufgelistet
wurden, akzeptieren, einschließlich
alternativer Eingabeeinrichtungen und Steuersignale von unterschiedlichen
Programmen. Viele weitere Modifikationen und zusätzliche Merkmale werden in
Anbetracht der vorhergehenden Beschreibung der Ausführungen
der Erfindung offensichtlich werden. Es sollte deshalb verstanden
werden, dass sich das zuvor Gesagte, nur auf bestimmte Ausführungen
der Erfindung, wie in den folgenden Patentansprüchen definiert, bezieht.