DE102017121086A1 - Zusammenwirkende sprachgesteuerte geräte - Google Patents

Zusammenwirkende sprachgesteuerte geräte Download PDF

Info

Publication number
DE102017121086A1
DE102017121086A1 DE102017121086.5A DE102017121086A DE102017121086A1 DE 102017121086 A1 DE102017121086 A1 DE 102017121086A1 DE 102017121086 A DE102017121086 A DE 102017121086A DE 102017121086 A1 DE102017121086 A1 DE 102017121086A1
Authority
DE
Germany
Prior art keywords
computing device
audio data
transcription
utterance
response
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE102017121086.5A
Other languages
English (en)
Other versions
DE102017121086B4 (de
Inventor
Victor Carbune
Pedro Gonnet Anders
Thomas Deselaers
Sandro Feuz
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Publication of DE102017121086A1 publication Critical patent/DE102017121086A1/de
Application granted granted Critical
Publication of DE102017121086B4 publication Critical patent/DE102017121086B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/28Constructional details of speech recognition systems
    • G10L15/30Distributed recognition, e.g. in client-server systems, for mobile phones or network applications
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L13/00Speech synthesis; Text to speech systems
    • G10L13/02Methods for producing synthetic speech; Speech synthesisers
    • G10L13/033Voice editing, e.g. manipulating the voice of the synthesiser
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L13/00Speech synthesis; Text to speech systems
    • G10L13/08Text analysis or generation of parameters for speech synthesis out of text, e.g. grapheme to phoneme translation, prosody generation or stress or intonation determination
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L2015/088Word spotting
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/223Execution procedure of a spoken command
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/226Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics
    • G10L2015/228Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics of application context
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/80Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication

Landscapes

  • Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Computational Linguistics (AREA)
  • Acoustics & Sound (AREA)
  • Theoretical Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Telephonic Communication Services (AREA)
  • User Interface Of Digital Computer (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Signal Processing (AREA)

Abstract

Verfahren, Systeme und Vorrichtungen, einschließlich ComputerProgrammen, die auf einem computerlesbaren Speichermedium zum Zusammenwirken zwischen mehreren sprachgesteuerten Geräten codiert sind, werden offenbart. In einem Aspekt beinhaltet ein Verfahren die Aktionen des Identifizierens eines zweiten Computergeräts, das zum Antworten auf ein bestimmtes, zuvor festgelegtes Triggerwort konfiguriert ist, durch ein erstes Computergerät; Empfangen von Audiodaten, die einer Äußerung entsprechen; Empfangen einer Transkription von zusätzlichen Audiodaten, die durch das zweite Computergerät als Antwort auf die Äußerung ausgegeben wurden; basierend auf der Transkription der zusätzlichen Audiodaten und basierend auf der Äußerung Generieren einer Transkription, die einer Antwort auf die zusätzlichen Audiodaten entspricht; und Bereitstellen der Transkription, die der Antwort entspricht, zum Ausgeben.

Description

  • TECHNISCHES GEBIET
  • Diese Beschreibung betrifft allgemein die automatisierte Spracherkennung.
  • HINTERGRUND
  • Die Realität eines sprachgesteuerten Haushaltes oder einer anderen Umgebung - d. h. eine, in der ein Benutzer nur eine Abfrage oder einen Befehl laut aussprechen muss und ein computerbasiertes System die Abfrage beantwortet und/oder verursacht, dass der Befehl ausgeführt wird - ist da. Eine sprachgesteuerte Umgebung (z. B. Haushalt, Arbeitsplatz, Schule usw.) kann unter Verwendung eines Netzwerks von verbundenen Mikrofongeräten implementiert werden, die in verschiedenen Räumen oder Bereichen der Umgebung verteilt sind. Durch solch ein Netzwerk von Mikrofonen kann ein Benutzer das System prinzipiell überall in der Umgebung mündlich abfragen, ohne sich vor oder auch nur in der Nähe eines Computers oder eines anderen Geräts befinden zu müssen. Während ein Benutzer in der Küche kocht, kann er beispielsweise das System fragen „Wie viele Milliliter sind in drei Tassen?“. und als Reaktion, z. B. in Form einer künstlichen Sprachausgabe, eine Antwort vom System erhalten. Alternativ könnte ein Benutzer dem System Fragen stellen, wie „Wann schließt die Tankstelle in meiner Nähe“ oder vor dem Verlassen des Hauses „Soll ich heute einen Mantel anziehen?“. Des Weiteren kann ein Benutzer eine Abfrage des Systems anfordern und/oder einen Befehl ausgeben, der die persönlichen Informationen des Benutzers betrifft. Beispielsweise könnte ein Benutzer das System fragen „Wann ist meine Besprechung mit John?“. oder das System anweisen „Erinnere mich daran, John anzurufen, wenn ich nach Hause komme“.
  • KURZDARSTELLUNG
  • Triggerwörter können verwendet werden, um das Aufgreifen von Äußerungen zu vermeiden, die in der Umgebung gemacht wurden, die nicht an das System gerichtet sind. Ein Triggerwort (auch als ein „Aufmerksamkeitswort“ oder „Sprachaktionsinitiierungsbefehl“ bezeichnet) ist ein zuvor festgelegtes Wort oder ein Begriff, der gesprochen wird, um die Aufmerksamkeit des Systems zu erregen. In einer exemplarischen Umgebung besteht das Triggerwort zum Erregen der Aufmerksamkeit des Systems aus den Worten „OK Computer“. Wenn das System erkennt, dass der Benutzer das Triggerwort gesprochen hat, gibt das System einen Bereit-Status zum Empfangen weiterer Benutzerbefehle ein.
  • In sprachgesteuerten Umgebungen können Geräte ununterbrochen auf Triggerwörter hören. Wenn mehrere Geräte in derselben Umgebung vorhanden sind, die konfiguriert sind, um auf ein bestimmtes Triggerwort zu reagieren, kann jede Äußerung, die das Triggerwort beinhaltet, alle Geräte auslösen und redundante Reaktionen von den mehreren Geräten bereitstellen. Beispielsweise können Alice, Bob und Carl nach einem Restaurant Ausschau halten, wohin sie zum Mittagessen gehen. Alice kann sagen „OK Computer, suche mir Restaurants in der Nähe“. Alle drei ihrer Telefone können gleichzeitig eine Antwort bereitstellen, z. B. eine Liste von Restaurants. Zum Verbessern der Benutzererfahrung kann es wünschenswert sein, wenn die Telefone miteinander kommunizieren, um unterschiedliche Antworten auf koordinierte Art ähnlich einer tatsächlichen Unterhaltung bereitzustellen. Alices Telefon kann eine Liste von Restaurants in der Nähe bereitstellen und Bobs Telefon kann eine Antwort bereitstellen, bei der eines der Restaurants aus der Liste der von Alices Telefon bereitgestellten Restaurants in der Nähe ausgewählt wird. Carls Telefon kann eine Antwort bereitstellen, bei der dem ausgewählten Restaurant basierend auf Carls Bewertung des Restaurants in den sozialen Medien zugestimmt wird.
  • Gemäß einem innovativen Aspekt des in dieser Spezifikation beschriebenen Gegenstandes identifiziert ein erstes Computergerät ein oder mehrere andere Computergeräte, die konfiguriert sind, um auf ein bestimmtes, zuvor festgelegtes Triggerwort zu antworten. Das erste Computergerät empfängt eine durch einen Benutzer ausgesprochene Äußerung. Vor dem Ausführen von Spracherkennung an den Audiodaten, die der Äußerung entsprechen, bestimmt das erste Computergerät, dass die Audiodaten das Triggerwort beinhalten und dass ein zweites Computergerät bereits die Audiodaten verarbeitet. Das erste Computergerät empfängt die durch das zweite Computergerät in Reaktion auf die Äußerung ausgegebene Antwort. Basierend auf dieser Antwort und der Äußerung generiert das erste Computergerät eine Antwort und stellt die Antwort zum Ausgeben bereit. Daher erweitert das erste Computergerät die Antwort von dem zweiten Computergerät und stellt eine neue Antwort bereit, die zusätzliche Informationen für die Benutzer bereitstellen kann.
  • Im Allgemeinen kann ein weiterer innovativer Aspekt des in dieser Spezifikation beschriebenen Gegenstandes in Verfahren enthalten sein, die die Aktionen des Identifizierens eines zweiten Computergeräts, das zum Antworten auf ein bestimmtes, zuvor festgelegtes Triggerwort konfiguriert ist, durch ein erstes Computergerät; Empfangen von Audiodaten, die einer Äußerung entsprechen; Empfangen einer Transkription von zusätzlichen Audiodaten, die durch das zweite Computergerät als Antwort auf die Äußerung ausgegeben wurden; basierend auf der Transkription der zusätzlichen Audiodaten und basierend auf der Äußerung Generieren einer Transkription, die einer Antwort auf die zusätzlichen Audiodaten entspricht; und Bereitstellen der Transkription, die der Antwort entspricht, zum Ausgeben beinhalten.
  • Diese und andere Ausführungsformen können gegebenenfalls jeweils ein oder mehrere der folgenden Merkmale beinhalten. In einigen Implementierungen umfasst das Bereitstellen der Transkription zum Ausgeben, die der Antwort entspricht, Bereitstellen eines Anfangsabschnitts der Transkription für einen Sprachsynthesizer des ersten Computergeräts; und Bereitstellen (i) eines verbleibenden Abschnitts der Transkription für das zweite Computergerät und (ii) Anweisungen zum Ausgeben des verbleibenden Abschnitts der Transkription unter Verwendung eines Sprachsythesizers des zweiten Computergeräts.
  • In einigen Implementierungen beinhalten die Aktionen des Weiteren das Ausführen von Spracherkennung an den Audiodaten, die der Äußerung entsprechen: Bestimmen, dass die Audiodaten, die der Äußerung entsprechen, das bestimmte, zuvor festgelegte Triggerwort beinhalten; und Empfangen von Daten, die angeben, dass das zweite Computergerät auf die Audiodaten antwortet.
  • In einigen Implementierungen umfasst das Bereitstellen der Transkription zum Ausgeben, die der Antwort entspricht, Bereitstellen der Transkription, die der Antwort entspricht, für einen Sprachsynthesizer.
  • In einigen Implementierungen werden die der synthetisierten Transkription entsprechenden Audiodaten durch ein drittes Computergerät empfangen, das konfiguriert ist, um eine Antwort basierend auf den der synthetisierten Transkription entsprechenden Audiodaten, der Transkription der zusätzlichen Audiodaten und der Äußerung zu generieren.
  • In einigen Implementierungen beinhalten die Aktionen des Weiteren nach dem Bereitstellen der Transkription, die der Antwort entspricht, zum Ausgeben, Empfangen von Audiodaten durch das erste Computergerät, die einer zweiten Äußerung entsprechen; basierend auf der Transkription der zusätzlichen Audiodaten, basierend auf der Äußerung und basierend auf der zweiten Äußerung, Generieren einer zusätzlichen Transkription, die einer Antwort auf die Audiodaten entspricht, die der zweiten Äußerung entsprechen; und Bereitstellen der zusätzlichen Transkription zum Ausgeben.
  • In einigen Implementierungen beinhalten die Aktionen des Weiteren Empfangen von Daten, die eine Art von Sprachsynthesizer angeben, der durch das zweite Computergerät zum Ausgeben der zusätzlichen Audiodaten verwendet wird, wobei eine Art von Sprachsynthesizer, der die der Antwort entsprechende Transkription empfing, anders als die Art von Sprachsynthesizer ist, der durch das zweite Computergerät zum Ausgeben der zusätzlichen Audiodaten verwendet wird.
  • In einigen Implementierungen umfasst das Bereitstellen der Transkription zum Ausgeben, die der Antwort entspricht, Bereitstellen der Transkription zum Anzeigen auf einer Anzeige des ersten Computergeräts.
  • In einigen Implementierungen beinhaltet Empfangen von Daten, die angeben, dass das zweite Computergerät auf die Audiodaten antwortet, Empfangen eines Kurzstreckenfunksignals von dem zweiten Computergerät, das angibt, dass das zweite Computergerät auf die Audiodaten antwortet. In einigen Implementierungen beinhaltet Empfangen von Daten, die angeben, dass das zweite Computergerät auf die Audiodaten antwortet, Empfangen von Daten von dem zweiten Computergerät und durch ein lokales Netzwerk, die angeben, dass das zweite Computergerät auf die Audiodaten antwortet. In einigen Implementierungen beinhaltet Empfangen von Daten, die angeben, dass das zweite Computergerät auf die Audiodaten antwortet, Empfangen von Daten von einem Server, die angeben, dass das zweite Computergerät auf die Audiodaten antwortet.
  • In bestimmten Aspekten beinhaltet Bestimmen, dass die der Äußerung entsprechenden Audiodaten das bestimmte, zuvor festgelegte Triggerwort beinhalten, die Schritte des Extrahierens von Audiomerkmalen aus den Audiodaten, die der Äußerung entsprechen; Erzeugung einer Triggerwort-Konfidenzpunktzahl durch Verarbeiten der Audiomerkmale; Bestimmen, dass die Triggerwort-Konfidenzpunktzahl einen Triggerwort-Konfidenzschwellenwert erreicht; und basierend auf Bestimmen, dass die Triggerwort-Vertrauenspunktzahl einen Triggerwort-Vertrauensschwellenwert erreicht, Bestimmen, dass die Audiodaten, die der Äußerung entsprechen, das bestimmte, zuvor festgelegte Triggerwort beinhalten.
  • In einigen Implementierungen umfasst Generieren einer Transkription, die einer Antwort auf die zusätzlichen Audiodaten entspricht, Bestimmen von Benutzerinformationen, die der Transkription der zusätzlichen Audiodaten zugeordnet sind, die einem ersten Benutzer des ersten Computergeräts oder einem zweiten Benutzer des zweiten Computergeräts zugeordnet sind; und wobei die Transkription basierend auf den Benutzerinformationen generiert wird.
  • In bestimmten Aspekten umfasst Generieren einer Transkription, die einer Antwort auf die zusätzlichen Audiodaten entspricht, die Aktionen des Aufrufens von Daten, die der Transkription der zusätzlichen Audiodaten zugeordnet sind; und Generieren der Transkription basierend auf den aufgerufenen Daten.
  • Die Aktionen beinhalten des Weiteren Bestimmen eines Standortes des ersten Computergeräts und Generieren der Transkription basierend auf dem Standort des ersten Computergeräts. Die Aktionen beinhalten des Weiteren Bereitstellen der Audiodaten, die der Äußerung entsprechen, als Antwort auf Empfangen von Daten, die angeben, dass das zweite Computergerät auf die Audiodaten antwortet, für das zweite Computergerät oder für einen Server.
  • In einigen Implementierungen beinhalten die Aktionen des Weiteren Generieren eines ersten Audiofingerabdrucks der Audiodaten, die der Äußerung entsprechen, Empfangen eines zweiten Audiofingerabdrucks der Audiodaten von dem zweiten Computergerät, die der Äußerung entsprechen; Vergleichen des ersten Audiofingerabdrucks mit dem zweiten Audiofingerabdruck; und basierend auf Vergleichen des ersten Audiofingerabdrucks mit dem zweiten Audiofingerabdruck Bestimmen, dass die von dem ersten Computergerät empfangenen Audiodaten den von dem zweiten Computergerät empfangenen Audiodaten entsprechen.
  • In einigen Implementierungen beinhalten weitere Aktionen Empfangen einer Transkription der Audiodaten von dem zweiten Computergerät, die der Äußerung entsprechen, wobei Generieren der Transkription, die der Antwort auf die zusätzlichen Audiodaten entspricht, des Weiteren auf der Transkription der Audiodaten basiert, die der Äußerung entsprechen.
  • In einigen Implementierungen sind das erste Computergerät und das zweite Computergerät in der Lage, Kurzstreckenfunkkommunikationen voneinander zu erkennen.
  • In einigen Implementierungen sind das erste Computergerät und das zweite Computergerät am gleichen Standort positioniert.
  • Andere Ausführungsformen dieses Aspekts beinhalten entsprechende Systeme, Vorrichtungen und Computerprogramme, die auf Computerspeichergeräte aufgezeichnet sind, von denen jedes konfiguriert ist, die Vorgänge der Verfahren auszuführen.
  • Bestimmte Ausführungsformen des in dieser Spezifikation beschriebenen Gegenstands können so implementiert werden, dass sie einen oder mehrere der folgenden Vorteile verwirklichen. Zunächst kann ein zusammenwirkendes sprachgesteuertes Gerätesystem Gesprächssuche intelligenter und natürlicher gestalten, indem es nahtlos mehrere und sequenzielle Antworten auf koordinierte Art ähnlich wie bei einem tatsächlichen Gespräch bereitstellt. Vor dem Bereitstellen einer Antwort auf eine Abfrage kann ein Gerät die verfügbaren Informationen zum Generieren einer Antwort verarbeiten. Jedes Gerät kann eine einzigartige Antwort bereitstellen, die zum Gespräch hinzugefügt werden kann, und benutzerspezifisch oder standortspezifisch sein kann. Das Gerät kann entweder die einzigartige Antwort bereitstellen oder die Informationen an ein anderes Gerät weiterleiten. Bereitstellen von Informationen für andere Geräte ermöglicht dem Gerät, Gespräche menschlicher zu gestalten, indem absichtlich Teile der einzigartigen Antwort weggelassen werden, sodass andere Geräte die Antwort vervollständigen können. Zweitens kann ein zusammenwirkendes sprachgesteuertes Gerätesystem das Problem lösen, dass mehrere Geräte auf dieselbe Abfrage auf nahezu identische Art antworten. Beispielsweise ermöglicht Kommunikation zwischen den Geräten, dass die Geräte bestimmen, wie und wann die Geräte auf die Abfrage antworten. Dadurch wird die Verschwendung von Computerressourcen und Batterieleistung reduziert, indem redundante Ausgaben vermieden werden. Drittens kann das zusammenwirkende sprachgesteuerte Gerätesystem zum Verbessern der Sprachverarbeitung durch Verwenden mehrerer Geräte mit unterschiedlichen Mikrofonen an unterschiedlichen Standorten zum Verarbeiten von Audiodaten verwendet werden, um eine genauere Transkription der Audiodaten zu erhalten.
  • Die Details von einer oder mehreren Ausführungsformen des in dieser Patentschrift beschriebenen Gegenstands sind in den begleitenden Zeichnungen und der nachfolgenden Beschreibung dargelegt. Weitere Merkmale, Aspekte und Vorteile des Gegenstands werden anhand der Beschreibung, der Zeichnungen und der Patentansprüche ersichtlich.
  • Figurenliste
    • 1 zeigt ein Diagramm eines exemplarischen Systems zum Zusammenwirken zwischen mehreren sprachgesteuerten Geräten.
    • 2 zeigt ein Diagramm eines exemplarischen Verfahrens zum Zusammenwirken zwischen mehreren sprachgesteuerten Geräten.
    • 3 zeigt ein Beispiel eines Computergeräts und eines mobilen Computergeräts.
  • In den unterschiedlichen Zeichnungen werden gleiche Bezugszeichen und Bezeichnungen für gleiche Elemente verwendet.
  • AUSFÜHRLICHE BESCHREIBUNG
  • 1 zeigt ein Diagramm eines exemplarischen Systems 100 zum Zusammenwirken zwischen mehreren sprachgesteuerten Geräten. Im Allgemeinen veranschaulicht das System 100 eine Benutzerin Alice, die eine Äußerung 102 „OK Computer, finde für mich ein gutes Steakhaus in der Nähe zum Mittagessen“ spricht, die durch Computergeräte 104a und 104b erkannt wird. Computergerät 104a verarbeitet die Äußerung und stellt eine Antwort „Al's Steakhouse in 123 Main Street hat gute Bewertungen“ bereit. Basierend auf der Äußerung 102 und der durch Computergerät 104a bereitgestellten Antwort generiert Computergerät 104b eine Folgeantwort „Al's ist gerade sehr voll, versuchen Sie es stattdessen bei Lone Star Steakhouse in 4 Main Street. Bob gefällt es dort sehr“ und stellt sie bereit.
  • Ausführlicher ausgedrückt, beginnt die Sequenz von Ereignissen in 1 bei Stufe A. Die Computergeräte 104a und 104b identifizieren einander und andere Computergeräte, die konfiguriert sind, um auf ein bestimmtes, zuvor festgelegtes Triggerwort zu antworten. In einigen Implementierungen identifizieren die Computergeräte einander durch Durchsuchen des lokalen Netzwerks nach anderen Computergeräten, die zum Antworten auf das Triggerwort konfiguriert sind. Beispielsweise kann das Computergerät 104b das lokale Netzwerk durchsuchen, und kann Computergerät 104a als ein anderes Computergerät identifizieren, das zum Antworten auf das Triggerwort konfiguriert ist.
  • In einigen Implementierungen identifizieren die Computergeräte andere Computergeräte, die zum Antworten auf das Triggerwort konfiguriert sind, durch Identifizieren des an jedem Gerät angemeldeten Benutzers. In einigen Implementierungen, und in diesem Beispiel, kann Computergerät 104a der Benutzerin Alice zugeordnet sein und Computergerät 104b kann einem Benutzer Bob zugeordnet sein. In diesem Fall kann Alice an Computergerät 104a angemeldet sein und Bob kann an Computergerät 104b angemeldet sein. Alice und Bob können Teil einer Gruppe von Benutzern mit zugehörigen Geräten sein, die zum Antworten auf ein bestimmtes, zuvor festgelegtes Triggerwort konfiguriert sein können. Die Gruppe von Benutzern kann eine Gruppe von Arbeitskollegen in einem Unternehmen, oder eine Gruppe von Freunden sein. Jedes Computergerät kann Informationen teilen, die mit dem Benutzer in Zusammenhang stehen, der an dem bestimmten Computergerät angemeldet ist, wie z. B. eine Benutzer-ID.
  • In einigen Implementierungen können beide Computergeräte 104a und 104b demselben Benutzer zugeordnet sein. Beispielsweise kann Alice an Computergeräten 104a und 104b angemeldet sein. Alice kann das Computergerät 104a in ihrer Hand tragen. Das Computergerät 104b kann ein Haushaltsassistent sein, der auf einem Tisch positioniert ist. Computergerät 104a erkennt Computergerät 104b, und jedes Computergerät teilt Informationen, die mit dem Benutzer in Zusammenhang stehen, der an dem Computergerät angemeldet ist, wie z. B. eine Benutzer-ID.
  • In einigen Implementierungen können die Computergeräte 104a und 104b, sobald das Computergerät 104b das 104a als ein Computergerät identifiziert hat, das zum Antworten auf dasselbe Triggerwort konfiguriert ist, ihre jeweiligen Geräte-IDs 106 und 108 teilen und speichern. Die IDs können auf einer Art von Gerät, einer IP-Adresse des Geräts, einer MAC-Adresse, einem Namen, der dem Gerät von einem Benutzer gegeben wurde, oder beliebigen Kombinationen derselben basieren. Beispielsweise kann die Geräte-ID 106 für Computergerät 104a „Telefon Alice“ sein. Die Geräte-ID 108 für Computergerät 104b kann „Telefon Bob“ sein. Die Computergeräte 104a und 104b weisen jeweilige Gerätegruppen 110 und 112 auf, wobei die Computergeräte die Geräte-IDs speichern.
  • In einigen Implementierungen können mehr als zwei Computergeräte vorhanden sein, die zum Antworten auf das bestimmte Triggerwort konfiguriert sind. Jedes Computergerät kann die anderen Computergeräte identifizieren, die zum Antworten auf das bestimmte Triggerwort konfiguriert sind, und kann die Geräte-IDs für die anderen Computergeräte in der Gerätegruppe speichern.
  • In einigen Implementierungen können die Computergeräte an demselben Standort positioniert sein, sodass sie einen selben Standort oder Platz teilen. Die Computergeräte können innerhalb eines zuvor festgelegten Abstands voneinander, oder in demselben Raum sein. Die Computergeräte können in derselben akustischen Umgebung sein. In einigen Beispielen können die Computergeräte virtuell am gleichen Standort positioniert sein, z. B. wenn die Computergeräte an einer Telefon- oder Videokonferenz teilnehmen.
  • In einigen Implementierungen können die Computergeräte andere Computergeräte identifizieren, die zum Antworten auf das Triggerwort durch eine Kurzstreckenkommunikation, wie z. B. das Bluetooth-Protokoll oder das Bluetooth-Low-Energy (BLE)-Protokoll, konfiguriert sind. Beispielsweise kann das Computergerät 104a ein Signal durch Kurzstreckenkommunikation übertragen, das nach anderen Computergeräten sucht, die zum Antworten auf das Triggerwort konfiguriert sind. Die Computergeräte können innerhalb eines bestimmten Abstands, wie z. B. zehn Meter, wie durch GPS oder Signalstärke bestimmt, voneinander positioniert sein. Das erste Computergerät kann eine Stärke eines Signals erkennen, das durch das zweite Computergerät übertragen wird, und dies in einen entsprechenden Abstand übersetzen. Die Computergeräte können eine dieser Techniken oder eine Kombination derselben verwenden, um andere Computergeräte zu identifizieren, die konfiguriert sind, um auf das Triggerwort zu antworten.
  • In diesem Beispiel und in Stufe B spricht Alice die Äußerung 102 „OK Computer, finde für mich ein gutes Steakhaus in der Nähe zum Mittagessen“, in der Nähe der Computergeräte 104a und 104b. Die Äußerung 102 wird durch Mikrofone 114 und 116 jeweils von Computergeräten 104a und 104b erkannt.
  • Die jeweiligen Mikrofone 114 und 116 der Computergeräte 104a und 104b stellen Audiodaten für jeweilige Audiosubsysteme 118 und 120 bereit. Die jeweiligen Audiosubsysteme 118 und 120 können die Audiodaten puffern, filtern und digitalisieren. In einigen Implementierungen können die Computergeräte auch Endpointing an den Audiodaten ausführen. Die Audiosubsysteme 118 und 120 können Audiopuffer zum Speichern von gefilterten und digitalisierten Audiodaten beinhalten.
  • In Stufe C stellen das jeweilige Audiosubsystem 118 und 120 von jedem Computergerät 104a und 104b die verarbeiteten Audiodaten für die jeweiligen Triggerwortprozessoren 122 und 124 bereit. Die jeweiligen Triggerwortprozessoren 122 und 124 vergleichen die verarbeiteten Audiodaten mit bekannten Triggerwort-Daten und berechnen jeweilige Triggerwort-Konfidenzpunktzahlen, die die Wahrscheinlichkeit angeben, dass die Äußerung 102 ein Triggerwort 126 beinhaltet.
  • Die Triggerwortprozessoren 124 des Computergeräts 104b können Audiomerkmale von den verarbeiteten Audiodaten extrahieren, wie z. B. Filterbankenergien oder Mel-Frequenz-Cepstrum-Koeffizienten. Der Triggerwortprozessor 124 kann Einstufungsfenster verwenden, um diese Audiomerkmale, beispielsweise unter Verwendung einer Support Vector Machine oder eines neuronalen Netzwerks, zu verarbeiten. Basierend auf der Verarbeitung der Audiomerkmale bestimmt das Computergerät 104b, dass die Äußerung 102 das Triggerwort 126 beinhaltet, wenn der Triggerwortprozessor 124 des Computergeräts 104b eine Triggerwort-Konfidenzpunktzahl berechnet, die eine Schwellenwert-Triggerwort-Konfidenzpunktzahl überschreitet. Auf ähnliche Weise kann der Triggerwortprozessor 122 von Computergerät 104a bestimmen, dass die Äußerung 102 das Triggerwort 126 beinhaltet.
  • In einigen Implementierungen senden ein oder mehrere der Computergeräte die verarbeiteten Audiodaten zu einem Server und der Server berechnet eine Triggerwort-Konfidenzpunktzahl. In diesem Fall beinhaltet der Server einen Triggerwortprozessor ähnlich den Triggerwortprozessoren 122 und 124. Der Triggerwortporzessor auf dem Server kann bestimmen, dass die Äußerung 102 das Triggerwort beinhaltet, und sendet die Benachrichtigung an das eine oder die mehreren Computergeräte.
  • In einigen Implementierungen stellt das System das Vorhandensein des Triggerwortes in den Audiodaten fest, ohne eine Spracherkennung der Audiodaten durchzuführen.
  • In einigen Implementierungen kann jedes Computergerät Audiofingerabdrücke der empfangenen Audiodaten generieren. Computergerät 104b kann einen ersten Audiofingerabdruck der Audiodaten generieren, die der durch Mikrofon 114 des Computergeräts 104a erkannten Äußerung entsprechen. Computergerät 104b kann einen zweiten Audiofingerabdruck der Audiodaten empfangen, die der durch Mikrofon 116 des Computergeräts 104b erkannten Äußerung entsprechen. Die Audiofingerabdrücke können verglichen werden, um zu bestimmen, ob die Computergeräte 104a und 104b auf dieselbe Äußerung antworten.
  • In einigen Implementierungen können die Audiodaten von den Computergeräten zu einem Server gesendet werden. Der Server kann ein Audiofingerabdruckmodul zum Generieren der Audiofingerabdrücke und Ausführen des Vergleichs beinhalten. In einigen Implementierungen können die Computergeräte auch eine Geräte-ID mit den Audiodaten senden. In einigen Implementierungen können die Computergeräte auch Standortinformationen, die den Computergeräten zugeordnet sind, mit den Audiodaten senden.
  • In Stufe D identifiziert das sprachgesteuerte System 100 eines der Computergeräte als das Gerät, wofür die Äußerung 102 bestimmt ist. In diesem Beispiel kann Alice die Äußerung 102 in Richtung des Computergeräts 104a sprechen, das sich in ihrer Hand befindet. Das Computergerät 104a wird als das Computergerät identifiziert, wofür die Äußerung 102 bestimmt ist. Das Computergerät 104a benachrichtigt die anderen Geräte, die durch die Äußerung 102 ausgelöst wurden, dass es die Audiodaten verarbeiten wird. In diesem Beispiel sendet das Computergerät 104a einen Antwortindikator 128, der angibt, dass es auf die Audiodaten antwortet, die der Äußerung 102 an Computergerät 104b entsprechen.
  • In einigen Implementierungen kann der Antwortindikator 128, der angibt, dass 104a auf die Audiodaten antwortet, ein Ultraschall- oder hörbares Audiosignal, oder ein Kurzstreckenfunksignal, wie z. B. Bluetooth, sein. Das Signal wird durch 104b und beliebige andere Computergeräte in der Nähe empfangen. In einigen Implementierungen kann das Benachrichtigungssignal eine bestimmte Frequenz und/oder ein Muster beinhalten. Beispielsweise kann ein Benachrichtigungssignal zwanzig Kilohertz betragen, um anzugeben, dass das zweite Computergerät Spracherkennung an den Audiodaten ausführen wird.
  • In einigen Implementierungen kann der Antwortindikator 128, der angibt dass 104a auf die Audiodaten antwortet, durch 104b über ein lokales Netzwerk empfangen werden. In einigen Implementierungen kann der Antwortindikator 128, der angibt, dass 104a auf die Audiodaten antwortet, durch 104b über einen Server empfangen werden.
  • In einigen Implementierungen kann Bestimmen, welches Gerät anfänglich auf eine Benutzeräußerung antwortet, Bestimmen beinhalten, welches Gerät sich am Nächsten zu einem Benutzer befindet. Die Lautstärke der durch das Computergerät empfangenen Audiodaten kann einen Abstand zwischen dem Computergerät und der Quelle des Audios widerspiegeln. Für die Direktweg-Signalausbreitung ist die Lautstärke etwa umgekehrt proportional zu dem Quadrat des Abstandes zwischen der Quelle und dem Empfänger.
  • In einigen Implementierungen können die Computergeräte eine Lautstärkepunktzahl für die Audiodaten unter Verwendung von einer oder einer Kombination der folgenden Techniken berechnen. Eine Technik kann darin bestehen, den Schalldruck oder Schalldruckpegel zu berechnen, wie er durch das Mikrofon empfangen wird, wenn der Benutzer die Äußerung spricht. Je höher der Schalldruck oder der Schalldruckpegel, umso höher die Lautstärke. Eine zweite Technik besteht im Berechnen des Effektivwerts der Audiodaten. Je höher der Effektivwert der Audiodaten, umso höher die Lautstärke. Eine dritte Technik besteht im Berechnen der Schallintensität der Audiodaten. Je höher die Schallintensität der Audiodaten, umso höher die Lautstärke. Eine vierte Technik besteht im Berechnen der Schallleistung der Audiodaten. Je höher die Schallleistung, umso höher die Lautstärke. Das Computergerät mit der höchsten Lautstärkepunktzahl kann als das Computergerät identifiziert werden, das anfänglich auf die Äußerung 102 antwortet.
  • In einigen Implementierungen kann Bestimmen, welches Gerät anfänglich auf eine Benutzeräußerung antwortet, Bestimmen beinhalten, welches Gerät die klarsten Audiodaten empfängt. Jedes Computergerät kann eine Klarheitspunktzahl berechnen, die basierend auf dem Signal-Rausch-Verhältnis der Audiodaten bestimmt wird, die der Äußerung 102 zugeordnet sind. Das Computergerät mit der höchsten Klarheitspunktzahl kann als das Computergerät identifiziert werden, das anfänglich auf die Äußerung 102 antwortet.
  • In einigen Implementierungen kann Bestimmen, welches Gerät anfänglich auf eine Benutzeräußerung antwortet, Ausführen der Sprecheridentifikation an den Audiodaten entsprechend der Äußerung 102 umfassen. Dies kann Bereitstellen der Audiodaten für die jeweiligen Sprecheridentifizierungsmodule 154 und 156 des Computergeräts 104a und 104b umfassen. Die Sprecheridentifizierungsmodule 154 und 156 können in Software implementiert sein, die auf einem Prozessor ausgeführt wird. Die Sprecheridentifizierungsmodule 154 und 156 analysieren die Audiodaten zum Berechnen einer jeweiligen Sprecheridentitäts-Konfidenzpunktzahl, die eine Konfidenz angibt, dass die Identität des Sprechers zu dem Benutzer passt, der dem Computergerät zugeordnet ist. Beispielsweise kann das Sprecheridentifizierungsmodul 154 des Computergeräts 104a eine Konfidenzpunktzahl von 0,8 berechnen, und Sprecheridentifizierungsmodul 156 von Computergerät 104b kann eine Sprecheridentitäts-Konfidenzpunktzahl von 0,05 berechnen, die eine größere Konfidenz angibt, dass die Sprecherin Alice ist.
  • In einigen Implementierungen können die Computergeräte eine von diesen Punktzahlen oder eine Kombination derselben verwenden, um eine Gesamtkonfidenzpunktzahl zu bestimmen. Die Gesamtkonfidenzpunktzahl kann zum Identifizieren des Computergeräts verwendet werden, das anfänglich auf die Benutzeräußerung 102 antwortet. In einigen Implementierungen kann jedes Computergerät die jeweilige Punktzahl oder eine Kombination von Punktzahlen sowie die jeweilige Geräte-ID zu den anderen Computergeräten in der Gerätegruppe übertragen.
  • In einigen Implementierungen kann jedes Computergerät einen Punktzahlvergleicher zum Vergleichen der Gesamtkonfidenzpunktzahlen von allen Computergeräten verwenden, die zum Antworten auf das Triggerwort konfiguriert sind. Das Computergerät mit der höchsten Gesamtkonfidenzpunktzahl kann die Spracherkennung an den Audiodaten nach dem Triggerwort initiieren. Ein Computergerät, das nicht die höchste Gesamtkonfidenzpunktzahl aufweist, kann auf Daten warten, die angeben, dass ein anderes Computergerät begonnen hat, die Audiodaten zu verarbeiten.
  • In einigen Implementierungen kann Bestimmen, welches Gerät anfänglich auf eine Benutzeräußerung antwortet, Analysieren der Einstellungen des Computergeräts umfassen. Wenn beispielsweise die Äußerung auf Französisch, und ein Telefon mit französischen Spracheinstellungen in der Nähe ist, dann ist dies wahrscheinlich das Computergerät, wofür die Äußerung vorgesehen war.
  • In einigen Implementierungen kann Bestimmen, welches Gerät anfänglich auf eine Benutzeräußerung antwortet, durch Analysieren der Semantik des Befehls oder der Abfrage erfolgen, die in der Äußerung beinhaltet ist, und durch Korrelieren derselben mit dem Status und den Informationen der Computergeräte. Wenn beispielsweise die Abfrage lautet „Mit wem treffe ich mich um zwei Uhr?“, dann kann das sprachgesteuerte System bestimmen, dass die Abfrage für das Computergerät vorgesehen ist, das mit einem Kalender synchronisiert ist, und einen Termin um zwei Uhr hat.
  • In Stufe E verarbeitet das Computergerät 104a die Audiodaten, die der Äußerung 102 entsprechen. Die Audiodaten können für ein Spracherkennungsgerät 130 vorgesehen sein, das für den Teil der Audiodaten nach dem Triggerwort eine Spracherkennung durchführen kann. In diesem Beispiel kann das Spracherkennungsgerät 130 die Worte identifizieren „Finde für mich ein gutes Steakhaus in der Nähe zum Mittagessen“, und den Befehl identifizieren und ausführen.
  • In einigen Implementierungen kann das Computergerät 104a den Teil der Audiodaten nach dem Triggerwort an einen Server senden. Der Server kann ein Spracherkennungsgerät ähnlich dem Spracherkennungsgerät 130 beinhalten. Das in dem Server beinhaltete Spracherkennungsgerät kann die Spracherkennung durchführen und eine Transkription der Audiodaten für das Computergerät 104a bereitstellen. Das Computergerät 104a kann die Worte identifizieren und den Befehl ausführen.
  • In einigen Implementierungen kann das Computergerät 104a eine Antwort auf die Audiodaten durch Aufrufen der den Audiodaten zugeordneten Daten generieren. In diesem Beispiel identifiziert das Computergerät 104a den Befehl „Finde für mich ein gutes Steakhaus in der Nähe zum Mittagessen“ in der Äußerung 102, und kann eine Websuche ausführen, um ein Steakhaus in der Nähe zu finden. Das Computergerät 104a kann auch Kundenbewertungen vom Web abrufen, um ein Steakhaus auszuwählen, und um eine Transkription 132 entsprechend der Antwort „Al's Steakhouse in 123 Main Street hat gute Bewertungen“ zu generieren.
  • In Stufe F stellt das Computergerät 104a als Ausgabe eine generierte Antwort auf die der Äußerung 102 zugeordneten Audiodaten bereit. In einigen Implementierungen beinhaltet dies, Bereitstellen der Transkription 132, die der Antwort entspricht, für einen Sprachsynthesizer 134. Die Ausgabe des Sprachsynthesizers kann für einen Sprecher 136 des Computergeräts bereitgestellt werden. In diesem Beispiel stellt das Computergerät 104a als Ausgabe die zusätzlichen Audiodaten 138 „Al's Steakhouse in 123 Main Street hat gute Bewertungen“ bereit.
  • In einigen Implementierungen kann die der Antwort entsprechende Transkription 132 zu einer Anzeige 140 des Computergeräts 104a gesendet werden.
  • In Stufe G sendet Computergerät 104b die der Antwort entsprechende Transkription 132 an Computergerät 104b und beliebige andere identifizierte Computergeräte.
  • In einigen Implementierungen können ein oder mehrere der Computergeräte ein Privatsphärenmodul beinhalten, das die übertragenen oder empfangenen Daten basierend auf Benutzereinstellungen oder -voreinstellungen verwaltet oder filtert.
  • In Stufe H verarbeitet das Computergerät 104b die Audiodaten entsprechend der Äußerung 102 und die Transkription 132 der Audiodaten, die durch das Computergerät 104b bereitgestellt werden, und generiert eine neue Transkription, die einer Antwort entspricht. In diesem Beispiel generiert Computergerät eine Antwort basierend auf dem Befehl „Finde für mich ein gutes Steakhaus in der Nähe zum Mittagessen“ sowie die durch das Computergerät 104a bereitgestellte Antwort „Al's Steakhouse in 123 Main Street hat gute Bewertungen“.
  • In einigen Implementierungen kann das Computergerät 104b eine Antwort basierend auf Benutzerinformationen 142 generieren, die den Audiodaten zugeordnet sind. Die Benutzerinformationen können einem Benutzer des Computergeräts zugeordnet sein (z. B. Kalender, Kontakte, Mediendateien, persönliche Voreinstellungen usw.). In diesem Beispiel kann das Computergerät 104b basierend auf dem Befehl „Finde für mich ein gutes Steakhaus in der Nähe zum Mittagessen“ und die durch das Computergerät 104a bereitgestellte Antwort „Al's Steakhouse in 123 Main Street hat gute Bewertungen“ auf ein Online-Reservierungssystem im Internet zugreifen und kann Bobs Restaurantbewertungen oder persönliche Voreinstellungen aufrufen, um eine Transkription entsprechend der Antwort „Al's ist gerade sehr voll, versuchen Sie es stattdessen bei Lone Star Steakhouse in 4 Main Street. Bob gefällt es dort sehr“ zu generieren.
  • In einigen Implementierungen kann Computergerät 104b eine Transkription der Audiodaten empfangen, die der Äußerung 102 entsprechen, und diese Transkription zusätzlich zu der Transkription der durch das Computergerät 104b bereitgestellten Antwort und den Audiodaten verwenden, die der Äußerung entsprechen. Dies kann in Fällen helfen, wenn Computergerät 104b weiter von dem Benutzer entfernt ist, der die Äußerung spricht. Da sich Computergerät näher an dem Benutzer befindet, kann es eine genauere Transkription der Äußerung 102 bereitstellen. Dadurch entfällt zudem die Notwendigkeit zum zweimaligen Ausführen der Spracherkennung auf denselben Audiodaten.
  • In Stufe I stellt das Computergerät 104b die generierte Ausgabe als Antwort auf die Äußerung 102 und die zusätzlichen Audiodaten bereit, die durch Computergerät 104a bereitgestellt werden. In einigen Implementierungen beinhaltet dies, Bereitstellen der Transkription, die der Antwort entspricht, für einen Sprachsynthesizer 144. Die Ausgabe des Sprachsynthesizers kann für einen Sprecher 146 des Computergeräts 104b bereitgestellt werden. In diesem Beispiel stellt das Computergerät 104a als Ausgabe die Äußerung 148 „Al's ist gerade sehr voll, versuchen Sie es stattdessen bei Lone Star Steakhouse in 4 Main Street. Bob gefällt es dort sehr“ bereit.
  • In einigen Implementierungen umfasst das Bereitstellen der Transkription zum Ausgeben, die der Antwort entspricht, Bereitstellen der Transkription zum Anzeigen auf einer Anzeige 150 des Computergeräts 104a.
  • In einigen Implementierungen können die Parameter, die die durch den Sprachsynthesizer produzierte Stimme umfassen (z. B. Tonhöhe, Tonfall, Akzent, Geschwindigkeit, Beugung usw.), angepasst werden. Dies ermöglicht die Erzeugung von individuellen Stimmen für jedes Computergerät, wodurch die Benutzererfahrung verbessert wird. Der Sprachsynthesizer kann eine Form von Maschinenlernen zum Generieren der parametrischen Darstellung von Sprache zum Synthetisieren der Sprache verwenden. Beispielsweise kann ein neuronales Netzwerk zum Generieren der Sprachparameter verwendet werden.
  • In einigen Implementierungen können ein oder mehrere Computergeräte einer anfänglichen Antwort mit einer Frage oder einer Aufforderung für den Benutzer folgen, um zu antworten, bevor weiter fortzufahren. Wenn beispielsweise Alice die Äußerung spricht „OK Computer, finde für mich ein gutes Steakhaus in der Nähe zum Mittagessen“, kann Alices Gerät eine Liste von Restaurants in der Nähe bereitstellen. Bobs Gerät kann auf Bobs persönliche Informationen zugreifen und die Antwort bereitstellen „Bob mag argentinische Steaks, es gibt eine Menge guter Steakhäuser in der Nähe. Würden Sie gern mal eins besuchen?“ Eines oder mehrere der Computergeräte kann auf eine Antwort auf die Frage warten und basierend auf der Antwort fortfahren. Nach Empfangen der Antwort „Ja“, könnte Bobs Gerät eine Folgeantwort „Rural Society in 123, Madison Avenue hat gute Bewertungen“ bereitstellen.
  • In einigen Implementierungen kann das zusammenwirkende sprachgesteuerte Gerätesystem mehr als zwei Geräte aufweisen. Beispielsweise kann eine Gruppe von drei Benutzern Alice, Bob und Carl versuchen, Wegbeschreibungen zu einem Park in der Nähe zu erhalten, wobei jeder sein eigenes Gerät haben kann. Alice spricht die Äußerung „OK Computer, gib mir eine Wegbeschreibung zu Prospect Park“. Alices Gerät kann auf Alices persönliche Informationen zugreifen, die angeben, dass sie gewöhnlich den öffentlichen Personennahverkehr (ÖPNV) nutzt. Alices Gerät kann die Informationen zusammen mit den von einem ÖPNV-Webtool erhaltenen Informationen zum Bereitstellen der Antwort benutzen „In 12 Minuten fährt eine Bahn von Carol Square Station ab, die um 16:59 Uhr an der Prospect Park Station ankommt. Der Fußweg zur Carol Square Station beträgt 4 Minuten, und der Fußweg von der Prospect Park Station zum Eingang des Prospect Park beträgt 5 Minuten“. Bobs Gerät kann diese Antwort durch ein Netzwerk empfangen. Durch Generieren einer Antwort kann Bobs Gerät auf Bobs persönliche Informationen zugreifen und sieht, dass Bob gewöhnlich vorzieht, mit dem Auto zu fahren, und dass er sein Auto in einer Garage in der Nähe geparkt hat. Die Geräte können den Standortwechsel zur Garage, und die Diskussion zwischen Alice, Bob und Carl erkennen, mit dem Auto zu fahren, anstatt den ÖPNV zu nehmen. Bobs Gerät kann ein Web-Landkarten-Suchtool zum Bereitstellen von Wegbeschreibungen zum Park verwenden. Während der Fahrt kann Carls Gerät die Wegbeschreibungen durch das Netzwerk empfangen und kann auf ein Echtzeit-Verkehrstool zugreifen um zu bestimmen, dass es eine schnellere Strecke gibt, und eine Antwort bereitstellen „Wenn Sie Main St anstatt Rock Rd nehmen, dann sind Sie 5 Minuten schneller“.
  • In einigen Implementierungen können die Geräte vor dem Bereitstellen einer Antwort zusammenwirken, um vollständigere und relevante Antworten zu generieren. Dies kann durch Verwenden der verfügbaren Informationen und Teilen der persönlichen Informationen der Benutzer erfolgen, sofern ein Benutzer vorher ausgewählt hat, die persönlichen Informationen zu teilen. Wenn beispielsweise Alice sagt „OK Computer, finde für mich ein gutes Steakhaus in der Nähe zum Mittagessen“, können alle Geräte beginnen, die Abfrage zu verarbeiten, bevor eine Antwort bereitgestellt wird. Bobs Telefon kann Daten zu den anderen Geräten senden, die angeben, dass Bob Vegetarier ist. Dies ermöglicht den Geräten, ihre Antworten so zu individualisieren, dass sie nur vegetarierfreundliche Restaurant-Optionen bereitstellen.
  • In einigen Implementierungen können die Geräte entweder eine Antwort bereitstellen oder die Informationen an ein anderes Gerät weiterleiten. Gespräche können menschlicher oder humorvoller gestaltet werden, indem die Antworten absichtlich koordiniert werden, oder durch Weglassen von Teilen aus einer Antwort durch ein Gerät, die von einem anderen Gerät zu vervollständigen ist. Beispielsweise in dem obigen Beispiel, bei dem Bobs Telefon Daten geteilt hat, die angeben, dass Bob Vegetarier ist, stellt Alices Telefon als Antwort auf „Sollten wir Al's Steakhouse in 123 Main Street versuchen?“, keine Antwort bereit, sondern wartet ab, dass Bobs Telefon die Antwort „Sind Steaks vegetarisch?“ bereitstellt.
  • 2 zeigt ein Diagramm eines exemplarischen Verfahrens 200 zum Zusammenwirken zwischen mehreren sprachgesteuerten Geräten. Das Verfahren 200 kann durch ein Computergerät, wie z. B. die Computergeräte 104a und 104b von 1, ausgeführt werden. Das Verfahren 200 bestimmt, dass ein zweites Computergerät eine Audioäußerung verarbeitet, und empfängt eine Transkription einer Antwort auf die Äußerung. Das Verfahren 200 verwendet die Äußerung und Transkription der Antwort, um eine Antwort zu generieren.
  • Das erste Computergerät identifiziert ein zweites Computergerät, das zum Antworten auf ein bestimmtes, zuvor festgelegtes Triggerwort (210) konfiguriert ist. In einigen Implementierungen kann das erste Computergerät dies durch periodisches Übertragen eines Ultraschall- oder Funksignals tun, das eine Antwort anfragt. Beispielsweise kann das erste Computergerät einen Ultraschall übertragen, der 20,5 Kilohertz beträgt, wenn es nach Computergeräten sucht, die Triggerwörter erkennen. Als Antwort können Computergeräte, die den Ultraschall von 20,5 Kilohertz empfangen, mit einem Ultraschall von einundzwanzig Kilohertz antworten. In einigen Implementierungen kann das Ultraschall- oder Funksignal mit Informationen codiert sein, die das erste Computergerät identifizieren.
  • In einigen Implementierungen kann das erste Computergerät andere Computergeräte identifizieren, die demselben Benutzer gehören. Beim Einrichten eines neuen Computergeräts kann ein Teil des Einrichtungsverfahrens darin bestehen, andere Computergeräte zu identifizieren, die demselben Benutzer gehören. Dies kann durch Erkennen anderer Geräte erfolgen, an denen der Benutzer angemeldet ist. Sobald das erste Computergerät ein anderes Computergerät identifiziert, können die Computergeräte Daten unter Verwendung eines Ultraschallfrequenzsignals austauschen, das einen Bitstrom so codiert, dass die Computergeräte Daten austauschen, wenn sie ein Triggerwort identifizieren.
  • Das Ultraschallfrequenzsignal kann durch einen Sprecher übertragen werden. Beispielsweise kann ein Benutzer einen Haushaltsassistenten einrichten, wobei ein Teil des Einrichtungsprozesses im Suchen nach anderen Computergeräten besteht, die sich in der Nähe befinden, und die auf Triggerwörter antworten. Der Haushaltsassistent kann ein Telefon und ein Tablet identifizieren, an denen der Benutzer angemeldet ist. Beispielsweise können der Thermostat, Telefon und Tablet Daten unter Verwendung eines Ultraschallsignals austauschen nach Identifizieren, dass alle in einem selben Raum positioniert sind. Das Ultraschallsignal kann einen Bitstrom beinhalten, der jedes der Geräte identifiziert. Die Geräte können den Ultraschallkanal nach Erkennen eines Triggerwortes verwenden.
  • In einigen Implementierungen können die Computergeräte andere Computergeräte identifizieren, die zum Antworten auf das Triggerwort durch Identifizieren von Computergeräten konfiguriert sind, die konfiguriert sind, um zu antworten, wenn das Triggerwort durch denselben Benutzer durch Sprecheridentifizierung gesprochen wird. Beispielsweise können die Computergeräte 104a und 104b zum Antworten auf die Stimme von Alice konfiguriert sein, wenn Alice das Triggerwort spricht. Die Computergeräte teilen die Sprecheridentifizierungsinformationen durch Bereitstellen einer Benutzer-ID für Alice miteinander.
  • Ein Benutzer spricht die Äußerung und ein Mikrofon des ersten Computergeräts empfängt die Audiodaten der Äußerung (220). Das erste Computergerät verarbeitet die Audiodaten durch Puffern, Filtern, Endpointing und Digitalisieren der Audiodaten. Beispielsweise kann der Benutzer „OK Computer“ äußern, und das Mikrofon des ersten Computergeräts empfängt die Audiodaten, die „OK Computer“ entsprechen. Ein Audiosubsystem des ersten Computergeräts sampelt, puffert, filtert und führt Endpointing an den Audiodaten zwecks weiterer Verarbeitung durch das erste Computergerät aus.
  • In einigen Implementierungen bestimmt das erste Computergerät, dass die Audiodaten, die der Äußerung entsprechen, das bestimmte, zuvor festgelegte Triggerwort beinhalten (230). Die Audiomerkmale der Audiodaten, die der Äußerung entsprechen, werden extrahiert. In einigen Implementierungen kann die Wahrscheinlichkeit, dass die Äußerung ein Triggerwort beinhaltet, durch eine Triggerwort-Konfidenzpunktzahl repräsentiert werden. Die Triggerwort-Konfidenzpunktzahl wird durch Verarbeiten der Audiomerkmale generiert.
  • Die Triggerwort-Konfidenzpunktzahl kann auf eine Skala von eins zu eins normalisiert werden, wobei eins die höchste Wahrscheinlichkeit angibt, dass die Äußerung ein Triggerwort beinhaltet. Das erste Computergerät kann die Triggerwort-Konfidenzpunktzahl mit einem Triggerwort-Konfidenzschwellenwert vergleichen. Wenn die Triggerwort-Konfidenzpunktzahl einen Triggerwort-Konfidenzschwellenwert erreicht, kann das erste Computergerät bestimmen, dass die Audiodaten, die der Äußerung entsprechen, das zuvor festgelegte Triggerwort beinhalten.
  • Erreicht die Triggerwort-Konfidenzpunktzahl den Triggerwort-Konfidenzschwellenwert nicht, dann bestimmt das System, dass die Audiodaten das Triggerwort nicht beinhalten. Beträgt der Schwellenwert beispielsweise 0,75, so werden Audiodaten mit einer Triggerwort-Konfidenzpunktzahl von über 0,75 als Triggerwort enthaltend eingestuft, während Audiodaten mit einer Triggerwort-Konfidenzpunktzahl von unter 0,75 als nicht Triggerwort enthaltend eingestuft werden.
  • In einigen Implementierungen stellt das System das Vorhandensein des Triggerwortes in den Audiodaten fest, ohne eine Spracherkennung der Audiodaten durchzuführen.
  • In einigen Implementierungen bestimmt das erste Computergerät, dass die Wahrscheinlichkeit, dass die Äußerung ein bestimmtes, zuvor festgelegtes Triggerwort beinhaltet, durch Vergleichen der Audiodaten der Äußerung mit einer Gruppe von Audioproben, die das Triggerwort beinhalten.
  • In einigen Implementierungen empfängt das erste Computergerät Daten, die angeben, dass das zweite Computergerät auf die Audiodaten antwortet (240). Dabei kann es sich um Daten von einem Server oder von dem zweiten Computergerät und durch ein lokales Netzwerk handeln, die angeben, dass das zweite Computergerät auf die Audiodaten antwortet. Die Daten können ein Benachrichtigungssignal, wie z. B. ein Ultraschall-, ein Kurzstreckenfunksignal oder ein Nahbereichsdrahtlossignal, sein, um anzugeben, dass das zweite Computergerät Spracherkennungsverarbeitung an den Audiodaten initiiert. Zum Empfangen des Signals kann das erste Computergerät sicherstellen, dass das Mikrofon des ersten Computergeräts aktiv bleibt, dass ein Kurzstreckenfunkempfänger aktiv ist, oder dass ein anderer Funk, wie z. B. ein Nahbereichsdrahtlosfunk, aktiv ist.
  • Das erste Computergerät empfängt eine Transkription von zusätzlichen Audiodaten, die durch das zweite Computergerät ausgegeben werden, als Antwort auf die Äußerung (250).
  • In einigen Implementierungen kann das zweite Computergerät eine Transkription von zusätzlichen Audiodaten als Antwort auf die Äußerungsantwort auf die empfangenen Daten basierend auf Benutzerinformationen generieren, die den Audiodaten zugeordnet sind. Die Benutzerinformationen können einem Benutzer des ersten Computergeräts zugeordnet sein (z. B. Kalender, Kontakte, Mediendateien, Informationen in den sozialen Medien, persönliche Voreinstellungen usw.).
  • Wenn beispielsweise Bob die Äußerung „OK Computer, plane eine Besprechung mit Bob für diesen Nachmittag“ spricht, dann kann Computergerät 104b Informationen von dem Bob zugeordneten Kalender verwenden, der auf dem Computergerät 104b gespeichert ist, um einen Vorschlag für eine Besprechungszeit bereitzustellen, und kann die Antwort bereitstellen „Geht entweder 15 oder 16 Uhr?“
  • Das erste Computergerät generiert eine Transkription, die einer Antwort auf die zusätzlichen Audiodaten entspricht, basierend auf der Transkription der zusätzlichen Audiodaten und der Äußerung (260).
  • In einigen Implementierungen können ein oder mehrere der Computergeräte 104a und 104b einen Standort des Computergeräts bestimmen und die Standortinformationen zum Generieren einer Antwort verwenden. Wenn beispielsweise Computergerät 104a bestimmt, dass es sich an einem Ort befindet, an dem es unangemessen sein kann, hörbar zu antworten, z. B. in einer Bibliothek, kann das Computergerät 104a möglicherweise keine Antwort bereitstellen oder es kann die Antwort auf der Anzeige 140 des Computergeräts 104A bereitstellen.
  • In einigen Implementierungen kann das Computergerät Daten aufrufen, die der Transkription der zusätzlichen Audiodaten zugeordnet sind, und die Transkription basierend auf den aufgerufenen Daten generieren. Wenn beispielsweise die Transkription der zusätzlichen Audiodaten eine Abfrage beinhaltet, die Vorschläge für Restaurants in der Nähe abfragt, kann das Computergerät eine Websuche ausführen, Daten aufzurufen, die Restaurants in der Nähe entsprechen. Das Computergerät kann diese aufgerufenen Daten zum Generieren der Transkription entsprechend der Antwort verwenden.
  • Das Computergerät stellt die der Antwort (270) entsprechende Transkription zum Ausgeben bereit. In einigen Implementierungen beinhaltet dies, Bereitstellen der Transkription, die der Antwort entspricht, für einen Sprachsynthesizer. Die Ausgabe des Sprachsynthesizers kann für einen Audiosprecher des Computergeräts bereitgestellt werden.
  • In einigen Implementierungen kann die der Antwort entsprechende Transkription zu einer Anzeige des Computergeräts gesendet werden.
  • In einigen Implementierungen kann Zusammenwirken zwischen mehreren Geräten zum Verbessern der Qualität von Spracherkennung verwendet werden. Da unterschiedliche Geräte unterschiedliche Sensoren (Mikrofone) aufweisen und in den Umgebungen des Benutzers unterschiedlich positioniert sind, könnte es sein, dass keines von ihnen die gesamte Benutzerabfrage korrekt transkribiert hat, wobei jedoch Kombinieren der Transkriptionen aller Computergeräte perfekt zu der Abfrage passen könnte. In einem anderen Beispiel, wenn sich der Benutzer um einen Raum bewegt, und andere Computergeräte zu unterschiedlichen Zeiten während des Sprechens der Abfrage nahe bei dem Benutzer sind, kann durch Verwenden der Transkriptionen von jedem der Computergeräte und deren Kombination eine genauere Transkription erhalten werden.
  • 3 zeigt ein Beispiel eines Computergeräts 300 und eines mobilen Computergeräts 350, die verwendet werden können, um die hier beschriebenen Techniken zu implementieren. Das Computergerät 300 dient der Darstellung verschiedener Formen digitaler Computer, wie z. B. Laptops, Desktops, Workstations, persönlicher digitaler Assistenten, Server, Blade-Server, Großrechner und anderer geeigneter Computer. Das mobile Computergerät 350 soll verschiedene Formen mobiler Geräte wie persönliche digitale Assistenten, Mobiltelefone, Smartphones und andere ähnliche Computergeräte darstellen. Die hier dargestellten Komponenten, deren Verbindungen, Beziehungen und Funktionen sollen lediglich Beispiele sein und sind in keiner Weise als Einschränkung zu verstehen.
  • Das Computergerät 300 beinhaltet einen Prozessor 302, einen Speicher 304, ein Speichergerät 306, eine Hochgeschwindigkeitsschnittstelle 308, die mit dem Speicher 304 und mehreren Hochgeschwindigkeits-Erweiterungsanschlüssen 310 verbunden ist, und eine Niedergeschwindigkeitsschnittstelle 312, die mit einem Niedergeschwindigkeits-Erweiterungsanschluss 314 und dem Speichergerät 306 verbunden ist. Jedes der nachfolgend gelisteten Teile, der Prozessor 302, der Speicher 304, das Speichergerät 306, die Hochgeschwindigkeitsschnittstelle 308, die Hochgeschwindigkeits-Erweiterungsanschlüsse 310 und die Niedergeschwindigkeitsschnittstelle 312 sind durch verschiedene Busse miteinander verbunden und können auf einer gemeinsamen Hauptplatine oder auf andere geeignete Weise montiert sein. Der Prozessor 302 kann Befehle zur Ausführung innerhalb des Computergeräts 300 verarbeiten, darunter im Speicher 304 oder auf dem Speichergerät 306 abgelegte Befehle für die Anzeige einer GUI auf einem externen Eingabe-/Ausgabegerät wie einer Anzeige 316, die mit der Hochgeschwindigkeitsschnittstelle 308 verbunden ist. Bei anderen Implementierungen können gegebenenfalls mehrere Prozessoren und/oder mehrere Busse zusammen mit mehreren Speichern und Speicherarten verwendet sein. Es können außerdem auch mehrere Computergeräte verbunden sein, wobei jedes Gerät Teile der notwendigen Vorgänge (z. B. als Serverbank, Gruppe von Blade-Servern oder Mehrprozessorsystem) bereitstellt.
  • Der Speicher 304 speichert Informationen in Computergerät 300. In einigen Implementierungen handelt es sich bei dem Speicher 304 um (eine) flüchtige Speichereinheit(en). In einigen Implementierungen handelt es sich bei dem Speicher 304 um (eine) nicht flüchtige Speichereinheit(en). Der Speicher 304 kann zudem in einer anderen Form eines computerlesbaren Mediums, wie beispielsweise in Form eines magnetischen oder optischen Datenträgers, vorliegen.
  • Das Speichergerät 306 ist in der Lage, Massenspeicher für die Computergeräte 300 bereitzustellen. In einigen Implementierungen kann das Speichergerät 306 ein computerlesbares Medium, wie z. B. ein Diskettenlaufwerk, ein Festplattenlaufwerk, ein optisches Laufwerk, eine Magnetbandeinheit, ein Flash-Speicher oder ein anderes ähnliches Solid-State-Speichergerät oder eine Reihe von Geräten, einschließlich Geräten in einem Speichernetzwerk oder anderen Konfigurationen, sein oder beinhalten. Befehle können in einem Informationsträger gespeichert werden. Die Anweisungen führen, wenn sie von einem oder mehreren Verarbeitungsgeräten (zum Beispiel Prozessor 302) ausgeführt werden, ein oder mehrere Verfahren, wie z. B. die zuvor beschriebenen, aus. Die Befehle können zudem durch ein oder mehrere Speichergeräte, wie z. B. computer- oder maschinenlesbare Medien (beispielsweise Speicher 304, Speichergerät 306 oder den Speicher im Prozessor 302), gespeichert werden.
  • Die Hochgeschwindigkeitsschnittstelle 308 verwaltet bandbreitenintensive Vorgänge für das Computergerät 300, während die Niedergeschwindigkeitsschnittstelle 312 niedrigere bandbreitenintensive Vorgänge verwaltet. Diese Zuordnung von Funktionen ist jedoch nur exemplarisch. In einigen Implementierungen ist die Hochgeschwindigkeitsschnittstelle 308 an den Speicher 304, den Bildschirm 316 (z. B. durch einen Grafikprozessor oder -Beschleuniger) und die Hochgeschwindigkeits-Erweiterungsanschlüsse 310 gekoppelt, die gegebenenfalls verschiedene Erweiterungskarten (nicht dargestellt) akzeptieren. In der Implementierung ist die Niedergeschwindigkeitsschnittstelle 312 mit dem Speichergerät 306 und dem Niedergeschwindigkeitserweiterungsanschluss 314 gekoppelt. Der Niedergeschwindigkeitserweiterungsanschluss 314, der ggf. verschiedene Kommunikationsanschlüsse (z. B. USB, Bluetooth, Ethernet, drahtloses Ethernet) beinhaltet, kann mit einem oder mehreren Eingabe-/Ausgabegeräten, wie z. B. einer Tastatur, einem Zeigegerät, einem Scanner oder einem Netzwerkgerät wie einem Switch oder Router z. B. durch einen Netzwerkadapter gekoppelt sein.
  • Das Computergerät 300 kann, wie in der Figur ersichtlich, in einer Reihe verschiedener Formen implementiert sein. Zum Beispiel kann es als Standardserver 320, oder mehrfach in einer Gruppe jener Server implementiert sein. Darüber hinaus kann es in einem Personal-Computer, wie z. B. Laptop-Computer 322, implementiert sein. Es kann zudem als Teil eines Rackserversystems 324 implementiert sein.
  • Alternativ können Komponenten des Computergeräts 300 mit anderen Komponenten in einem mobilen Gerät (nicht dargestellt), wie z. B. Computergerät 350, kombiniert werden. Jedes dieser Geräte kann ein oder mehrere der Computergeräte 300 und der mobilen Computergeräte 350 beinhalten, wobei sich ein vollständiges System aus mehreren miteinander kommunizierenden Computergeräten zusammensetzen kann.
  • Das mobile Computergerät 350 beinhaltet neben anderen Komponenten einen Prozessor 352, einen Speicher 364, ein Eingabe-/Ausgabegerät, wie z. B. eine Anzeige 354, eine Kommunikationsschnittstelle 366 und einen Sendeempfänger 368. Das mobile Computergerät 350 kann zudem mit einem Speichergerät, wie z. B. einem Microdrive oder einem anderen Gerät ausgestattet sein, um zusätzlichen Speicher bereitzustellen. Alle Prozessoren 352, Speicher 364, Anzeigen 354, die Kommunikationsschnittstelle 366 und der Sendeempfänger 368 sind mithilfe verschiedener Busse miteinander verbunden, wobei mehrere der Komponenten auf einer gemeinsamen Hauptplatine oder nach Eignung auf andere Weise montiert sein können.
  • Der Prozessor 352 kann Befehle innerhalb des mobilen Computergeräts 350, darunter auch die im Speicher 364 gespeicherten Befehle, ausführen. Der Prozessor 352 kann als ein Chipsatz aus Chips implementiert sein, die separate und mehrere analoge und digitale Prozessoren beinhalten. Der Prozessor 352 kann beispielsweise die Koordination der anderen Komponenten des mobilen Computergeräts 350, wie beispielsweise die Steuerung von Benutzeroberflächen, Anwendungen, die durch das mobile Computergerät 350 ausgeführt werden, sowie die drahtlose Kommunikation des mobilen Computergeräts 350 bereitstellen.
  • Der Prozessor 352 kann mit einem Benutzer über eine Steuerschnittstelle 358 und eine Anzeigeschnittstelle 356 kommunizieren, die mit einer Anzeige 354 verbunden sind. Bei der Anzeige 354 kann es sich zum Beispiel um eine TFT-LCD-Anzeige (Dünnfilmtransistor-Flüssigkristallanzeige) oder eine OLED-Anzeige (organische Leuchtdiode) oder eine andere geeignete Anzeigetechnologie handeln. Die Anzeigeschnittstelle 356 kann eine geeignete Schaltung zum Betreiben der Anzeige 354 beinhalten, um einem Benutzer grafische und andere Informationen zu präsentieren. Die Steuerschnittstelle 358 kann Befehle von einem Benutzer empfangen und diese für das Senden an Prozessor 352 umwandeln. Außerdem kann eine äußere Schnittstelle 362 Kommunikation mit dem Prozessor 352 bereitstellen, um eine Nahbereichskommunikation des mobilen Computergeräts 350 mit anderen Geräten zu ermöglichen. Die externe Schnittstelle 362 kann in einigen Implementierungen beispielsweise eine drahtgebundene Verbindung oder in anderen Implementierungen eine drahtlose Verbindung sein, zudem können mehrere Schnittstellen verwendet werden.
  • Der Speicher 364 legt Speicherinformationen innerhalb des mobilen Computergeräts 350 ab. Der Speicher 364 kann als ein oder mehrere von computerlesbaren Medien, als flüchtige(r) Speicher oder nicht flüchtige(r) Speicher implementiert sein. Ein Erweiterungsspeicher 374 kann ebenfalls bereitgestellt und mit dem mobilen Computergerät 350 durch eine Erweiterungsschnittstelle 372 verbunden sein, die zum Beispiel eine SIMM- (Single In Line Memory Module) - Kartenschnittstelle beinhalten kann. Der Erweiterungsspeicher 374 kann zusätzlichen Speicherplatz für das mobile Computergerät 350 bereitstellen oder auch Anwendungen oder andere Informationen für das mobile Computergerät 350 speichern. Insbesondere kann der Erweiterungsspeicher 374 Befehle zum Ausführen oder Ergänzen der vorstehend beschriebenen Prozesse sowie sichere Informationen beinhalten. Daher kann der Erweiterungsspeicher 374 beispielsweise als Sicherheitsmodul für das mobile Computergerät 350 bereitgestellt und mit Befehlen programmiert sein, welche die sichere Verwendung des mobilen Computergeräts 350 ermöglichen. Zusätzlich dazu können über die SIMM-Karten sichere Anwendungen zusammen mit zusätzlichen Informationen, wie dem Ablegen von Identifizierungsinformationen auf der SIMM-Karte auf eine Weise bereitgestellt werden, die nicht gehackt werden kann.
  • Der Speicher kann, wie nachfolgend beschrieben, beispielsweise Flash-Speicher und/oder NVRAM-Speicher (nicht flüchtigen Direktzugriffsspeicher) umfassen. In einigen Implementierungen werden Anweisungen in einem Informationsträger gespeichert, sodass die Anweisungen, wenn sie von einem oder mehreren Verarbeitungsgeräten (zum Beispiel Prozessor 352) ausgeführt werden, ein oder mehrere Verfahren, wie z. B. die zuvor beschriebenen, ausführen. Die Befehle können auch durch ein oder mehrere Speichergeräte, wie ein oder mehrere computer- oder maschinenlesbare Medien (beispielsweise Speicher 364, Erweiterungsspeicher 374 oder den Speicher im Prozessor 352) gespeichert werden. In einigen Implementierungen können die Befehle in einem propagierten Signal beispielsweise über den Sendeempfänger 368 oder die externe Schnittstelle 362 empfangen werden.
  • Das mobile Computergerät 350 kann durch die Kommunikationsschnittstelle 366 drahtlos kommunizieren, die, wo erforderlich, Digitalsignalverarbeitungsschaltungen beinhalten kann. Die Kommunikationsschnittstelle 366 kann Kommunikationen unter verschiedenen Modi oder Protokollen, unter anderem beispielsweise unter Verwendung von GSM-(Globales Mobilfunkkommunikationssystem) -Sprachverbindungen, SMS (Kurznachrichtendienst), EMS (erweiterter Nachrichtendienst) oder MMS (Multimedia-Nachrichtendienst), CDMA (Codemultiplexverfahren), TDMA (Zeitmultiplexverfahren), PDC (persönliches digitales Mobilfunksystem), WCDMA (Breitband-Multiplexverfahren), CDMA2000 oder GPRS (allgemeiner paketorientierter Funkdienst) bereitstellen. Eine derartige Kommunikation kann beispielsweise über den Sendeempfänger 368 unter Verwendung einer Funkfrequenz erfolgen. Zusätzlich kann eine Kurzstreckenkommunikation, z. B. unter Verwendung eines Bluetooth-, WLAN- oder eines anderen solchen Sendeempfängers (nicht dargestellt), erfolgen. Außerdem kann ein GPS- (globales Positionsbestimmungssystem) -Empfangsmodul 370 zusätzliche navigations- und standortbezogene drahtlose Daten an das mobile Computergerät 350 bereitstellen, die gegebenenfalls durch Anwendungen verwendet werden können, die auf dem mobilen Computergerät 350 ausgeführt werden.
  • Das mobile Computergerät 350 kann ebenfalls unter Verwendung eines Audiocodec 360, der gesprochene Informationen von einem Benutzer empfangen und diese in nutzbare digitale Informationen konvertieren kann, hörbar kommunizieren. Der Audiocodec 360 kann gleichermaßen einen hörbaren Ton für einen Benutzer, beispielsweise über einen Lautsprecher, wie zum Beispiel in einem Mobilteil des mobilen Computergeräts 350, erzeugen. Dieser Ton kann Ton von Sprachfernsprechverbindungen, aufgenommene Töne (z. B. Sprachnachrichten, Musikdateien usw.) sowie Töne beinhalten, die von Anwendungen erzeugt werden, die auf dem mobilen Computergerät 350 betrieben werden.
  • Das mobile Computergerät 350 kann, wie in der Figur dargestell, in einer Reihe unterschiedlicher Formen implementiert sein. Es kann beispielsweise als ein Mobiltelefon 380 implementiert sein. Es kann außerdem als Teil eines Smartphones 382, persönlichen digitalen Assistenten oder eines anderen ähnlichen mobilen Geräts implementiert sein.
  • Verschiedene Implementierungen der hier beschriebenen Systeme und Techniken können in digitalen elektronischen Schaltungen, integrierten Schaltungen, speziell konzipierten ASICs (anwendungsorientierten integrierten Schaltungen), Computerhardware, Firmware, Software und/oder Kombinationen derselben realisiert sein. Diese verschiedenen Implementierungen können eine Implementierung in einem oder mehreren Computerprogrammen beinhalten, die auf einem programmierbaren System ausführbar und/oder interpretierbar sind, das mindestens einen programmierbaren Prozessor beinhaltet, bei dem es sich um einen Spezial- oder Universalprozessor handeln kann und der zum Empfangen von Daten und Anweisungen von und zum Übertragen von Daten und Befehlen an ein Speichersystem, mindestens ein Eingabegerät und mindestens ein Ausgabegerät gekoppelt ist.
  • Diese Computerprogramme (auch bekannt als Programme, Software, Softwareanwendungen oder Code) beinhalten Maschinenbefehle für einen programmierbaren Prozessor und können in einer höheren prozeduralen und/oder objektorientierten Programmiersprache und/oder in Assembler-/Maschinensprache implementiert sein. Wie hierin verwendet, bezeichnen die Begriffe „maschinenlesbares Medium“ und „computerlesbares Medium“ ein beliebiges Computerprogrammprodukt, eine beliebige Vorrichtung und/oder ein beliebiges Gerät (z. B. magnetische Platten, optische Datenträger, Speicher, programmierbare Logikbausteine (PLDs)), die verwendet werden, um einem programmierbaren Prozessor, einschließlich eines maschinenlesbaren Mediums, das Maschinenbefehle als ein maschinenlesbares Signal empfängt, Maschinenbefehle und/oder Daten bereitzustellen. Der Begriff „maschinenlesbares Signal“ bezeichnet ein beliebiges Signal, das verwendet wird, um einem programmierbaren Prozessor Maschinenbefehle und/oder Daten bereitzustellen.
  • Um eine Interaktion mit einem Benutzer bereitzustellen, können die hier beschriebenen Systeme und Techniken auf einem Computer implementiert werden, der ein Anzeigegerät (wie z. B. einen CRT- (Kathodenstrahlröhren) oder LCD-(Flüssigkristallanzeige) -Monitor) aufweist, um dem Benutzer Informationen anzuzeigen, sowie eine Tastatur und ein Zeigegerät (z. B. eine Maus oder ein Trackball) aufweist, mittels denen der Benutzer eine Eingabe an dem Computer vornehmen kann. Es können auch andere Arten von Geräten verwendet werden, um eine Interaktion mit einem Benutzer zu ermöglichen; beispielsweise kann eine an den Benutzer bereitgestellte Rückmeldung in einer beliebigen Form von sensorischer Rückmeldung (wie z. B. einer visuellen Rückmeldung, akustischen Rückmeldung oder taktilen Rückmeldung, erfolgen); zudem kann die Eingabe vom Benutzer ebenfalls in beliebiger Form, darunter auch als akustische, taktile oder Spracheingabe, empfangen werden.
  • Die hier beschriebenen Systeme und Techniken können in einem Computersystem implementiert werden, das eine Backendkomponente (z. B. einen Datenserver) beinhaltet, oder das eine Middlewarekomponente (z. B. einen Anwendungsserver) beinhaltet, oder das eine Frontendkomponente (z. B. einen Clientcomputer mit einer grafischen Benutzeroberfläche oder einem Webbrowser beinhaltet, durch die bzw. den ein Benutzer mit den hier beschriebenen Implementierungen des Systems und der Techniken interagieren kann), oder eine Kombination dieser Backend-, Middleware- oder Frontendkomponenten beinhaltet. Die Komponenten des Systems können durch eine beliebige Form oder ein beliebiges Medium digitaler Datenkommunikation (wie z. B. ein Kommunikationsnetzwerk) miteinander verbunden sein. Beispiele von Kommunikationsnetzwerken beinhalten ein lokales Netzwerk („LAN“), ein Großraumnetzwerk („WAN“) und das Internet.
  • Das Computersystem kann Clients und Server beinhalten. Ein Client und Server befinden sich im Allgemeinen entfernt voneinander und interagieren typischerweise über ein Kommunikationsnetzwerk. Die Beziehung von Client und Server ergibt sich durch Computerprogramme, die auf den jeweiligen Computern ausgeführt werden und in einer Client-Server-Beziehung zueinander stehen.
  • Obwohl einige Implementierungen vorstehend im Detail beschrieben wurden, sind andere Modifikationen möglich. Während eine Kundenanwendung als Zugreifen auf den bzw. die Delegierte(n) beschrieben ist, können in anderen Implementierungen der bzw. die Delegierte(n) durch andere Anwendungen verwendet werden, die durch einen oder mehrere Prozessoren implementiert sind, wie beispielsweise eine Anwendung, die auf einem oder mehreren Servern ausgeführt wird. Außerdem erfordern die in den Figuren dargestellten logischen Abläufe nicht die bestimmte dargestellte Reihenfolge oder sequenzielle Reihenfolge, um wünschenswerte Ergebnisse zu erzielen. Darüber hinaus können andere Aktionen vorgesehen oder Aktionen aus den beschriebenen Abläufen eliminiert werden und andere Komponenten zu den beschriebenen Systemen hinzugefügt oder aus denselben entfernt werden. Dementsprechend liegen andere Implementierungen im Geltungsbereich der folgenden Ansprüche.

Claims (20)

  1. Computerimplementiertes Verfahren, umfassend: Identifizieren, durch ein erstes Computergerät, eines zweiten Computergeräts, das konfiguriert ist auf ein bestimmtes, zuvor festgelegtes Triggerwort zu antworten; Empfangen von Audiodaten, die einer Äußerung entsprechen; Empfangen einer Transkription von zusätzlichen Audiodaten, die durch das zweite Computergerät ausgegeben werden, als Antwort auf die Äußerung; basierend auf der Transkription der zusätzlichen Audiodaten und basierend auf der Äußerung Generieren einer Transkription, die einer Antwort auf die zusätzlichen Audiodaten entspricht; und Bereitstellen, zur Ausgabe, der Transkription, die der Antwort entspricht.
  2. Verfahren nach Anspruch 1, wobei Bereitstellen, zur Ausgabe, der Transkription, die der Antwort entspricht, umfasst: Bereitstellen eines Anfangsabschnitts der Transkription für einen Sprachsynthesizer des ersten Computergeräts; und Bereitstellen für das zweite Computergerät (i) eines verbleibenden Abschnitts der Transkription und (ii) Anweisungen den verbleibenden Abschnitt der Transkription unter Verwendung eines Sprachsynthesizers des zweiten Computergeräts auszugeben.
  3. Verfahren nach Anspruch 1, umfassend: vor Ausführen der Spracherkennung an den Audiodaten, die der Äußerung entsprechen: Bestimmen, dass die Audiodaten, die der Äußerung entsprechen, das bestimmte, zuvor festgelegte Triggerwort beinhalten; und Empfangen von Daten, die angeben, dass das zweite Computergerät auf die Audiodaten antwortet.
  4. Verfahren nach Anspruch 1, wobei Bereitstellen, zur Ausgabe, der Transkription, die der Antwort entspricht, umfasst: Bereitstellen der Transkription, die der Antwort entspricht, für einen Sprachsynthesizer.
  5. Verfahren nach Anspruch 3, wobei Audiodaten, die der synthetisierten Transkription entsprechen, durch ein drittes Computergerät empfangen werden, das konfiguriert ist, eine Antwort basierend auf den Audiodaten, die der synthetisierten Transkription entsprechen, der Transkription der zusätzlichen Audiodaten und der Äußerung zu generieren.
  6. Verfahren nach Anspruch 1, umfassend: nach Bereitstellen, zur Ausgabe, der Transkription, die der Antwort entspricht, Empfangen, durch das erste Computergerät, von Audiodaten, die einer zweiten Äußerung entsprechen; basierend auf der Transkription der zusätzlichen Audiodaten, basierend auf der Äußerung, und basierend auf der zweiten Äußerung, Generieren einer zusätzlichen Transkription, die einer Antwort auf die Audiodaten entspricht, die der zweiten Äußerung entsprechen; und Bereitstellen, zur Ausgabe, der zusätzlichen Transkription.
  7. Verfahren nach Anspruch 3, umfassend: Empfangen von Daten, die eine Art von Sprachsynthesizer angeben, der durch das zweite Computergerät zum Ausgeben der zusätzlichen Audiodaten verwendet wird, wobei sich eine Art von Sprachsynthesizer, der die der Antwort entsprechende Transkription empfing, von der Art von Sprachsynthesizer unterscheidet, der durch das zweite Computergerät zum Ausgeben der zusätzlichen Audiodaten verwendet wird.
  8. Verfahren nach Anspruch 1, wobei Bereitstellen, zur Ausgabe, der Transkription, die der Antwort entspricht, umfasst: Bereitstellen der Transkription für eine Anzeige des ersten Computergeräts.
  9. Verfahren nach Anspruch 2, wobei Empfangen von Daten, die angeben, dass das zweite Computergerät auf die Audiodaten antwortet, umfasst: Empfangen, von dem zweiten Computergerät, eines Kurzstreckenfunksignals, das angibt, dass das zweite Computergerät auf die Audiodaten antwortet; Empfangen, von dem zweiten Computergerät und durch ein lokales Netzwerk, von Daten, die angeben, dass das zweite Computergerät auf die Audiodaten antwortet; oder Empfangen, von einem Server, von Daten, die angeben, dass das zweite Computergerät auf die Audiodaten antwortet.
  10. Verfahren nach Anspruch 2, wobei Bestimmen, dass die Audiodaten, die der Äußerung entsprechen, das bestimmte, zuvor festgelegte Triggerwort beinhalten, umfasst: Extrahieren von Audiomerkmalen aus den Audiodaten, die der Äußerung entsprechen; Erzeugen einer Triggerwort-Konfidenzpunktzahl durch Verarbeiten der Audiomerkmale; Bestimmen, dass die Triggerwort-Konfidenzpunktzahl einen Triggerwort-Konfidenzschwellenwert erreicht; und basierend auf Bestimmen, dass die Triggerwort-Konfidenzpunktzahl einen Triggerwort-Konfidenzschwellenwert erreicht, Bestimmen, dass die Audiodaten, die der Äußerung entsprechen, das bestimmte, zuvor festgelegte Triggerwort beinhalten.
  11. Verfahren nach Anspruch 1, wobei Generieren einer Transkription, die einer Antwort auf die zusätzlichen Audiodaten entspricht, umfasst: Bestimmen von Benutzerinformationen, die einem ersten Benutzer des ersten Computergeräts oder einem zweiten Benutzer des zweiten Computergeräts zugeordnet sind; und wobei die Transkription basierend auf den Benutzerinformationen generiert wird.
  12. Verfahren nach Anspruch 1, wobei Generieren einer Transkription, die einer Antwort auf die zusätzlichen Audiodaten entspricht, umfasst: Abrufen von Daten, die der Transkription der zusätzlichen Audiodaten zugeordnet sind; und wobei die Transkription basierend auf den abgerufenen Daten generiert wird.
  13. Verfahren nach Anspruch 1, umfassend: Bestimmen eines Standortes des ersten Computergeräts, wobei die Transkription basierend auf dem Standort des ersten Computergeräts generiert wird.
  14. Verfahren nach Anspruch 2, umfassend: als Antwort auf Empfangen von Daten, die angeben, dass das zweite Computergerät auf die Audiodaten antwortet, Bereitstellen, für das zweite Computergerät oder für einen Server, der Audiodaten, die der Äußerung entsprechen.
  15. Verfahren nach Anspruch 1, umfassend: Generieren eines ersten Audiofingerabdrucks der Audiodaten, die der Äußerung entsprechen; Empfangen, von dem zweiten Computergerät, eines zweiten Audiofingerabdrucks der Audiodaten, die der Äußerung entsprechen; Vergleichen des ersten Audiofingerabdrucks mit dem zweiten Audiofingerabdruck; und basierend auf Vergleichen des ersten Audiofingerabdrucks mit dem zweiten Audiofingerabdruck Bestimmen, dass die von dem ersten Computergerät empfangenen Audiodaten den von dem zweiten Computergerät empfangenen Audiodaten entsprechen.
  16. Verfahren nach Anspruch 1, umfassend: Empfangen, von dem zweiten Computergerät oder einem Server, einer Transkription der Audiodaten, die der Äußerung entsprechen, wobei Generieren der Transkription, die der Antwort auf die zusätzlichen Audiodaten entspricht, ferner auf der Transkription der Audiodaten basiert, die der Äußerung entsprechen.
  17. Verfahren nach Anspruch 1, wobei das erste Computergerät und das zweite Computergerät in der Lage sind, Kurzstreckenfunkkommunikationen voneinander zu erkennen.
  18. Verfahren nach Anspruch 1, wobei das erste Computergerät und das zweite Computergerät am gleichen Standort positioniert sind.
  19. System, umfassend: einen oder mehrere Computer und ein oder mehrere Speichergeräte, die Befehle speichern, welche bei Ausführung durch den einen oder die mehreren Computer dazu dienen, den einen oder die mehreren Computer zu veranlassen, Vorgänge auszuführen, die Vorgänge umfassend: Identifizieren, durch ein erstes Computergerät, eines zweiten Computergeräts, das konfiguriert ist, auf ein bestimmtes, zuvor festgelegtes Triggerwort zu antworten; Empfangen von Audiodaten, die einer Äußerung entsprechen; Empfangen einer Transkription von zusätzlichen durch das zweite Computergerät ausgegebenen Audiodaten, als Antwort auf die Äußerung; basierend auf der Transkription der zusätzlichen Audiodaten und basierend auf der Äußerung Generieren einer Transkription, die einer Antwort auf die zusätzlichen Audiodaten entspricht; und Bereitstellen, zur Ausgabe, der Transkription, die der Antwort entspricht.
  20. Nicht flüchtiges computerlesbares Medium, das Software speichert, die durch einen oder mehrere Computer ausführbare Befehle umfasst, die bei einer solchen Ausführung den einen oder die mehreren Computer veranlassen, Vorgänge auszuführen, die Vorgänge umfassend: Identifizieren, durch ein erstes Computergerät, eines zweiten Computergeräts, das konfiguriert ist, auf ein bestimmtes, zuvor festgelegtes Triggerwort zu antworten; Empfangen von Audiodaten, die einer Äußerung entsprechen; Empfangen einer Transkription von zusätzlichen durch das zweite Computergerät ausgegebenen Audiodaten, als Antwort auf die Äußerung; basierend auf der Transkription der zusätzlichen Audiodaten und basierend auf der Äußerung Generieren einer Transkription, die einer Antwort auf die zusätzlichen Audiodaten entspricht; und Bereitstellen, zur Ausgabe, der Transkription, die der Antwort entspricht.
DE102017121086.5A 2016-12-22 2017-09-12 Zusammenwirkende sprachgesteuerte geräte Active DE102017121086B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/387,884 US10559309B2 (en) 2016-12-22 2016-12-22 Collaborative voice controlled devices
US15/387,884 2016-12-22

Publications (2)

Publication Number Publication Date
DE102017121086A1 true DE102017121086A1 (de) 2018-06-28
DE102017121086B4 DE102017121086B4 (de) 2021-12-30

Family

ID=60117370

Family Applications (2)

Application Number Title Priority Date Filing Date
DE202017105526.4U Active DE202017105526U1 (de) 2016-12-22 2017-09-12 Zusammenwirkende sprachgesteuerte Geräte
DE102017121086.5A Active DE102017121086B4 (de) 2016-12-22 2017-09-12 Zusammenwirkende sprachgesteuerte geräte

Family Applications Before (1)

Application Number Title Priority Date Filing Date
DE202017105526.4U Active DE202017105526U1 (de) 2016-12-22 2017-09-12 Zusammenwirkende sprachgesteuerte Geräte

Country Status (8)

Country Link
US (3) US10559309B2 (de)
EP (1) EP3559945B1 (de)
CN (2) CN114566161A (de)
DE (2) DE202017105526U1 (de)
GB (1) GB2558342B (de)
IE (1) IE20170206A1 (de)
SG (1) SG10201707702YA (de)
WO (1) WO2018118136A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11521618B2 (en) 2016-12-22 2022-12-06 Google Llc Collaborative voice controlled devices

Families Citing this family (80)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10095470B2 (en) 2016-02-22 2018-10-09 Sonos, Inc. Audio response playback
US10264030B2 (en) 2016-02-22 2019-04-16 Sonos, Inc. Networked microphone device control
US9947316B2 (en) 2016-02-22 2018-04-17 Sonos, Inc. Voice control of a media playback system
US9820039B2 (en) 2016-02-22 2017-11-14 Sonos, Inc. Default playback devices
US9811314B2 (en) 2016-02-22 2017-11-07 Sonos, Inc. Metadata exchange involving a networked playback system and a networked microphone system
US9965247B2 (en) 2016-02-22 2018-05-08 Sonos, Inc. Voice controlled media playback system based on user profile
US9978390B2 (en) 2016-06-09 2018-05-22 Sonos, Inc. Dynamic player selection for audio signal processing
US10134399B2 (en) 2016-07-15 2018-11-20 Sonos, Inc. Contextualization of voice inputs
US10115400B2 (en) 2016-08-05 2018-10-30 Sonos, Inc. Multiple voice services
US9942678B1 (en) 2016-09-27 2018-04-10 Sonos, Inc. Audio playback settings for voice interaction
JP2018054850A (ja) * 2016-09-28 2018-04-05 株式会社東芝 情報処理システム、情報処理装置、情報処理方法、及びプログラム
US10181323B2 (en) 2016-10-19 2019-01-15 Sonos, Inc. Arbitration-based voice recognition
US10748531B2 (en) * 2017-04-13 2020-08-18 Harman International Industries, Incorporated Management layer for multiple intelligent personal assistant services
US10614826B2 (en) 2017-05-24 2020-04-07 Modulate, Inc. System and method for voice-to-voice conversion
US10395650B2 (en) * 2017-06-05 2019-08-27 Google Llc Recorded media hotword trigger suppression
US10176808B1 (en) * 2017-06-20 2019-01-08 Microsoft Technology Licensing, Llc Utilizing spoken cues to influence response rendering for virtual assistants
JP7033713B2 (ja) * 2017-08-02 2022-03-11 パナソニックIpマネジメント株式会社 情報処理装置、音声認識システム、及び、情報処理方法
US10475449B2 (en) 2017-08-07 2019-11-12 Sonos, Inc. Wake-word detection suppression
US10048930B1 (en) 2017-09-08 2018-08-14 Sonos, Inc. Dynamic computation of system response volume
KR102489914B1 (ko) * 2017-09-15 2023-01-20 삼성전자주식회사 전자 장치 및 이의 제어 방법
US10531157B1 (en) * 2017-09-21 2020-01-07 Amazon Technologies, Inc. Presentation and management of audio and visual content across devices
US10446165B2 (en) 2017-09-27 2019-10-15 Sonos, Inc. Robust short-time fourier transform acoustic echo cancellation during audio playback
US10482868B2 (en) 2017-09-28 2019-11-19 Sonos, Inc. Multi-channel acoustic echo cancellation
US10621981B2 (en) 2017-09-28 2020-04-14 Sonos, Inc. Tone interference cancellation
US10466962B2 (en) 2017-09-29 2019-11-05 Sonos, Inc. Media playback system with voice assistance
WO2019152722A1 (en) 2018-01-31 2019-08-08 Sonos, Inc. Device designation of playback and network microphone device arrangements
US10600408B1 (en) * 2018-03-23 2020-03-24 Amazon Technologies, Inc. Content output management based on speech quality
US11175880B2 (en) 2018-05-10 2021-11-16 Sonos, Inc. Systems and methods for voice-assisted media content selection
US10692496B2 (en) 2018-05-22 2020-06-23 Google Llc Hotword suppression
JP2019204025A (ja) * 2018-05-24 2019-11-28 レノボ・シンガポール・プライベート・リミテッド 電子機器、制御方法、及びプログラム
US10959029B2 (en) 2018-05-25 2021-03-23 Sonos, Inc. Determining and adapting to changes in microphone performance of playback devices
US10681460B2 (en) 2018-06-28 2020-06-09 Sonos, Inc. Systems and methods for associating playback devices with voice assistant services
KR20240008406A (ko) 2018-07-13 2024-01-18 구글 엘엘씨 종단 간 스트리밍 키워드 탐지
KR20200015267A (ko) * 2018-08-03 2020-02-12 삼성전자주식회사 음성 인식을 수행할 전자 장치를 결정하는 전자 장치 및 전자 장치의 동작 방법
US10461710B1 (en) 2018-08-28 2019-10-29 Sonos, Inc. Media playback system with maximum volume setting
US11076035B2 (en) 2018-08-28 2021-07-27 Sonos, Inc. Do not disturb feature for audio notifications
US10587430B1 (en) 2018-09-14 2020-03-10 Sonos, Inc. Networked devices, systems, and methods for associating playback devices based on sound codes
US11315553B2 (en) * 2018-09-20 2022-04-26 Samsung Electronics Co., Ltd. Electronic device and method for providing or obtaining data for training thereof
US11024331B2 (en) 2018-09-21 2021-06-01 Sonos, Inc. Voice detection optimization using sound metadata
US11100923B2 (en) 2018-09-28 2021-08-24 Sonos, Inc. Systems and methods for selective wake word detection using neural network models
US11899519B2 (en) 2018-10-23 2024-02-13 Sonos, Inc. Multiple stage network microphone device with reduced power consumption and processing load
KR20200047311A (ko) * 2018-10-24 2020-05-07 삼성전자주식회사 복수의 장치들이 있는 환경에서의 음성 인식 방법 및 장치
EP3654249A1 (de) 2018-11-15 2020-05-20 Snips Erweiterte konvolutionen und takt zur effizienten schlüsselwortauffindung
US11183183B2 (en) 2018-12-07 2021-11-23 Sonos, Inc. Systems and methods of operating media playback systems having multiple voice assistant services
US11830485B2 (en) * 2018-12-11 2023-11-28 Amazon Technologies, Inc. Multiple speech processing system with synthesized speech styles
US11132989B2 (en) 2018-12-13 2021-09-28 Sonos, Inc. Networked microphone devices, systems, and methods of localized arbitration
US10602268B1 (en) 2018-12-20 2020-03-24 Sonos, Inc. Optimization of network microphone devices using noise classification
KR102584588B1 (ko) 2019-01-21 2023-10-05 삼성전자주식회사 전자 장치 및 전자 장치의 제어 방법
US11315556B2 (en) 2019-02-08 2022-04-26 Sonos, Inc. Devices, systems, and methods for distributed voice processing by transmitting sound data associated with a wake word to an appropriate device for identification
US10867604B2 (en) 2019-02-08 2020-12-15 Sonos, Inc. Devices, systems, and methods for distributed voice processing
EP3709194A1 (de) 2019-03-15 2020-09-16 Spotify AB Ensemblebasierter datenvergleich
US11120794B2 (en) 2019-05-03 2021-09-14 Sonos, Inc. Voice assistant persistence across multiple network microphone devices
US11200894B2 (en) 2019-06-12 2021-12-14 Sonos, Inc. Network microphone device with command keyword eventing
US10586540B1 (en) 2019-06-12 2020-03-10 Sonos, Inc. Network microphone device with command keyword conditioning
US11361756B2 (en) 2019-06-12 2022-06-14 Sonos, Inc. Conditional wake word eventing based on environment
US11138975B2 (en) 2019-07-31 2021-10-05 Sonos, Inc. Locally distributed keyword detection
US11138969B2 (en) 2019-07-31 2021-10-05 Sonos, Inc. Locally distributed keyword detection
US10871943B1 (en) 2019-07-31 2020-12-22 Sonos, Inc. Noise classification for event detection
US11538485B2 (en) 2019-08-14 2022-12-27 Modulate, Inc. Generation and detection of watermark for real-time voice conversion
US11094319B2 (en) 2019-08-30 2021-08-17 Spotify Ab Systems and methods for generating a cleaned version of ambient sound
US11189286B2 (en) 2019-10-22 2021-11-30 Sonos, Inc. VAS toggle based on device orientation
US11200900B2 (en) 2019-12-20 2021-12-14 Sonos, Inc. Offline voice control
US11562740B2 (en) 2020-01-07 2023-01-24 Sonos, Inc. Voice verification for media playback
US11308958B2 (en) 2020-02-07 2022-04-19 Sonos, Inc. Localized wakeword verification
US11308959B2 (en) 2020-02-11 2022-04-19 Spotify Ab Dynamic adjustment of wake word acceptance tolerance thresholds in voice-controlled devices
US11328722B2 (en) * 2020-02-11 2022-05-10 Spotify Ab Systems and methods for generating a singular voice audio stream
US11758360B2 (en) * 2020-02-28 2023-09-12 Comcast Cable Communications, Llc Methods, systems, and apparatuses for presence detection
US11482224B2 (en) 2020-05-20 2022-10-25 Sonos, Inc. Command keywords with input detection windowing
US11308962B2 (en) * 2020-05-20 2022-04-19 Sonos, Inc. Input detection windowing
US11727919B2 (en) 2020-05-20 2023-08-15 Sonos, Inc. Memory allocation for keyword spotting engines
US20220157300A1 (en) * 2020-06-09 2022-05-19 Google Llc Generation of interactive audio tracks from visual content
US11698771B2 (en) 2020-08-25 2023-07-11 Sonos, Inc. Vocal guidance engines for playback devices
WO2022076923A1 (en) 2020-10-08 2022-04-14 Modulate, Inc. Multi-stage adaptive system for content moderation
US11984123B2 (en) 2020-11-12 2024-05-14 Sonos, Inc. Network device interaction by range
US11749284B2 (en) * 2020-11-13 2023-09-05 Google Llc Dynamically adapting on-device models, of grouped assistant devices, for cooperative processing of assistant requests
US20210225374A1 (en) * 2020-12-23 2021-07-22 Intel Corporation Method and system of environment-sensitive wake-on-voice initiation using ultrasound
CN114822525A (zh) * 2021-01-29 2022-07-29 华为技术有限公司 语音控制方法和电子设备
US20220293109A1 (en) * 2021-03-11 2022-09-15 Google Llc Device arbitration for local execution of automatic speech recognition
CN113362802A (zh) * 2021-05-28 2021-09-07 维沃移动通信有限公司 语音生成方法、装置和电子设备
US11922938B1 (en) 2021-11-22 2024-03-05 Amazon Technologies, Inc. Access to multiple virtual assistants

Family Cites Families (99)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4363102A (en) 1981-03-27 1982-12-07 Bell Telephone Laboratories, Incorporated Speaker identification system using word recognition templates
US5659665A (en) 1994-12-08 1997-08-19 Lucent Technologies Inc. Method and apparatus for including speech recognition capabilities in a computer system
JP3674990B2 (ja) 1995-08-21 2005-07-27 セイコーエプソン株式会社 音声認識対話装置および音声認識対話処理方法
SE511418C2 (sv) 1997-03-13 1999-09-27 Telia Ab Metod för talarverifiering/identifiering via modellering av typiska icke-typiska egenskaper.
US6076055A (en) 1997-05-27 2000-06-13 Ameritech Speaker verification method
US5897616A (en) 1997-06-11 1999-04-27 International Business Machines Corporation Apparatus and methods for speaker verification/identification/classification employing non-acoustic and/or acoustic models and databases
US6141644A (en) 1998-09-04 2000-10-31 Matsushita Electric Industrial Co., Ltd. Speaker verification and speaker identification based on eigenvoices
US6744860B1 (en) 1998-12-31 2004-06-01 Bell Atlantic Network Services Methods and apparatus for initiating a voice-dialing operation
US6671672B1 (en) 1999-03-30 2003-12-30 Nuance Communications Voice authentication system having cognitive recall mechanism for password verification
US6408272B1 (en) 1999-04-12 2002-06-18 General Magic, Inc. Distributed voice user interface
US6789060B1 (en) * 1999-11-01 2004-09-07 Gene J. Wolfe Network based speech transcription that maintains dynamic templates
DE10015960C2 (de) 2000-03-30 2003-01-16 Micronas Munich Gmbh Spracherkennungsverfahren und Spracherkennungsvorrichtung
US6567775B1 (en) 2000-04-26 2003-05-20 International Business Machines Corporation Fusion of audio and video based speaker identification for multimedia information access
US6826159B1 (en) 2000-05-24 2004-11-30 Cisco Technology, Inc. System and method for providing speaker identification in a conference call
EP1168736A1 (de) 2000-06-30 2002-01-02 Alcatel Telekommunikationseinrichtung und -Verfahren mit einer Spracherkennungseinrichtung
US7016833B2 (en) 2000-11-21 2006-03-21 The Regents Of The University Of California Speaker verification system using acoustic data and non-acoustic data
US6973426B1 (en) 2000-12-29 2005-12-06 Cisco Technology, Inc. Method and apparatus for performing speaker verification based on speaker independent recognition of commands
US6701293B2 (en) 2001-06-13 2004-03-02 Intel Corporation Combining N-best lists from multiple speech recognizers
JP4224250B2 (ja) 2002-04-17 2009-02-12 パイオニア株式会社 音声認識装置、音声認識方法および音声認識プログラム
US20030231746A1 (en) 2002-06-14 2003-12-18 Hunter Karla Rae Teleconference speaker identification
TW200409525A (en) 2002-11-26 2004-06-01 Lite On Technology Corp Voice identification method for cellular phone and cellular phone with voiceprint password
EP1429314A1 (de) 2002-12-13 2004-06-16 Sony International (Europe) GmbH Korrektion der Energie als Eingangsparameter für die Sprachverarbeitung
US7222072B2 (en) 2003-02-13 2007-05-22 Sbc Properties, L.P. Bio-phonetic multi-phrase speaker identity verification
US20070198262A1 (en) 2003-08-20 2007-08-23 Mindlin Bernardo G Topological voiceprints for speaker identification
EP1511277A1 (de) 2003-08-29 2005-03-02 Swisscom AG Verfahren zur Beantwortung eines eingehenden Ereignisses mit einem Fernsprechgerät und entsprechendes Fernsprechgerät
US20050165607A1 (en) 2004-01-22 2005-07-28 At&T Corp. System and method to disambiguate and clarify user intention in a spoken dialog system
US7720012B1 (en) 2004-07-09 2010-05-18 Arrowhead Center, Inc. Speaker identification in the presence of packet losses
US8412521B2 (en) 2004-08-20 2013-04-02 Multimodal Technologies, Llc Discriminative training of document transcription system
KR100679043B1 (ko) 2005-02-15 2007-02-05 삼성전자주식회사 음성 대화 인터페이스 장치 및 방법
US8041570B2 (en) 2005-05-31 2011-10-18 Robert Bosch Corporation Dialogue management using scripts
US7640160B2 (en) 2005-08-05 2009-12-29 Voicebox Technologies, Inc. Systems and methods for responding to natural language speech utterance
US7603275B2 (en) 2005-10-31 2009-10-13 Hitachi, Ltd. System, method and computer program product for verifying an identity using voiced to unvoiced classifiers
US7555172B2 (en) 2005-10-31 2009-06-30 Xerox Corporation Dynamic range detection and adjustment
US8099288B2 (en) 2007-02-12 2012-01-17 Microsoft Corp. Text-dependent speaker verification
US20110060587A1 (en) 2007-03-07 2011-03-10 Phillips Michael S Command and control utilizing ancillary information in a mobile voice-to-speech application
US20080252595A1 (en) 2007-04-11 2008-10-16 Marc Boillot Method and Device for Virtual Navigation and Voice Processing
US8503686B2 (en) 2007-05-25 2013-08-06 Aliphcom Vibration sensor and acoustic voice activity detection system (VADS) for use with electronic systems
US8385233B2 (en) 2007-06-12 2013-02-26 Microsoft Corporation Active speaker identification
GB2450886B (en) 2007-07-10 2009-12-16 Motorola Inc Voice activity detector and a method of operation
WO2009016631A2 (en) * 2007-08-01 2009-02-05 Ginger Software, Inc. Automatic context sensitive language correction and enhancement using an internet corpus
US8099289B2 (en) * 2008-02-13 2012-01-17 Sensory, Inc. Voice interface and search for electronic devices including bluetooth headsets and remote systems
GB2458461A (en) 2008-03-17 2009-09-23 Kai Yu Spoken language learning system
US8504365B2 (en) 2008-04-11 2013-08-06 At&T Intellectual Property I, L.P. System and method for detecting synthetic speaker verification
US8145482B2 (en) 2008-05-25 2012-03-27 Ezra Daya Enhancing analysis of test key phrases from acoustic sources with key phrase training models
US9305548B2 (en) * 2008-05-27 2016-04-05 Voicebox Technologies Corporation System and method for an integrated, multi-modal, multi-device natural language voice services environment
US8589161B2 (en) * 2008-05-27 2013-11-19 Voicebox Technologies, Inc. System and method for an integrated, multi-modal, multi-device natural language voice services environment
KR101056511B1 (ko) 2008-05-28 2011-08-11 (주)파워보이스 실시간 호출명령어 인식을 이용한 잡음환경에서의음성구간검출과 연속음성인식 시스템
US8676586B2 (en) 2008-09-16 2014-03-18 Nice Systems Ltd Method and apparatus for interaction or discourse analytics
US9922640B2 (en) 2008-10-17 2018-03-20 Ashwin P Rao System and method for multimodal utterance detection
KR101519104B1 (ko) 2008-10-30 2015-05-11 삼성전자 주식회사 목적음 검출 장치 및 방법
US8209174B2 (en) 2009-04-17 2012-06-26 Saudi Arabian Oil Company Speaker verification system
US9858925B2 (en) 2009-06-05 2018-01-02 Apple Inc. Using context information to facilitate processing of commands in a virtual assistant
CN101923853B (zh) 2009-06-12 2013-01-23 华为技术有限公司 说话人识别方法、设备和系统
US9171541B2 (en) * 2009-11-10 2015-10-27 Voicebox Technologies Corporation System and method for hybrid processing in a natural language voice services environment
US8451994B2 (en) * 2010-04-07 2013-05-28 Apple Inc. Switching cameras during a video conference of a multi-camera mobile device
KR101672212B1 (ko) 2010-06-15 2016-11-04 엘지전자 주식회사 휴대 단말기 및 그 동작 방법
US8565818B1 (en) * 2010-09-16 2013-10-22 Sprint Communications Company L.P. Broadband wireless router
US20120079095A1 (en) * 2010-09-24 2012-03-29 Amazon Technologies, Inc. Cloud-based device synchronization
US8719018B2 (en) 2010-10-25 2014-05-06 Lockheed Martin Corporation Biometric speaker identification
US8874773B2 (en) * 2010-11-30 2014-10-28 Gary W. Grube Obtaining group and individual emergency preparedness communication information
EP2494545A4 (de) 2010-12-24 2012-11-21 Huawei Tech Co Ltd Verfahren und vorrichtung zur erkennung von sprachaktivitäten
US8660847B2 (en) 2011-09-02 2014-02-25 Microsoft Corporation Integrated local and cloud based speech recognition
US8340975B1 (en) * 2011-10-04 2012-12-25 Theodore Alfred Rosenberger Interactive speech recognition device and system for hands-free building control
EP2783365B1 (de) 2011-11-21 2018-02-21 Robert Bosch GmbH Verfahren und system zur adaption von grammatiken in hybriden spracherkennungs-engines zur verbesserung einer lokalen spracherkennungs-leistung
US8825020B2 (en) 2012-01-12 2014-09-02 Sensory, Incorporated Information access and device control using mobile phones and audio in the home environment
KR102056461B1 (ko) 2012-06-15 2019-12-16 삼성전자주식회사 디스플레이 장치 및 디스플레이 장치의 제어 방법
US9195383B2 (en) * 2012-06-29 2015-11-24 Spotify Ab Systems and methods for multi-path control signals for media presentation devices
JP6131537B2 (ja) 2012-07-04 2017-05-24 セイコーエプソン株式会社 音声認識システム、音声認識プログラム、記録媒体及び音声認識方法
TWI474317B (zh) 2012-07-06 2015-02-21 Realtek Semiconductor Corp 訊號處理裝置以及訊號處理方法
US9053710B1 (en) * 2012-09-10 2015-06-09 Amazon Technologies, Inc. Audio content presentation using a presentation profile in a content header
US8983836B2 (en) 2012-09-26 2015-03-17 International Business Machines Corporation Captioning using socially derived acoustic profiles
US8996372B1 (en) 2012-10-30 2015-03-31 Amazon Technologies, Inc. Using adaptation data with cloud-based speech recognition
US9275642B2 (en) 2012-11-13 2016-03-01 Unified Computer Intelligence Corporation Voice-operated internet-ready ubiquitous computing device and method thereof
US9704486B2 (en) * 2012-12-11 2017-07-11 Amazon Technologies, Inc. Speech recognition power management
US9349386B2 (en) 2013-03-07 2016-05-24 Analog Device Global System and method for processor wake-up based on sensor data
US9361885B2 (en) 2013-03-12 2016-06-07 Nuance Communications, Inc. Methods and apparatus for detecting a voice command
US9312826B2 (en) 2013-03-13 2016-04-12 Kopin Corporation Apparatuses and methods for acoustic channel auto-balancing during multi-channel signal extraction
US8768687B1 (en) 2013-04-29 2014-07-01 Google Inc. Machine translation of indirect speech
US9305554B2 (en) * 2013-07-17 2016-04-05 Samsung Electronics Co., Ltd. Multi-level speech recognition
US9865255B2 (en) 2013-08-29 2018-01-09 Panasonic Intellectual Property Corporation Of America Speech recognition method and speech recognition apparatus
US8775191B1 (en) 2013-11-13 2014-07-08 Google Inc. Efficient utterance-specific endpointer triggering for always-on hotwording
US9373321B2 (en) 2013-12-02 2016-06-21 Cypress Semiconductor Corporation Generation of wake-up words
US9589564B2 (en) * 2014-02-05 2017-03-07 Google Inc. Multiple speech locale-specific hotword classifiers for selection of a speech locale
US9431021B1 (en) 2014-03-27 2016-08-30 Amazon Technologies, Inc. Device grouping for audio based interactivity
US9286892B2 (en) * 2014-04-01 2016-03-15 Google Inc. Language modeling in speech recognition
US9607613B2 (en) * 2014-04-23 2017-03-28 Google Inc. Speech endpointing based on word comparisons
US9257120B1 (en) * 2014-07-18 2016-02-09 Google Inc. Speaker verification using co-location information
US9263042B1 (en) 2014-07-25 2016-02-16 Google Inc. Providing pre-computed hotword models
US9418663B2 (en) 2014-07-31 2016-08-16 Google Inc. Conversational agent with a particular spoken style of speech
US9424841B2 (en) 2014-10-09 2016-08-23 Google Inc. Hotword detection on multiple devices
US9318107B1 (en) * 2014-10-09 2016-04-19 Google Inc. Hotword detection on multiple devices
CN105575395A (zh) * 2014-10-14 2016-05-11 中兴通讯股份有限公司 语音唤醒方法及装置、终端及其处理方法
US9812126B2 (en) * 2014-11-28 2017-11-07 Microsoft Technology Licensing, Llc Device arbitration for listening devices
US9721566B2 (en) 2015-03-08 2017-08-01 Apple Inc. Competing devices responding to voice triggers
US9996316B2 (en) 2015-09-28 2018-06-12 Amazon Technologies, Inc. Mediation of wakeword response for multiple devices
CN105554283B (zh) 2015-12-21 2019-01-15 联想(北京)有限公司 一种信息处理方法及电子设备
US9779735B2 (en) * 2016-02-24 2017-10-03 Google Inc. Methods and systems for detecting and processing speech signals
US9972320B2 (en) * 2016-08-24 2018-05-15 Google Llc Hotword detection on multiple devices
US10559309B2 (en) 2016-12-22 2020-02-11 Google Llc Collaborative voice controlled devices

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11521618B2 (en) 2016-12-22 2022-12-06 Google Llc Collaborative voice controlled devices
US11893995B2 (en) 2016-12-22 2024-02-06 Google Llc Generating additional synthesized voice output based on prior utterance and synthesized voice output provided in response to the prior utterance

Also Published As

Publication number Publication date
US10559309B2 (en) 2020-02-11
IE20170206A1 (en) 2018-06-27
US20200126563A1 (en) 2020-04-23
CN114566161A (zh) 2022-05-31
US20180182397A1 (en) 2018-06-28
CN108228699B (zh) 2022-02-11
DE102017121086B4 (de) 2021-12-30
CN108228699A (zh) 2018-06-29
WO2018118136A1 (en) 2018-06-28
GB201714754D0 (en) 2017-10-25
EP3559945B1 (de) 2023-12-27
DE202017105526U1 (de) 2018-04-16
US11893995B2 (en) 2024-02-06
SG10201707702YA (en) 2018-07-30
GB2558342B (en) 2020-06-03
US20230206923A1 (en) 2023-06-29
GB2558342A (en) 2018-07-11
EP3559945A1 (de) 2019-10-30
EP3559945A4 (de) 2020-01-22
US11521618B2 (en) 2022-12-06

Similar Documents

Publication Publication Date Title
DE102017121086B4 (de) Zusammenwirkende sprachgesteuerte geräte
DE202017104895U1 (de) Hotword-Detektion bei mehreren Vorrichtungen
US11721326B2 (en) Multi-user authentication on a device
DE102017122182A1 (de) Identifikation eines virtuellen Assistenten von nahgelegenen Rechenvorrichtungen
DE202017106466U1 (de) Streaming-Dialogmanagement in Echtzeit
DE202015010012U1 (de) Aktivierungswort-Ermittlung auf mehreren Vorrichtungen
DE102016125812A1 (de) Erlernen von Aussprachen einer personalisierten Entität
DE212015000207U1 (de) Verbesserung der automatischen Spracherkennung basierend auf Benutzerrückmeldungen
DE112016004863T5 (de) Parametersammlung und automatische Dialogerzeugung in Dialogsystemen
DE102016125494A1 (de) Das sichere Ausführen von Sprachfunktionen unter der Verwendung kontextabhängiger Signale
DE112021001064T5 (de) Vorrichtungsgerichtete Äußerungserkennung
DE102017125196A1 (de) Proaktive Aufnahme von nicht angefordertem Inhalt in Mensch-Computer-Dialoge
DE212014000045U1 (de) Sprach-Trigger für einen digitalen Assistenten
DE112017000142T5 (de) Multimodale übertragung von paketierten daten
DE102017115383A1 (de) Audio-slicer
DE102016125141A1 (de) Suchergebnis unter vorherigem Abrufen von Sprachanfragen
DE112022000504T5 (de) Interaktive Inhaltsausgabe
DE112017007900T5 (de) Systeme und verfahren zur erzeugung von daten natürlicher sprache
DE202017105719U1 (de) Kontext-Hotwords
DE102022116004A1 (de) Techniken zum Generieren von Gesprächsthemen in einer virtuellen Umgebung
CN116566758A (zh) 音视频会议快速响应、教学提问响应方法和电子设备
CN116823174A (zh) 一种办公需求信息处理方法及装置

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G10L0015220000

Ipc: G10L0015320000

R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final