-
HINTERGRUND
-
Die vorliegende Erfindung bezieht sich im Allgemeinen auf Techniken zum Verbessern der Qualität der Audioausgabe eines Beschallungssystems und im Besonderen auf Verbessern der Sprachqualität für Zuhörer der Audioausgabe des Beschallungssystems.
-
Beschallungssysteme werden häufig eingesetzt, um Zuhörern, z.B. Teilnehmern an Konferenzen, Vorträgen und Aufführungen in einem Theater oder Hörsaal oder Teilnehmern an Telefonkonferenzen und Webinaren, an geografisch verteilten Standorten über ein Datenübertragungsnetzwerk Sprache über Lautsprecher wiederzugeben. In solchen Systemen wird die über ein Mikrofon eingegebene Sprache von einem Hostsystem empfangen und optional aufgezeichnet, Audiodaten werden vom Hostsystem an einen oder mehrere Lautsprecher übertragen, und der (die) Lautsprecher gibt (geben) die wiedergegebene Sprache an die Zuhörer aus (d.h. in Form einer „Wiedergabe“). In vielen Fällen ist die über die Lautsprecher wiedergegebene Sprache keine perfekte Wiedergabe der eingegebenen Sprache (z.B. kann die Sprache undeutlich sein). Wenn beispielsweise die Einstellungen eines Lautsprechers nicht optimal sind, können der wiedergegebene Ton und damit auch die wiedergegebene Sprache verzerrt sein, sodass die Zuhörer sie nur schwer hören und/oder verstehen können. In anderen Fällen kann die eingegebene Sprache selbst mangelhaft sein, z.B. aufgrund der Position des Mikrofons in Bezug auf die Sprachquelle oder dessen suboptimale Einstellungen. Dies wiederum erschwert es den Zuhörern, die von den Lautsprechern wiedergegebene Sprache zu hören oder zu verstehen. In der Regel können solche Probleme im Zusammenhang mit der Sprachverständlichkeit der Audioausgabe durch Anpassen des Beschallungssystems gelöst werden. Wenn die Zuhörer den Moderator beispielsweise darauf hinweisen, dass das Gesprochene schwer zu hören oder zu verstehen ist, kann der Moderator die konfigurierbaren Einstellungen des Beschallungssystems anpassen oder den menschlichen Sprecher auffordern, seine Position relativ zum Mikrofon zu verändern. Dies führt jedoch zu Unterbrechungen und Verzögerungen, während die Anpassungen vorgenommen werden. Da es sich um manuelle Anpassungen handelt, werden die Schwierigkeiten der Zuhörer möglicherweise nicht vollständig behoben.
-
KURZDARSTELLUNG
-
Gemäß einem Aspekt der vorliegenden Erfindung wird ein durch einen Computer implementiertes Verfahren bereitgestellt. Das durch einen Computer implementierte Verfahren umfasst Durchführen von Spracherkennung anhand von Eingabeaudiodaten, die in ein Beschallungssystem eingegebene Sprache aufweisen. Das durch einen Computer implementierte Verfahren umfasst weiterhin Durchführen von Spracherkennung anhand mindestens einer Instanz von Ausgabeaudiodaten, die von einem oder mehreren Lautsprechern des Beschallungssystems wiedergegebene Sprache aufweisen. Das durch einen Computer implementierte Verfahren umfasst weiterhin Ermitteln eines Unterschieds zwischen einem Ergebnis der Spracherkennung anhand der Eingabeaudiodaten und einem Ergebnis der Spracherkennung anhand der mindestens einen Instanz der Ausgabeaudiodaten. Das durch einen Computer implementierte Verfahren umfasst weiterhin Feststellen, dass die Qualität der wiedergegebenen Sprache nicht zufriedenstellend ist, wenn der Unterschied größer als oder gleich groß wie ein Schwellenwert ist.
-
Gemäß einem weiteren Aspekt der vorliegenden Erfindung wird eine Vorrichtung bereitgestellt. Die Vorrichtung weist einen Prozessor und einen Datenspeicher auf. Der Prozessor ist so konfiguriert, dass er Spracherkennung anhand von Eingabeaudiodaten durchführt, die in ein Beschallungssystem eingegebene Sprache aufweisen. Der Prozessor ist weiterhin so konfiguriert, dass er Spracherkennung anhand mindestens einer Instanz von Ausgabeaudiodaten durchführt, die von einem oder mehreren Lautsprechern des Beschallungssystems wiedergegebene Sprache aufweisen. Der Prozessor ist weiterhin so konfiguriert, dass er einen Unterschied zwischen einem Ergebnis der Spracherkennung anhand der Eingabeaudiodaten und einem Ergebnis der Spracherkennung anhand der mindestens einen Instanz der Ausgabeaudiodaten ermittelt. Der Prozessor ist weiterhin so konfiguriert, dass er feststellt, dass die Qualität der wiedergegebenen Sprache nicht zufriedenstellend ist, wenn der Unterschied größer als oder gleich groß wie ein Schwellenwert ist.
-
Gemäß einem weiteren Aspekt der vorliegenden Erfindung wird ein Computerprogrammprodukt bereitgestellt. Das Computerprogrammprodukt weist ein durch einen Computer lesbares Speichermedium mit darauf enthaltenen Programmanweisungen auf. Die Programmanweisungen sind von einem Prozessor ausführbar, um den Prozessor zu veranlassen: Spracherkennung anhand von Eingabeaudiodaten durchzuführen, die in ein Beschallungssystem eingegebene Sprache aufweisen; Spracherkennung anhand mindestens einer Instanz von Ausgabeaudiodaten durchzuführen, die von einem oder mehreren Lautsprechern des Beschallungssystems wiedergegebene Sprache aufweisen; einen Unterschied zwischen einem Ergebnis der Spracherkennung anhand der Eingabeaudiodaten und einem Ergebnis der Spracherkennung anhand der mindestens einen Instanz der Ausgabeaudiodaten zu ermitteln; und festzustellen, dass die Qualität der wiedergegebenen Sprache nicht zufriedenstellend ist, wenn der Unterschied größer als oder gleich groß wie ein Schwellenwert ist.
-
Figurenliste
-
Nachfolgend werden beispielhafte Implementierungen der vorliegenden Offenbarung mit Bezug auf die begleitenden Zeichnungen beschrieben.
- 1 ist eine schematische Darstellung eines Beschallungssystems gemäß einer Ausführungsform der vorliegenden Erfindung.
- 2 ist ein Ablaufplan für ein Verfahren zum Erfassen und Korrigieren einer nicht zufriedenstellenden Sprachqualität gemäß einer Ausführungsform der vorliegenden Erfindung.
- 3 ist ein Ablaufplan für ein Verfahren zum Anpassen eines Beschallungssystems gemäß einer Ausführungsform der vorliegenden Erfindung, um die Sprachqualität zu verbessern.
- 4 ist ein Blockschaubild eines Beschallungssystems gemäß einer Ausführungsform der vorliegenden Erfindung.
-
AUSFÜHRLICHE BESCHREIBUNG
-
Die vorliegende Offenbarung stellt Systeme und Verfahren zum Erfassen bereit, wenn die Qualität der von einem Beschallungssystem wiedergegebenen Sprache nicht zufriedenstellend ist (z.B. schwer hörbar oder undeutlich/inkohärent für die Zuhörer), sowie zum Neukonfigurieren des Beschallungssystems, um die Qualität der wiedergegebenen Sprache zu verbessern. Die Techniken der vorliegenden Offenbarung können automatisch und in Echtzeit durchgeführt werden, um Unterbrechungen zu begrenzen und das Hörerlebnis der Zuhörer zu verbessern.
-
Gemäß der vorliegenden Offenbarung werden insbesondere ein oder mehrere Mikrofone verwendet, die an Positionen in der Hörumgebung verteilt sind, um Sprache zu erfassen, die von einem oder mehreren Lautsprechern eines Beschallungssystems wiedergegeben wird. Die Ausgabeaudiodaten, die die wiedergegebene Sprache aufweisen, die von jedem des einen oder mehreren Mikrofone empfangen wird, werden aufgezeichnet. Die Spracherkennung wird anhand der Ausgabeaudiodaten durchgeführt, die jedem des einen oder mehreren Mikrofone zugehörig sind, um die Qualität der Sprache zu ermitteln, die an der entsprechenden Mikrofonposition wiedergegeben wird. Darüber hinaus wird eine Spracherkennung anhand der Eingabeaudiodaten durchgeführt, die die in das Beschallungssystem eingegebene Sprache aufweisen, um die Qualität der von der Quelle stammenden Sprache zu ermitteln. Für jedes Mikrofon wird ein Vergleich zwischen einem Ergebnis der Spracherkennung, die anhand der Eingabeaudiodaten durchgeführt wird, und dem Ergebnis der Spracherkennung, die anhand der entsprechenden Ausgabeaudiodaten durchgeführt wird, vorgenommen. Anhand des Vergleichsergebnisses wird ermittelt, ob die Sprachqualität für die Zuhörer nicht zufriedenstellend ist, und wenn dies der Fall ist, werden Korrekturmaßnahmen ergriffen, z.B. Anpassungen am Beschallungssystem, um die Qualität der wiedergegebenen Sprache zu verbessern.
-
In der vorliegenden Offenbarung wird der Begriff „Sprache“ verwendet, um Töne oder Audiodaten zu bezeichnen, die Sprache enthalten. Der Begriff „Eingabeaudiodaten“ bezieht sich auf digitale Audiodaten für Töne oder Audiodaten, die Sprache enthalten und von einer Quelle (z.B. einem menschlichen Sprecher) stammen, die von einem Mikrofon des Beschallungssystems (hier „Eingabemikrofon“) erfasst wird. Der Begriff „Ausgabeaudiodaten“ bezieht sich auf digitale Audiodaten für Töne oder Audiodaten, die Sprache enthalten, die von einem oder mehreren Lautsprechern eines Beschallungssystems wiedergegeben und von einem Mikrofon eines Beschallungssystems erfasst wird (hier „Ausgabemikrofon“). Audiodaten „stellen“ oder „weisen“ demnach Töne oder Audiodaten dar bzw. auf, die Sprache enthalten, die von einem Mikrofon eines Beschallungssystems empfangen wird. Der Begriff „Aufzeichnen“ von Audiodaten bezieht sich auf Speichern von Audiodaten in Datenspeichern, was sowohl Zwischenspeichern von Audiodaten für die Datenübertragung über ein Netzwerk als auch temporäres und langfristiges Speichern von Audiodaten als Audiodateien umfasst.
-
1 ist eine schematische Darstellung eines Beschallungssystems gemäß einer Ausführungsform der vorliegenden Erfindung. Das Beschallungssystem 100 weist ein Hostverarbeitungssystem 110, eine Mehrzahl von Mikrofonen 120 und eine Mehrzahl von Lautsprechern 130 auf, die über ein Datenübertragungsnetzwerk 140 miteinander verbunden sind. In dem in 1 gezeigten System handelt es sich bei dem Beschallungssystem 100 um ein verteiltes System, das die Mikrofone 120 und die Lautsprecher 130 an verschiedenen Standorten (z.B. in Besprechungs- oder Konferenzräumen) aufweist. Mindestens ein Standort (Standort 1) weist das Hostverarbeitungssystem 110 auf, das im dargestellten Beispiel der Standort der Quelle der in das Beschallungssystem 100 eingegebenen Sprache ist. Andere Standorte (Standorte 2 und 3) weisen die Lautsprecher 130 auf, mit denen den Zuhörern in den entsprechenden Hörumgebungen die Audiodaten wiedergegeben werden.
-
Das Hostverarbeitungssystem 110 weist in der Regel ein Benutzerdatenverarbeitungssystem (z.B. ein Notebook), eine dedizierte Steuereinheit für das Beschallungssystem oder Ähnliches auf, die von einem Benutzer zum Betreiben des Beschallungssystems 100 verwendet werden kann. Die Mehrzahl der Mikrofone 120 weist ein Eingabemikrofon 122 auf, um Sprache von einer Quelle (z.B. einem menschlichen Sprecher) für die Wiedergabe durch das Beschallungssystem 100 zu erfassen und aufzuzeichnen. Bei dem Eingabemikrofon 122 kann es sich um ein dediziertes Mikrofon zum Empfangen von in das Beschallungssystem 100 eingegebenem Ton (z.B. ein Mikrofon an einem Rednerpult) oder Ähnliches oder um ein Mikrofon eines Benutzerdatenverarbeitungssystems handeln, das unter der Steuerung des Hostverarbeitungssystems 110 „eingeschaltet“ werden kann. Die Mehrzahl der Lautsprecher 130 gibt die eingegebene Sprache wieder und befindet sich an verschiedenen Positionen an einem oder mehreren Standorten, die Hörumgebungen bilden (Standorte 2 und 3). Jeder Lautsprecher 130 empfängt insbesondere über das Netzwerk 140 vom Hostverarbeitungssystem 110 Audiodaten, die der aufgezeichneten Sprache entsprechen, und gibt diese wieder. Die Lautsprecher 130 können einen oder mehrere dedizierte Lautsprecher 134 eines Beschallungssystems am Standort (z.B. einen Lautsprecher an einem festen Standort in einem Theater) oder Lautsprecher 132 von Benutzerdatenverarbeitungssystemen, vernetzten Telefonen oder Ähnlichem aufweisen. Das Datenübertragungsnetzwerk 140 kann jedes geeignete drahtgebundene oder drahtlose Netzwerk zur Datenübertragung zwischen dem Hostverarbeitungssystem 110, den Mikrofonen 120 und den Lautsprechern 130 aufweisen.
-
Gemäß einer Ausführungsform weist die Mehrzahl der Mikrofone 120 weiterhin die Ausgabemikrofone 124 auf, die sich an Positionen in den Hörumgebungen (Standorte 2 und 3) befinden, um die von den Lautsprechern 130 wiedergegebene Sprache wie hier beschrieben zur Analyse zu empfangen und aufzuzeichnen. Die Ausgabemikrofone 124 können dedizierte Mikrofone eines Beschallungssystems aufweisen, die z.B. den Lautsprechern 134 am Standort zugehörig sind. Die Ausgabemikrofone 124 können auch Mikrofone von Benutzerdatenverarbeitungssystemen oder anderen Einheiten in den Hörumgebungen aufweisen, die vom Hostverarbeitungssystem 110 erkannt und zweckgebunden genutzt werden können. In dem verteilten System von 1 sind die Ausgabemikrofone 124 in einer Hörumgebung (Standort 3) jeweils einem lokalen Verarbeitungssystem 150, z.B. einer Systemeinheit, zugehörig, um die wiedergegebene Sprache als Ausgabeaudiodaten zum Übertragen an das Hostverarbeitungssystem 110 über das Netzwerk 140 aufzuzeichnen. Die Ausgabemikrofone 124 in einer anderen Hörumgebung (Standort 2) sind so konfiguriert, dass sie Audiodaten über das Netzwerk 140 zum Hostverarbeitungssystem 110 übertragen, das die Ausgabeaudiodaten aufzeichnet. Wie für den Fachmann ersichtlich ist, kann die Mehrzahl der Mikrofone 120 digitale Mikrofone, die digitale Ausgabesignale erzeugen, und/oder analoge Mikrofone aufweisen, die analoge Ausgabesignale erzeugen, die von einer anderen Komponente entlang der Audiosignalkette empfangen und in digitale Audiodaten umgewandelt werden.
-
Das Hostverarbeitungssystem 110 zeichnet die über das Eingabemikrofon 122 von der Quelle empfangene Sprache als Eingabeaudiodaten auf. Darüber hinaus empfängt das Hostverarbeitungssystem 110 Ausgabeaudiodaten, die der von den Lautsprechern 130 wiedergegebenen Sprache entsprechen, die von jedem Ausgabemikrofon 124 aufgezeichnet und über das Netzwerk 140 übertragen wird. Gemäß einer Ausführungsform der vorliegenden Erfindung ist das Hostverarbeitungssystem 110 so konfiguriert, dass es Spracherkennung anhand von Eingabeaudiodaten, die dem Eingabemikrofon 122 zugehörig sind, und anhand von Ausgabeaudiodaten, die jedem Ausgabemikrofon 124 zugehörig sind, durchführt. Spracherkennungstechniken sind in der Technik bekannt, und das Hostverarbeitungssystem 110 kann jede geeignete Spracherkennungstechnik implementieren. Die Spracherkennung kann ein Transkript der Sprache und/oder einen Wert oder einen Grad einer Zuverlässigkeitsmessung oder Ähnliches ergeben, der die Zuverlässigkeit der Spracherkennung angibt. Die Spracherkennung kann kontinuierlich oder periodisch anhand der Eingabeaudiodaten und der entsprechenden Ausgabeaudiodaten durchgeführt werden. Das Hostverarbeitungssystem 110 vergleicht weiterhin ein Ergebnis der Spracherkennung, das für die jedem Ausgabemikrofon 124 zugehörigen Ausgabeaudiodaten ermittelt wurde, mit einem Ergebnis der Spracherkennung, das für die entsprechenden, dem Eingabemikrofon 122 zugehörigen Eingabeaudiodaten ermittelt wurde. Ergibt der Vergleich, dass ein inakzeptabler Unterschied zwischen dem für die Ausgabeaudiodaten eines oder mehrerer Ausgabemikrofone 124 ermittelten Ergebnis und dem für die Eingabeaudiodaten des Eingabemikrofons 122 ermittelten Ergebnis besteht, stellt das Hostverarbeitungssystem 110 fest, dass die Sprachqualität der wiedergegebenen Sprache für die Zuhörer nicht zufriedenstellend ist, und ergreift Korrekturmaßnahmen. Die Korrekturmaßnahmen können beispielsweise Anpassen von Parametern von Komponenten des Beschallungssystems umfassen (z.B. Verstärkungs- oder Kanalentzerrungseinstellungen einer Soundkarte, die einen Lautsprecher steuert), oder Senden einer Nachricht an einen Benutzer, damit dieser bestimmte Maßnahmen ergreift (z.B. Anweisungen an einen menschlichen Sprecher, näher an das Eingabemikrofon zu gehen oder sich weiter von ihm zu entfernen). Ein inakzeptabler Unterschied kann z.B. ermittelt werden, wenn ein Unterschied in den von der Spracherkennung abgeleiteten Vergleichsergebnissen, z.B. ein Unterschied im Zuverlässigkeitsgrad oder ein gemessener Unterschied im Sprachtranskript, wie nachstehend beschrieben kleiner als oder gleich groß wie ein Schwellenwert ist.
-
Entsprechend kann das Hostverarbeitungssystem 110 erkennen, wenn die Qualität der vom Beschallungssystem 100 wiedergegebenen Sprache für die Zuhörer nicht zufriedenstellend ist (d.h. undeutlich, verzerrt oder zu leise usw.), und Maßnahmen zur Verbesserung der Sprachqualität ergreifen. Da die offenbarten Techniken automatisch und in Echtzeit durchgeführt werden können, wird das Hörerlebnis verbessert. In der in 1 dargestellten Ausführungsform werden die offenbarten Techniken in dem Hostverarbeitungssystem 110 durchgeführt. Wie für den Fachmann ersichtlich ist, kann die vorliegende Erfindung in jeder anderen Verarbeitungseinheit oder jedem anderen System implementiert werden, die bzw. das mit dem Beschallungssystem 100 Daten austauscht, z.B. in einem lokalen Verarbeitungssystem 150 oder in einer Kombination von Verarbeitungseinheiten.
-
2 ist ein Ablaufplan für ein Verfahren 200 zum Erfassen und Korrigieren einer nicht zufriedenstellenden Sprachqualität gemäß einer Ausführungsform der vorliegenden Erfindung. Das Verfahren 200 kann zum Beispiel vom Hostverarbeitungssystem 110 des Beschallungssystems 100 von 1 durchgeführt werden.
-
Das Verfahren 200 beginnt bei Schritt 205. Schritt 205 kann beispielsweise als Reaktion auf den Beginn eines Soundchecks des Beschallungssystems, als Reaktion auf den Beginn eines Gesprächs oder auf andere Weise begonnen werden.
-
In Schritt 210 empfängt das Beschallungssystem von einer Quelle Eingabeaudiodaten für die in das Beschallungssystem eingegebene Sprache. Die Eingabeaudiodaten können zum Beispiel vom Eingabemikrofon 122 des Beschallungssystems 100 von 1 als Reaktion auf die Sprache eines menschlichen Sprechers, der in das Eingabemikrofon 122 spricht, empfangen werden. Die Eingabeaudiodaten werden in der Regel im Wesentlichen in Echtzeit (d.h. mit minimalem Zeitverzug) empfangen und aufgezeichnet (z.B. in einer Datei mit Eingabeaudiodaten gespeichert), z.B. durch das Hostverarbeitungssystem 110 von 1.
-
In Schritt 220 führt das Beschallungssystem eine Spracherkennung anhand der Eingabeaudiodaten durch, um ein Spracherkennungsergebnis von Eingabeaudiodaten zu ermitteln, das die Sprachqualität angibt. Zum Durchführen der Spracherkennung kann jede geeignete Spracherkennungstechnik oder jeder geeignete Algorithmus verwendet werden. Das Ergebnis der Spracherkennung umfasst in der Regel ein Transkript der in den entsprechenden Audiodaten enthaltenen Sprache. Die Qualität des Transkripts kann ein Hinweis auf die Qualität der Sprache sein. Darüber hinaus kann das Ergebnis der Spracherkennung einen Wert oder einen Grad einer Zuverlässigkeitsmessung oder Ähnliches umfassen, der die Zuverlässigkeit der Spracherkennung angibt. Eine solche Zuverlässigkeitsmessung ist auf dem Gebiet der Spracherkennung bekannt. Der Zuverlässigkeitsgrad kann somit auch ein Hinweis auf die Qualität der Sprache sein. Die Spracherkennung kann weitere Ergebnisse bereitstellen, die die Qualität der Sprache anzeigen.
-
In Schritt 230 empfängt das Beschallungssystem Ausgabeaudiodaten für entsprechend wiedergegebene Sprache, die von Lautsprechern des Beschallungssystems an einer oder mehreren Positionen in den Hörumgebungen wiedergegeben werden. Beispielsweise kann von jedem des einen oder der mehreren Ausgabemikrofone 124 eine Instanz von Ausgabeaudiodaten empfangen werden, die wiedergegebene Sprache erfassen, die von den Lautsprechern 130 des in 1 dargestellten Beschallungssystems 100 wiedergegeben wird. Die Ausgabeaudiodaten werden in der Regel im Wesentlichen in Echtzeit empfangen, sind aber notwendigerweise in Bezug auf die Eingabeaudiodaten verzögert. Das Übertragen der Eingabeaudiodaten zu den Lautsprechern und das Übertragen der entsprechenden Ausgabeaudiodaten, die den Ausgabemikrofonen 124 zugehörig sind, über das in 1 dargestellte Netzwerk 140 führt beispielsweise zu Zeitverzug. In einigen Implementierungen werden die Ausgabeaudiodaten aufgezeichnet, z.B. durch das lokale Verarbeitungssystem 150 und/oder das in 1 dargestellte Hostverarbeitungssystem 110.
-
In Schritt 240 führt das Beschallungssystem eine Spracherkennung anhand der Ausgabeaudiodaten durch, um ein Spracherkennungsergebnis der Ausgabeaudiodaten zu ermitteln, das die Sprachqualität angibt. Das Beschallungssystem führt insbesondere in Schritt 240 eine Spracherkennung anhand jeder empfangenen Instanz von Ausgabeaudiodaten durch. In Schritt 240 verwendet das Beschallungssystem die in Schritt 220 verwendete Spracherkennungstechnik, sodass die Ergebnisse in Schritt 220 und Schritt 240 vergleichbar sind.
-
Entsprechend leitet das Beschallungssystem in Schritt 210 und Schritt 220 ein oder mehrere Spracherkennungsergebnisse für die Eingabeaudiodaten ab, und in Schritt 230 und Schritt 240 leitet das Beschallungssystem ein oder mehrere Spracherkennungsergebnisse für jede Instanz der Ausgabeaudiodaten ab. In jedem Fall umfasst das Spracherkennungsergebnis ein Sprachtranskript und/oder einen Zuverlässigkeitsgrad oder Ähnliches. Wie für den Fachmann ersichtlich ist, können die Schritte 210 bis 240 in der Praxis gleichzeitig durchgeführt werden, insbesondere bei Anwendungen, in denen die Eingabeaudiodaten und die Ausgabeaudiodaten kontinuierlich, z.B. in Echtzeit, empfangen und verarbeitet werden.
-
In der beispielhaften Implementierung von 2 werden mehrere Instanzen von Ausgabeaudiodaten empfangen. Jede Instanz von Ausgabeaudiodaten ist insbesondere einem bestimmten Ausgabemikrofon zugehörig, das in einer Hörumgebung positioniert ist. In Schritt 250 wählt das Beschallungssystem ein Spracherkennungsergebnis für eine erste Instanz von Ausgabeaudiodaten aus.
-
In Schritt 260 vergleicht das Beschallungssystem das ausgewählte Spracherkennungsergebnis für die Instanz der Ausgabeaudiodaten mit dem Spracherkennungsergebnis für die entsprechenden Eingabeaudiodaten und ermittelt einen Unterschied in der Sprachqualität. Der Unterschied ist ein quantitativer Wert, der den Unterschied in der Sprachqualität darstellt, der anhand des Spracherkennungsergebnisses bzw. der Spracherkennungsergebnisse berechnet wird. In einer Implementierung kann das Beschallungssystem in Schritt 260 den Text eines Transkripts der Spracherkennung, der für die Instanz der Ausgabeaudiodaten ermittelt wurde, mit dem Text eines Transkripts der entsprechenden Eingabeaudiodaten vergleichen und einen Unterschied ermitteln, z.B. einen groben numerischen Unterschied oder einen prozentualen Unterschied im transkribierten Text (z.B. in den Wörtern). Unterschiede im Text der transkribierten Sprache zeigen an, dass die Sprachqualität an den Lautsprechern im Vergleich zur Sprachqualität an der Quelle vermindert ist, und die Höhe des Unterschieds zeigt das Ausmaß der Qualitätsverschlechterung an. In einer anderen Implementierung kann das Beschallungssystem in Schritt 260 einen Zuverlässigkeitsgrad der Spracherkennung, der für die Instanz der Ausgabeaudiodaten ermittelt wurde, mit dem Zuverlässigkeitsgrad vergleichen, der für die entsprechenden Eingabeaudiodaten ermittelt wurde, und einen Unterschied ermitteln. Wie oben beschrieben, gibt der Zuverlässigkeitsgrad die Zuverlässigkeit der transkribierten Sprache an (z.B. als einen in Prozent ausgedrückten Wert einer Zuverlässigkeit). Da die Zuverlässigkeit der transkribierten Sprache von der Qualität der wiedergegebenen Sprache für die Zuhörer abhängt, zeigt ein Unterschied im Zuverlässigkeitsgrad an, dass die Qualität der wiedergegebenen Sprache an den Lautsprechern im Vergleich zur Qualität der Sprache an der Quelle vermindert ist, und die Höhe des Unterschieds zeigt das Ausmaß der Qualitätsverschlechterung an. In anderen Implementierungen kann das Beschallungssystem andere von dem oder den Spracherkennungsergebnissen abgeleitete Messwerte vergleichen, um eine Verringerung der Sprachqualität zu erfassen. Wie für den Fachmann ersichtlich ist, kann das Beschallungssystem in Schritt 260 ein Spracherkennungsergebnis für eine Probe der Ausgabeaudiodaten mit einem Spracherkennungsergebnis für eine entsprechende Probe der Eingabeaudiodaten vergleichen. In einigen Szenarien können die Schritte 210 bis 240 kontinuierlich anhand der eingegebenen und wiedergegebenen Sprache durchgeführt werden (z.B. im Wesentlichen in Echtzeit). In diesem Fall können entsprechende Proben von Eingabeaudiodaten und Ausgabeaudiodaten, die die gleiche eingegebene und wiedergegebene Sprache aufweisen, mithilfe einer beliebigen geeigneten Technik identifiziert werden, z.B. durch Zeitsynchronisation und/oder Audioabgleichen (Identifizieren der gleichen Audioabschnitte in den Audiodaten) oder Spracherkennungs-Transkriptabgleichen (Identifizieren der gleichen Textabschnitte durch Abgleichen von Wörtern und Phrasen im transkribierten Text). In anderen Szenarien können die Schritte 210 bis 240 durch periodisches Probenehmen der eingegebenen und der wiedergegebenen Sprache durchgeführt werden (z.B. Probenehmen der eingegebenen und der wiedergegebenen Sprache über synchronisierte, zeitlich getrennte Zeitfenster), sodass sich das Spracherkennungsergebnis bzw. die Spracherkennungsergebnisse auf entsprechende Proben der Eingabeaudiodaten und Ausgabeaudiodaten beziehen.
-
In Schritt 270 ermittelt das Beschallungssystem, ob der Unterschied größer als oder gleich groß wie ein Schwellenwert ist. Der Schwellenwert ist ein Wert der Unterschiedsmessung (z.B. Anzahl/Prozentsatz oder Wörter im Text oder Zuverlässigkeitsmessung), der eine inakzeptable Verringerung der Sprachqualität der wiedergegebenen Sprache im Vergleich zur Qualität der eingegebenen Sprache darstellt. Der Schwellenwert kann je nach den Anforderungen der Anwendung gewählt und vom Benutzer geändert werden. Bei einigen Anwendungen kann beispielsweise ein Unterschied in der Sprachqualität von bis zu 5 % akzeptabel sein, weshalb der Schwellenwert auf 5 % eingestellt wird, während bei anderen Anwendungen ein Unterschied in der Sprachqualität von bis zu 10 % akzeptabel sein kann, weshalb der Schwellenwert auf 10 % eingestellt wird. In einigen beispielhaften Implementierungen kann der Schwellenwert auf der Grundlage der Qualität der eingegebenen Sprache wie nachstehend beschrieben angepasst werden.
-
Wenn der Unterschied kleiner als der Schwellenwert ist (Verzweigung NEIN von Schritt 270), ist die Qualität der wiedergegebenen Sprache in der ausgewählten Instanz der Ausgabeaudiodaten zufriedenstellend, und das Beschallungssystem führt den Schritt 280 aus. In Schritt 280 ermittelt das Beschallungssystem, ob weitere Instanzen von Ausgabeaudiodaten zu berücksichtigen sind. Sind weitere Instanzen von Ausgabeaudiodaten zu berücksichtigen (Verzweigung JA von Schritt 280), beginnt das Beschallungssystem mit dem Ausführen von Schritt 250 und fährt dann in einer Schleife über Schritt 260 und Schritt 270 fort, bis das Beschallungssystem in Schritt 280 feststellt, dass es keine weiteren Instanzen von Ausgabeaudiodaten zu berücksichtigen gibt. Nach dem Feststellen, dass keine weiteren Instanzen von Ausgabeaudiodaten zu berücksichtigen sind, beendet das Beschallungssystem das Ausführen in Schritt 295.
-
Wenn der Unterschied größer als oder gleich groß wie der Schwellenwert ist (Verzweigung JA von Schritt 270), ist die Qualität der wiedergegebenen Sprache in der ausgewählten Instanz der Ausgabeaudiodaten nicht zufriedenstellend, und das Beschallungssystem führt Schritt 290 aus. In Schritt 290 führt das Beschallungssystem eine Korrekturmaßnahme durch, um die Qualität der vom Beschallungssystem wiedergegebenen Sprache zu verbessern. Die Korrekturmaßnahme kann z.B. wie nachstehend unter Bezugnahme auf 3 beschrieben Ändern konfigurierbarer Parameter des Beschallungssystems und/oder Senden von Nachrichten an die Benutzer umfassen.
-
Wie für den Fachmann ersichtlich ist, sind viele Varianten der in 2 dargestellten beispielhaften Implementierung möglich. Zum Beispiel kann die Spracherkennung anhand von Ausgabeaudiodaten durchgeführt werden, die jedem Ausgabemikrofon an einer entsprechenden lokalen Verarbeitungseinheit oder einer zu dieser gehörigen Benutzereinheit zugehörig sind. Das Beschallungssystem kann somit in Schritt 240 stattdessen über das Netzwerk 140 ein Spracherkennungsergebnis für Ausgabeaudiodaten empfangen, die jedem Ausgabemikrofon zugehörig sind, und Schritt 230 kann entfallen. Auf diese Weise wird die Verarbeitungslast für Spracherkennung auf mehrere Verarbeitungseinheiten verteilt. Darüber hinaus kann das Beschallungssystem vor Schritt 210 verfügbare Mikrofone an Positionen in den Hörumgebungen identifizieren und einen Satz von Mikrofonen zur Verwendung als Ausgabemikrofone auswählen. Beispielsweise können Mikrofone von Benutzereinheiten auf der Grundlage einer bestehenden Verbindung zum Netzwerk 140 von einer Hörumgebung aus oder anhand der Koordinaten eines globalen Positionsbestimmungssystems (oder eines vergleichbaren Systems) in einer Hörumgebung identifiziert werden. In diesem Fall kann eine Nachricht an den Benutzer gesendet werden, in der um die Erlaubnis gebeten wird, ein identifiziertes Mikrofon der Benutzereinheit zum Anhören der wiedergegebenen Sprache zu verwenden, und der Benutzer kann entscheiden, ob er die Erlaubnis erteilt oder verweigert. Wenn die Erlaubnis erteilt wird, kann das Beschallungssystem dann das Mikrofon und alle anderen Funktionen einschalten, die erforderlich sind, damit die Benutzereinheit die Ausgabeaudiodaten in Schritt 230 sendet. In einem anderen Beispiel können eigenständige Mikrofone, die in der Hörumgebung an das Netzwerk angeschlossen sind, identifiziert und zum Senden von Ausgabeaudiodaten verwendet werden (z.B. wenn die konfigurierten Berechtigungen des Mikrofons (der Mikrofone) dies erlauben). Darüber hinaus führt das Beschallungssystem Korrekturmaßnahmen durch, wenn es in Schritt 270 feststellt, dass die Qualität der wiedergegebenen Sprache in einer einzelnen ausgewählten Instanz der Ausgabeaudiodaten nicht zufriedenstellend ist. In anderen Implementierungen können Korrekturmaßnahmen auf der Grundlage anderer Kriterien durchgeführt werden. Das Beschallungssystem führt zum Beispiel Korrekturmaßnahmen durch, wenn es feststellt, dass die Qualität der wiedergegebenen Sprache für mehrere Instanzen von Ausgabeaudiodaten nicht zufriedenstellend ist. In einem anderen Beispiel können Korrekturmaßnahmen auf der Grundlage der Position des Ausgabemikrofons (der Ausgabemikrofone) in der Hörumgebung durchgeführt werden, die der nicht zufriedenstellend wiedergegebenen Sprache zugehörig ist.
-
3 ist ein Ablaufplan für ein Verfahren 300 zum Anpassen eines Beschallungssystems gemäß einer Ausführungsform der vorliegenden Erfindung, um die Sprachqualität zu verbessern. Das Verfahren 300 kann z.B. als Korrekturmaßnahme in dem in 2 dargestellten Schritt 290 durchgeführt werden. Das Verfahren 300 kann zum Beispiel vom Hostverarbeitungssystem 110 des in 1 dargestellten Beschallungssystems 100 oder von einer anderen Verarbeitungseinheit des Beschallungssystems durchgeführt werden.
-
Das Verfahren 300 beginnt bei Schritt 305. Das Verfahren 300 kann beispielsweise als Reaktion darauf beginnen, dass ein Unterschied zwischen dem Spracherkennungsergebnis bzw. den Spracherkennungsergebnissen der Ausgabeaudiodaten und der Eingabeaudiodaten festgestellt wird, der größer als oder gleich groß wie ein Schwellenwert ist. Wenn der Unterschied größer als oder gleich groß wie ein Schwellenwert ist, zeigt dies an, dass die Qualität der wiedergegebenen Sprache nicht zufriedenstellend ist.
-
In Schritt 310 prüft das Beschallungssystem die Sprachqualität der von der Quelle eingegebenen Sprache. In Schritt 310 kann das Beschallungssystem zum Beispiel ein Ergebnis der Spracherkennung mit einem Schwellenwert für die Sprachqualität vergleichen. Der Schwellenwert kann ein vordefinierter Zuverlässigkeitsgrad sein (z.B. 60 %). Der Schwellenwert kann von einem Benutzer konfiguriert werden. Ein Unterschreiten des Schwellenwerts bedeutet, dass die Qualität der eingegebenen Sprache inakzeptabel ist. In anderen Beispielen kann das Beschallungssystem in Schritt 310 die Eingabeaudiodaten unter Verwendung einer oder mehrerer Techniken verarbeiten, die Probleme identifizieren, die sich negativ auf die Qualität der eingegebenen Sprache auswirken, wie z.B. eine hohe Lautstärke von Hintergrundgeräuschen im Verhältnis zur eingegebenen Sprache (erkennbar an einem niedrigen Signal-zu-Rausch-Verhältnis), die Position des menschlichen Sprechers zum Eingabemikrofon (erkennbar an „Knalleffekten“), die Einstellungen (z.B. Tonempfindlichkeit oder Verstärkungs-/Lautstärkepegel) des Eingabemikrofons und Ähnliches. Somit kann das Beschallungssystem in Schritt 310 eine Reihe von Tests durchführen, um potenzielle Probleme zu ermitteln, die der Audioeingabe zugehörig sind.
-
In Schritt 320 ermittelt das Beschallungssystem, ob die Qualität der von der Quelle eingegebenen Sprache akzeptabel ist. Beispielsweise kann das Beschallungssystem in Schritt 320 ermitteln, ob das Beschallungssystem in Schritt 310 ein Problem mit der eingegebenen Sprache festgestellt hat, das darauf hindeutet, dass die Sprachqualität inakzeptabel ist. Als Reaktion auf ein Feststellen, dass die Qualität der eingegebenen Sprache akzeptabel ist (Verzweigung JA von Schritt 320), fährt das Beschallungssystem mit Schritt 340 fort. Als Reaktion auf ein Feststellen, dass die Qualität der eingegebenen Sprache inakzeptabel ist (Verzweigung NEIN von Schritt 204), fährt das Beschallungssystem jedoch mit Schritt 330 fort.
-
In Schritt 330 sendet das Beschallungssystem eine Warnmeldung an einen Benutzer an der Quelle. Die Warnmeldung an den Benutzer kann insbesondere Anweisungen enthalten, auf der Grundlage des Testergebnisses bzw. der Testergebnisse in Schritt 310 Anpassungen vorzunehmen. Liegt das Ergebnis der an den Eingabeaudiodaten durchgeführten Spracherkennung beispielsweise unter dem Schwellenwert, kann der menschliche Sprecher durch die Warnmeldung aufgefordert werden, deutlicher zu sprechen. Wenn in einem anderen Beispiel durch einen Test ein Problem mit der Position des menschlichen Sprechers zum Eingabemikrofon festgestellt wird, kann die Meldung Anweisungen enthalten, näher an das Eingabemikrofon zu gehen oder sich etwas von ihm zu entfernen. Wird in einem weiteren Beispiel durch einen Test ein Problem mit dem Eingabemikrofon festgestellt, kann die Warnmeldung Anweisungen zum Anpassen der Mikrofoneinstellungen (z.B. Tonempfindlichkeit oder Verstärkungs-/Lautstärkepegel) enthalten. In anderen Implementierungen kann in Szenarien, in denen das Beschallungssystem in Schritt 310 ein Problem mit dem Eingabemikrofon feststellt, ein automatisches Anpassen des Eingabemikrofons durchgeführt werden, z.B. mit den nachstehend beschriebenen Schritten 340 bis 370.
-
In Schritt 340 nimmt das Beschallungssystem eine erste Parameteranpassung vor. Der angepasste Parameter kann jeden unabhängig konfigurierbaren Parameter oder jede Einstellung einer einzelnen Komponente des Beschallungssystems aufweisen, z.B. eine Soundkarte, einen Lautsprecher oder ein Mikrofon. Geeignete Parameter können Verstärkungs- und Entzerrungseinstellungen und Ähnliches für eine Audiokomponente umfassen. Wie für den Fachmann ersichtlich ist, umfassen Entzerrungseinstellungen anpassbare Einstellungen für eine Mehrzahl von Frequenzbereichen (auch als Frequenzbänder oder Kanäle bezeichnet) der Audiosignale. Was die Entzerrung betrifft, entspricht somit jedes anpassbare Frequenzband einer Komponente einem anpassbaren Parameter. Entsprechend weisen die anpassbaren Parameter eines Beschallungssystems konfigurierbare Einstellungen, z.B. Verstärkungs- und Entzerrungseinstellungen, pro konfigurierbarer Komponente des Beschallungssystems auf. Die Parameteranpassung kann ein positives oder negatives Inkrement des Parameterwerts einer bestimmten Audiokomponente, z.B. eines Lautsprechers, aufweisen. Die Parameteranpassung lässt sich als Inkrement eines bestehenden Parameterwerts oder als neuer (Ziel-)Wert für den Parameter der Komponente definieren. In Schritt 340 kann das Beschallungssystem die erste Parameteranpassung zufällig wählen. Alternativ dazu kann das Beschallungssystem die erste Parameteranpassung mithilfe eines intelligenten Auswahlschemas auswählen, das wie nachstehend beschrieben vordefiniert oder erlernt sein kann. Entsprechend kann das Beschallungssystem in Schritt 340 Senden von Konfigurationsanweisungen an eine entfernt angeordnete Komponente des Beschallungssystems (z.B. die Soundkarte eines Lautsprechers) aufweisen, um einen identifizierten Parameter einer Komponente des Beschallungssystems mit einem bestimmten Wert oder einem bestimmten Inkrement anzupassen. In einigen Implementierungen kann das Beschallungssystem in Schritt 340 Senden von Konfigurationsanweisungen aufweisen, um einen identifizierten Parameter an einen Zielwert anzupassen.
-
In Schritt 350 ermittelt das Beschallungssystem die Auswirkungen der ersten Parameteranpassung in Schritt 340 und speichert Informationen über das festgestellte Verhältnis. Das Beschallungssystem kann insbesondere in Schritt 350 eine Iteration von Schritt 210 zu Schritt 260 des in 2 dargestellten Verfahrens 200 nach der ersten Parameteranpassung durchführen und die Auswirkungen der Anpassung ermitteln. Das System kann beispielsweise in Schritt 350 die Auswirkungen der Anpassung ermitteln, indem es den Unterschied in der Sprachqualität der wiedergegebenen Sprache und der eingegebenen Sprache, der in Schritt 260 in der Iteration von Schritt 210 zu Schritt 260 des in 2 dargestellten Verfahrens 200 ermittelt wurde, vor und nach der Parameteranpassung vergleicht. In Schritt 350 kann das Beschallungssystem positive oder negative Auswirkungen auf die Qualität der wiedergegebenen Sprache ermitteln, die sich aus der ersten Parameteranpassung ergeben (z.B. eine prozentuale Verbesserung oder Verschlechterung der Sprachqualität). Das Beschallungssystem kann den Parameter und das Inkrement, die der Parameteranpassung und den ermittelten Auswirkungen auf die Sprachqualität entsprechen, speichern, die zusammen Informationen über das Verhältnis zwischen dem ersten Parameter und der Qualität der wiedergegebenen Sprache für das Beschallungssystem bereitstellen.
-
In Schritt 360 ermittelt das Beschallungssystem, ob die Qualität der wiedergegebenen Sprache zufriedenstellend ist, nachdem die erste Parameteranpassung in Schritt 340 erfolgt ist. Das Beschallungssystem kann z.B. Schritt 270 des in 2 dargestellten Verfahrens 200 entsprechen. In einigen Implementierungen kann der Schwellenwert, der in Schritt 360 verwendet wird, um zu ermitteln, ob die Qualität der wiedergegebenen Sprache zufriedenstellend ist, auf der Grundlage der Qualität der eingegebenen Sprache angepasst werden. So ist beispielsweise der Zuverlässigkeitsgrad (oder ein Äquivalent) des Spracherkennungsergebnisses für die wiedergegebene Sprache zwangsläufig geringer als für die eingegebene Sprache. Der Schwellenwert für den Zuverlässigkeitsgrad (oder ein Äquivalent) kann somit angepasst oder auf der Grundlage der Qualität der wiedergegebenen Sprache ermittelt werden. Der Schwellenwert kann z.B. eine Funktion des Wertes des Zuverlässigkeitsgrads (oder eines Äquivalents) für die eingegebene Sprache sein, z.B. ein fester oder variabler Prozentsatz davon (z.B. 90 % bis 95 %). Als Reaktion auf ein Feststellen, dass die Qualität der wiedergegebenen Sprache zufriedenstellend ist (Verzweigung JA von Schritt 360), endet das Verfahren mit Schritt 375. Als Reaktion auf ein Feststellen, dass die Qualität der wiedergegebenen Sprache noch immer nicht zufriedenstellend ist (Verzweigung NEIN von Schritt 360), fährt das Verfahren jedoch mit Schritt 370 fort.
-
In Schritt 370 ermittelt das Beschallungssystem, ob weitere konfigurierbare Parameteranpassungen vorzunehmen sind. Das Beschallungssystem kann insbesondere in einigen Implementierungen als Teil der Korrekturmaßnahme von Schritt 290 des in 2 gezeigten Verfahrens 200 nur einmal einen vorgegebenen Satz von Parameteranpassungen durchlaufen. Als Reaktion auf ein Feststellen, dass weitere Parameteranpassungen vorgenommen werden können (Verzweigung JA von Schritt 370), kehrt das Verfahren zu Schritt 340 zurück, in dem eine nächste Parameteranpassung vorgenommen wird. Das Beschallungssystem fährt in einer Schleife von Schritt 350 bis Schritt 370 fort, bis das Beschallungssystem feststellt, dass keine weiteren Parameteranpassungen mehr vorzunehmen sind. Als Reaktion auf ein Feststellen, dass keine weiteren Parameteranpassungen mehr vorzunehmen sind (Verzweigung NEIN von Schritt 370), endet das Verfahren bei Schritt 375. In anderen Implementierungen kann das Beschallungssystem wiederholt Zyklen eines Satzes von Parameteranpassungen des Beschallungssystems durchlaufen, bis eine vordefinierte Bedingung erfüllt ist. Die Bedingung kann z.B. lauten, dass die Qualität der wiedergegebenen Sprache zufriedenstellend ist, dass sich die Qualität der wiedergegebenen Sprache durch aufeinanderfolgende Parameteranpassungen nicht signifikant verbessert (d.h. die Sprachqualität ist maximiert) oder dass ein Zeitgeber abläuft. In diesem Fall kann Schritt 370 ausgelassen werden, das Beschallungssystem ermittelt in Schritt 360, ob eine oder mehrere der Bedingungen erfüllt sind, und ist dies nicht der Fall, kehrt das Verfahren 300 zu Schritt 340 zurück, in dem die nächste Parameteranpassung vorgenommen wird. Das Verfahren 300 wird dann in einer Schleife von Schritt 350 bis Schritt 360 fortgesetzt, bis das Beschallungssystem feststellt, dass die Qualität der Audioausgabe zufriedenstellend ist (oder eine andere Bedingung erfüllt ist), und das Verfahren endet bei Schritt 375.
-
Entsprechend verbessert das Beschallungssystem mit dem Verfahren 300 die Qualität der wiedergegebenen Sprache, wenn die eingegebene Sprache eine akzeptable Qualität aufweist, indem die Konfiguration des Beschallungssystems automatisch angepasst wird. Das Beschallungssystem passt insbesondere konfigurierbare Parameter des Beschallungssystems automatisch an, um die Qualität der wiedergegebenen Sprache zu verbessern.
-
Darüber hinaus ermittelt und speichert das Beschallungssystem Informationen über die Verhältnisse zwischen einem oder mehreren konfigurierbaren Parametern von Komponenten des Beschallungssystems und der Sprachqualität. Nach und nach können diese Informationen für ein intelligenteres Anpassen der konfigurierbaren Parameter des Beschallungssystems genutzt werden. Die Informationen können zum Beispiel verwendet werden, um als Reaktion auf Erfassen einer nicht zufriedenstellenden Sprachqualität an einer oder mehreren bestimmten Positionen in den Hörumgebungen die besondere(n) Anpassung(en) vorherzusagen, die für einen bestimmten Parameter oder eine bestimmte Gruppe von Parametern erforderlich ist (sind), um einen minimalen erwarteten Unterschied zwischen der eingegebenen und der wiedergegebenen Sprachqualität bereitzustellen.
-
Wie für den Fachmann ersichtlich ist, können die konfigurierbaren Parameter des Beschallungssystems in Bezug auf ihre Auswirkungen auf die Sprachqualität voneinander abhängig sein. So führt beispielsweise eine erste Parameteranpassung, die ein positives Inkrement eines ersten Parameters aufweist, zu einer verbesserten, jedoch nicht zufriedenstellenden Sprachqualität, eine zweite Parameteranpassung, die ein positives Inkrement eines zweiten Parameters aufweist, zu einer verminderten Sprachqualität, eine anschließende dritte Parameteranpassung, die ein negatives Inkrement des ersten Parameters - unter seinen ursprünglichen Wert - aufweist, führt jedoch zu einer zufriedenstellenden Sprachqualität. In diesem Beispiel sind der erste und der zweite Parameter voneinander abhängig - eine negative Anpassung des ersten Parameters sollte mit einer positiven Anpassung des zweiten Parameters kombiniert werden, um die Sprachqualität zu verbessern. Solche Muster der Abhängigkeit zwischen konfigurierbaren Parametern des Beschallungssystems und der Sprachqualität können anhand der gespeicherten Informationen, die über einen bestimmten Zeitraum gesammelt wurden, ermittelt und zur Entwicklung intelligenter Schemata zum Anpassen der Parameter des Beschallungssystems von Schritt 340 bis Schritt 370 verwendet werden.
-
In einigen Implementierungen können intelligente Schemata zum Anpassen des Beschallungssystems mithilfe von maschinellem Lernen entwickelt werden. Die in Schritt 350 als Reaktion auf eine oder eine Reihe von inkrementellen Parameteranpassungen gespeicherten Informationen können insbesondere in einer zentralen Datenbank für ein oder mehrere Beschallungssysteme gespeichert und als Trainingsdaten für ein Modell für maschinelles Lernen verwendet werden. Diese Trainingsdaten können zusätzlich Informationen über die eingegebenen Audiodaten (z.B. Typ/Qualität des Eingabemikrofons, Verstärkung/Amplitude/Lautstärke, Hintergrundgeräusche usw.) und/oder Informationen über die eingegebene Sprache (z.B. Tonhöhe, Sprache, Akzent usw.) sowie Informationen über den Typ und die Anordnung des betreffenden Beschallungssystems umfassen. Auf diese Weise kann ein Modell für maschinelles Lernen entwickelt werden, um die beste Konfiguration für ein bestimmtes Beschallungssystem für einen bestimmten Typ von eingegebener Sprache (z.B. eine bestimmte Kategorie von menschlichem Sprecher) genau vorherzusagen. Das Modell kann dann verwendet werden, um mehrere konfigurierbare Parameter des Beschallungssystems (z.B. in Bezug auf dieselben und/oder unterschiedliche Audiokomponenten) intelligent und/oder gleichzeitig anzupassen, um die ausgegebene Sprachqualität zu optimieren. Gleichzeitige Parameteranpassungen zum Erreichen einer vorhergesagten besten Konfiguration können den Bedarf an mehreren inkrementellen Parameteranpassungen und Iterationen von Schritt 340 bis Schritt 370 erhöhen oder vermeiden. Nach der Entwicklung des Modells können die in Schritt 350 aufgezeichneten Informationen als Rückmeldung verwendet werden, um die Modellleistung zu verbessern.
-
4 ist ein Blockschaubild eines Systems 400 gemäß einer Ausführungsform der vorliegenden Erfindung. Das System 400 weist insbesondere Verarbeitungskomponenten für ein Beschallungssystem auf, wie sie hier beschrieben sind.
-
Das System 400 umfasst ein Hostverarbeitungssystem 410, eine Datenbank 470 und Verarbeitungseinheiten 450 (z.B. lokale Verarbeitungseinheiten und Benutzereinheiten) an Hörerstandorten, die über ein Netzwerk 440 mit dem Hostverarbeitungssystem 410 Daten austauschen. Das Netzwerk 440 kann jedes geeignete drahtgebundene oder drahtlose Datenübertragungsnetzwerk aufweisen, z.B. ein Mobilfunknetz, ein lokales Bereichsnetzwerk (LAN), ein Weitverkehrsnetzwerk (WAN) oder das Internet. Das Hostverarbeitungssystem 410 weist eine Verarbeitungseinheit 412, eine Speichereinheit 414 und eine Eingabe-/Ausgabeeinheit (E/A-Einheit) 416 auf. Das Hostverarbeitungssystem 410 kann Eingabe-/Ausgabeschnittstellen 460 umfassen, die mit der E/A-Einheit 416 verbunden sind. Zu den Benutzerschnittstelleneinheiten 460 können eine oder mehrere Anzeigen (z.B. Bildschirm oder Touchscreen), ein Drucker, eine Tastatur, eine Zeigeeinheit (z.B. Maus, Joystick, Touchpad), eine Audioeinheit (z.B. Mikrofon und/oder Lautsprecher) und jede andere Art von Benutzerschnittstelleneinheit gehören.
-
Die Speichereinheit 414 weist die Audiodatendateien 420 und ein oder mehrere Verarbeitungsmodule 430 zum Durchführen von Verfahren gemäß der vorliegenden Offenbarung auf. Die Audiodatendateien 420 umfassen die Eingabeaudiodaten 420A, die einem Eingabemikrofon des Beschallungssystems zugehörig sind. Darüber hinaus umfassen die Audiodatendateien 420 Ausgabeaudiodaten 420B, die Ausgabemikrofonen an verteilten Positionen in den Hörumgebungen zugehörig sind und über die E/A-Einheit 416 über das Netzwerk 440 empfangen werden. Jedes Verarbeitungsmodul 430 weist Anweisungen zum Ausführen durch die Verarbeitungseinheit 412 auf, um Daten und/oder Anweisungen zu verarbeiten, die von der E/A-Einheit 416 empfangen und/oder in der Speichereinheit 414 gespeichert wurden, z.B. die Audiodatendateien 420.
-
Gemäß beispielhaften Implementierungen der vorliegenden Offenbarung umfassen die Verarbeitungsmodule 430 ein Sprachauswertungsmodul 432, ein Konfigurationsmodul 434 und ein Rückmeldungsmodul 436.
-
Das Sprachauswertungsmodul 432 ist so konfiguriert, dass es die Qualität der wiedergegebenen Sprache in den Ausgabeaudiodaten 420A auswertet, die den von den Lautsprechern des Beschallungssystems wiedergegebenen Audiodaten entsprechen. Das Sprachauswertungsmodul 432 weist insbesondere ein Spracherkennungsmodul 432A und ein Erfassungsmodul 432B auf. Das Spracherkennungsmodul 432A ist so konfiguriert, dass es Spracherkennung anhand von Eingabeaudiodaten 420A und Ausgabeaudiodaten 420B aus Audiodatendateien 420 durchführt, beispielsweise wie in Schritt 220 und Schritt 240 des in 2 dargestellten Verfahrens 200. Das Erfassungsmodul 432B ist so konfiguriert, dass es erfasst, wenn die Qualität der wiedergegebenen Sprache in den Ausgabeaudiodaten 420B für Zuhörer nicht zufriedenstellend ist, beispielsweise wie in Schritt 250 bis Schritt 270 des in 2 dargestellten Verfahrens 200. Entsprechend ruft das Sprachauswertungsmodul 432 die Audiodatendateien 420 ab und verarbeitet sie, um das in 2 dargestellte Verfahren 200 durchzuführen. Das Verarbeiten durch das Sprachauswertungsmodul 432 kann wie hier beschrieben insbesondere in Echtzeit durchgeführt werden, wobei die Eingabeaudiodaten 420A und die Ausgabeaudiodaten 420B so verwendet werden, wie sie vom Beschallungssystem empfangen werden.
-
Das Konfigurationsmodul 434 ist so konfiguriert, dass es die konfigurierbaren Parameter des Beschallungssystems anpasst, um die Qualität der wiedergegebenen Sprache zu optimieren. Das Konfigurationsmodul 434 umfasst ein Kalibrierungsmodul 434A, ein Parameteranpassungsmodul 434B und ein Anpassungsauswertungsmodul 434C. Das Kalibrierungsmodul 434A ist so konfiguriert, dass es das Beschallungssystem kalibriert, z.B. bei der Einrichtung und später bei Bedarf. Das Kalibrierungsmodul 434A kann das Beschallungssystem insbesondere in Verbindung mit dem Sprachauswertungsmodul 432 anhand einer vorab aufgezeichneten Eingabeaudiodatendatei 420A kalibrieren, die Sprache aufweist, die für die Zwecke der Spracherkennung als „perfekt“ gilt. Wenn das Erfassungsmodul 432B feststellt, dass die Qualität der wiedergegebenen Sprache für Zuhörer nicht zufriedenstellend ist, werden Parameteranpassungen vorgenommen und mithilfe des Parameteranpassungsmoduls 434B und des Anpassungsauswertungsmoduls 434C wie nachstehend beschrieben ausgewertet, bis die Qualität der wiedergegebenen Sprache maximiert ist. Wie für den Fachmann ersichtlich ist, wird durch eine Kalibrierung des Beschallungssystems mithilfe einer „perfekten“ Sprachprobe der Unterschied in der ermittelten Qualität der wiedergegebenen Sprache im Vergleich zu eingegebener Sprache ermittelt, die mit dem Beschallungssystem im besten Fall erreicht werden kann. Dies kann z.B. dazu verwendet werden, um den Anfangsschwellenwert für eine zufriedenstellende Qualität der wiedergegebenen Sprache festzulegen, der in Schritt 270 des in 2 dargestellten Verfahrens 200 verwendet wird. Wie oben beschrieben, kann der Schwellenwert während der Nutzung auf der Grundlage der Qualität der tatsächlich eingegebenen Sprache angepasst werden. Das Parameteranpassungsmodul 434B ist so konfiguriert, dass es die konfigurierbaren Parameter des Beschallungssystems anpasst. Beispielsweise kann das Parameteranpassungsmodul 434B iterativ Parameteranpassungen nach einem willkürlichen oder intelligenten Schema vornehmen, beispielsweise wie in Schritt 340 des in 3 dargestellten Verfahrens 300. Das Anpassungsauswertungsmodul 434C ist so konfiguriert, dass es die Auswirkungen einer vom Parameteranpassungsmodul 434B durchgeführten Parameteranpassung auswertet. Das Anpassungsauswertungsmodul 434C ist insbesondere so konfiguriert, dass es ermittelt, ob die Qualität der wiedergegebenen Sprache nach einer Parameteranpassung zufriedenstellend ist, wie in Schritt 350 und Schritt 360 des in 3 dargestellten Verfahrens 300. Wie vorstehend beschrieben, können das Parameteranpassungsmodul 434B und das Anpassungsauswertungsmodul 434C durch das Kalibrierungsmodul 434A und das Erfassungsmodul 432B aufgerufen werden, um die Parameter des Beschallungssystems zu konfigurieren bzw. neu zu konfigurieren, sodass die Qualität der wiedergegebenen Sprache optimiert wird.
-
Das Rückmeldungsmodul 436 ist so konfiguriert, dass es die aus dem Betrieb des Sprachauswertungsmoduls 432 und/oder des Konfigurationsmoduls 434 gewonnenen Informationen als Rückmeldung bereitstellt. Beispielsweise kann das Rückmeldungsmodul 436 einem menschlichen Sprecher eine Rückmeldung (z.B. eine Warnmeldung) bereitstellen, die anzeigt, dass die Qualität der eingegebenen Sprache, wie sie durch das Spracherkennungsmodul 432A oder eine andere Analyse der Eingabeaudiodaten ermittelt wurde, nicht zufriedenstellend ist, beispielsweise wie in den Schritten 310 und 320 des in 3 dargestellten Verfahrens 300. Zusätzlich oder alternativ kann das Rückmeldungsmodul 436 einem System oder Modell Informationen über die Auswirkungen von Parameteranpassungen auf die Qualität der wiedergegebenen Sprache bereitstellen, um ein intelligentes Schema zur Parameteranpassung zu entwickeln oder zu verbessern, sodass die Leistung optimiert wird, um dies in Schritt 340 des in 3 dargestellten Verfahrens 300 zu verwenden. Beispielsweise kann das Rückmeldungsmodul 436 eine Rückmeldung, die Informationen über das Verhältnis zwischen Parametern des Beschallungssystems und der Sprachqualität aufweist, die in Schritt 350 des in 3 dargestellten Verfahrens 300 gespeichert wurden, über das Netzwerk 440 an eine zentralisierte Datenbank 470 oder an einen anderen Datenspeicher senden. Die gespeicherten Daten können als Trainingsdaten für ein Modell für maschinelles Lernen zum Optimieren der Leistung eines Beschallungssystems oder als Rückmeldung zum Verfeinern eines bestehenden Modells für maschinelles Lernen verwendet werden. Darüber hinaus kann das Rückmeldungsmodul 436 einem Benutzer des Hostverarbeitungssystems 410 Rückmeldung bereitstellen, wenn das Konfigurationsmodul 434 nicht in der Lage ist, die Parameter des Beschallungssystems so zu optimieren, dass es die wiedergegebene Sprache mit einer zufriedenstellenden Sprachqualität bereitstellt. So kann beispielsweise eine Warnmeldung gesendet werden, wenn das Beschallungssystem in Schritt 280 des in 2 dargestellten Verfahrens 200 feststellt, dass keine Instanzen von Ausgabeaudiodaten mehr zu berücksichtigen sind, bevor das Verfahren 200 in Schritt 295 endet. Diese Warnmeldung kann dem Betreiber des Beschallungssystems Empfehlungen bereitstellen, z.B. empfohlene Maßnahmen zur Verbesserung der Leistung des Beschallungssystems. Die Warnmeldung kann den Betreiber z.B. anweisen, manuelle Überprüfungen der Komponenten des Beschallungssystems (z.B. Soundkarten) durchzuführen, die Anzahl oder den Standort der Komponenten und/oder die Gesamtleistung des Beschallungssystems zu ändern. Techniken zum Erteilen von Empfehlungen manueller Überprüfungen und Änderungen an Beschallungssystemen sind in der Technik bekannt, und jede geeignete Technik kann verwendet werden, unabhängig davon, ob sie jetzt bereits bekannt ist oder in Zukunft entwickelt wird.
-
Mit Bezug auf 4 wird ein Computerprogrammprodukt 480 bereitgestellt. Das Computerprogrammprodukt 480 umfasst durch einen Computer lesbare Medien 482 mit Speichermedien 484 und darauf gespeicherten Programmanweisungen 486 (d.h. Programmcode). Die Programmanweisungen 486 sind so konfiguriert, dass sie über die E/A-Einheit 416 in die Speichereinheit 414 des Hostverarbeitungssystems 410 geladen werden, zum Beispiel durch eine der Benutzerschnittstelleneinheiten 460 oder andere Einheiten 450, die mit dem Netzwerk 440 verbunden sind. In beispielhaften Implementierungen sind die Programmanweisungen 486 so konfiguriert, dass sie Schritte eines oder mehrerer der hier offenbarten Verfahren wie vorstehend beschrieben durchführen, beispielsweise wie die Schritte des in 2 oder 3 dargestellten Verfahrens.
-
Die vorliegende Offenbarung wurde zwar anhand von beispielhaften Implementierungen beschrieben und dargestellt, für den Fachmann ist jedoch ersichtlich, dass sich die vorliegende Offenbarung für viele verschiedene Varianten und Abwandlungen eignet, die hier nicht speziell dargestellt sind.
-
Bei der vorliegenden Erfindung kann es sich um ein System, ein Verfahren und/oder ein Computerprogrammprodukt handeln. Das Computerprogrammprodukt kann (ein) durch einen Computer lesbare(s) Speichermedium (oder -medien) umfassen, auf dem/denen durch einen Computer lesbare Programmanweisungen gespeichert ist/sind, um einen Prozessor dazu zu veranlassen, Aspekte der vorliegenden Erfindung auszuführen.
-
Bei dem durch einen Computer lesbaren Speichermedium kann es sich um eine physische Einheit handeln, die Anweisungen zur Verwendung durch eine Einheit zur Ausführung von Anweisungen behalten und speichern kann. Bei dem durch einen Computer lesbaren Speichermedium kann es sich zum Beispiel um eine elektronische Speichereinheit, eine magnetische Speichereinheit, eine optische Speichereinheit, eine elektromagnetische Speichereinheit, eine Halbleiterspeichereinheit oder jede geeignete Kombination daraus handeln, ohne auf diese beschränkt zu sein. Zu einer nicht erschöpfenden Liste spezifischerer Beispiele des durch einen Computer lesbaren Speichermediums gehören die Folgenden: eine tragbare Computerdiskette, eine Festplatte, ein Direktzugriffsspeicher (RAM), ein Nur-Lese-Speicher (ROM), ein löschbarer programmierbarer Nur-Lese-Speicher (EPROM bzw. Flash-Speicher), ein statischer Direktzugriffsspeicher (SRAM), ein tragbarer Kompaktspeicherplatte-Nur-Lese-Speicher (CD-ROM), eine DVD (digital versatile disc), ein Speicher-Stick, eine Diskette, eine mechanisch codierte Einheit wie zum Beispiel Lochkarten oder gehobene Strukturen in einer Rille, auf denen Anweisungen gespeichert sind, und jede geeignete Kombination daraus. Ein durch einen Computer lesbares Speichermedium soll in der Verwendung hier nicht als flüchtige Signale an sich aufgefasst werden, wie zum Beispiel Funkwellen oder andere sich frei ausbreitende elektromagnetische Wellen, elektromagnetische Wellen, die sich durch einen Wellenleiter oder ein anderes Übertragungsmedium ausbreiten (z.B. Lichtwellenleiterkabel durchlaufende Lichtimpulse) oder durch einen Draht übertragene elektrische Signale.
-
Hier beschriebene, durch einen Computer lesbare Programmanweisungen können von einem durch einen Computer lesbaren Speichermedium auf jeweilige Datenverarbeitungs-/Verarbeitungseinheiten oder über ein Netzwerk wie zum Beispiel das Internet, ein lokales Netzwerk (LAN), ein Weitverkehrsnetzwerk (WAN) und/oder ein drahtloses Netzwerk auf einen externen Computer oder eine externe Speichereinheit heruntergeladen werden. Das Netzwerk kann Kupferübertragungskabel, Lichtwellenübertragungsleiter, drahtlose Übertragung, Router, Firewalls, Vermittlungseinheiten, Gateway-Computer und/oder Edge-Server aufweisen. Eine Netzwerkadapterkarte oder Netzwerkschnittstelle in jeder Datenverarbeitungs-/Verarbeitungseinheit empfängt durch einen Computer lesbare Programmanweisungen aus dem Netzwerk und leitet die durch einen Computer lesbaren Programmanweisungen zur Speicherung in einem durch einen Computer lesbaren Speichermedium innerhalb der entsprechenden Datenverarbeitungs-/Verarbeitungseinheit weiter.
-
Bei durch einen Computer lesbaren Programmanweisungen zum Ausführen von Arbeitsschritten der vorliegenden Erfindung kann es sich um Assembler-Anweisungen, ISA-Anweisungen (Instruction-Set-Architecture), Maschinenanweisungen, maschinenabhängige Anweisungen, Mikrocode, Firmware-Anweisungen, zustandssetzende Daten oder entweder Quellcode oder Objektcode handeln, die in einer beliebigen Kombination aus einer oder mehreren Programmiersprachen geschrieben werden, darunter objektorientierte Programmiersprachen wie Smalltalk, C++ sowie herkömmliche prozedurale Programmiersprachen wie die Programmiersprache „C“ oder ähnliche Programmiersprachen. Die durch einen Computer lesbaren Programmanweisungen können vollständig auf dem Computer des Benutzers, teilweise auf dem Computer des Benutzers, als eigenständiges Software-Paket, teilweise auf dem Computer des Benutzers und teilweise auf einem entfernt angeordneten Computer oder vollständig auf dem entfernt angeordneten Computer oder Server ausgeführt werden. In letzterem Fall kann der entfernt angeordnete Computer mit dem Computer des Benutzers durch eine beliebige Art Netzwerk verbunden sein, darunter ein lokales Netzwerk (LAN) oder ein Weitverkehrsnetzwerk (WAN), oder die Verbindung kann mit einem externen Computer hergestellt werden (zum Beispiel über das Internet unter Verwendung eines Internet-Dienstanbieters). In einigen Ausführungsformen können elektronische Schaltungen, darunter zum Beispiel programmierbare Logikschaltungen, vor Ort programmierbare Gatter-Anordnungen (FPGA, field programmable gate arrays) oder programmierbare Logikanordnungen (PLA, programmable logic arrays) die durch einen Computer lesbaren Programmanweisungen ausführen, indem sie Zustandsinformationen der durch einen Computer lesbaren Programmanweisungen nutzen, um die elektronischen Schaltungen zu personalisieren, um Aspekte der vorliegenden Erfindung durchzuführen.
-
Aspekte der vorliegenden Erfindung sind hier unter Bezugnahme auf Ablaufpläne und/oder Blockschaltbilder bzw. Schaubilder von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der Erfindung beschrieben. Es wird darauf hingewiesen, dass jeder Block der Ablaufpläne und/oder der Blockschaltbilder bzw. Schaubilder sowie Kombinationen von Blöcken in den Ablaufplänen und/oder den Blockschaltbildern bzw. Schaubildern mittels durch einen Computer lesbare Programmanweisungen ausgeführt werden können.
-
Diese durch einen Computer lesbaren Programmanweisungen können einem Prozessor eines Universalcomputers, eines Spezialcomputers oder einer anderen programmierbaren Datenverarbeitungsvorrichtung bereitgestellt werden, um eine Maschine zu erzeugen, sodass die über den Prozessor des Computers bzw. der anderen programmierbaren Datenverarbeitungsvorrichtung ausgeführten Anweisungen ein Mittel zur Umsetzung der in dem Block bzw. den Blöcken der Ablaufpläne und/oder der Blockschaltbilder bzw. Schaubilder festgelegten Funktionen/Schritte erzeugen. Diese durch einen Computer lesbaren Programmanweisungen können auch auf einem durch einen Computer lesbaren Speichermedium gespeichert sein, das einen Computer, eine programmierbare Datenverarbeitungsvorrichtung und/oder andere Einheiten so steuern kann, dass sie auf eine bestimmte Art funktionieren, sodass das durch einen Computer lesbare Speichermedium, auf dem Anweisungen gespeichert sind, einen Herstellungsartikel aufweist, darunter Anweisungen, welche Aspekte der/des in dem Block bzw. den Blöcken des Ablaufplans und/oder der Blockschaltbilder bzw. Schaubilder angegebenen Funktion/Schritts umsetzen.
-
Die durch einen Computer lesbaren Programmanweisungen können auch auf einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder eine andere Einheit geladen werden, um das Ausführen einer Reihe von Prozessschritten auf dem Computer bzw. der anderen programmierbaren Vorrichtung oder anderen Einheit zu verursachen, um einen auf einem Computer ausgeführten Prozess zu erzeugen, sodass die auf dem Computer, einer anderen programmierbaren Vorrichtung oder einer anderen Einheit ausgeführten Anweisungen die in dem Block bzw. den Blöcken der Ablaufpläne und/oder der Blockschaltbilder bzw. Schaubilder festgelegten Funktionen/Schritte umsetzen.
-
Der Ablaufplan und die Blockschaltbilder bzw. Schaubilder in den Figuren veranschaulichen die Architektur, Funktionalität und den Betrieb möglicher Ausführungen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung. In diesem Zusammenhang kann jeder Block in den Ablaufplänen oder Blockschaltbildern bzw. Schaubildern ein Modul, ein Segment oder einen Teil von Anweisungen darstellen, die eine oder mehrere ausführbare Anweisungen zur Ausführung der bestimmten logischen Funktion(en) aufweisen. In einigen alternativen Implementierungen können die in dem Block angegebenen Funktionen in einer anderen Reihenfolge als in den Figuren gezeigt stattfinden. Zwei nacheinander gezeigte Blöcke können zum Beispiel in Wirklichkeit im Wesentlichen gleichzeitig ausgeführt werden, oder die Blöcke können manchmal je nach entsprechender Funktionalität in umgekehrter Reihenfolge ausgeführt werden. Es ist ferner anzumerken, dass jeder Block der Blockschaltbilder bzw. Schaubilder und/oder der Ablaufpläne sowie Kombinationen aus Blöcken in den Blockschaltbildern bzw. Schaubildern und/oder den Ablaufplänen durch spezielle auf Hardware beruhende Systeme umgesetzt werden können, welche die festgelegten Funktionen oder Schritte durchführen, oder Kombinationen aus Spezial-Hardware und Computeranweisungen ausführen.
-
Die Beschreibungen der verschiedenen beispielhaften Implementierungen der vorliegenden Offenbarung wurden zum Zwecke der Veranschaulichung vorgestellt, sollen jedoch nicht erschöpfend oder auf die offenbarten Implementierungen beschränkt sein. Für Fachleute ist offensichtlich, dass viele Änderungen und Abwandlungen möglich sind, ohne vom Anwendungsbereich und Erfindungsgedanken der beschriebenen Implementierungen abzuweichen. Die hier verwendete Terminologie wurde gewählt, um die Grundgedanken der beispielhaften Implementierungen, die praktische Anwendung oder technische Verbesserung gegenüber Technologien auf dem Markt bestmöglich zu erläutern oder es Fachleuten zu ermöglichen, die hier beschriebenen Implementierungen zu verstehen.