[go: up one dir, main page]

DE102019007797A1 - Align voice commands while testing voice-assisted app prototypes for languages with non-phonetic alphabets - Google Patents

Align voice commands while testing voice-assisted app prototypes for languages with non-phonetic alphabets Download PDF

Info

Publication number
DE102019007797A1
DE102019007797A1 DE102019007797.0A DE102019007797A DE102019007797A1 DE 102019007797 A1 DE102019007797 A1 DE 102019007797A1 DE 102019007797 A DE102019007797 A DE 102019007797A DE 102019007797 A1 DE102019007797 A1 DE 102019007797A1
Authority
DE
Germany
Prior art keywords
phonetic
voice command
voice
app
text string
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
DE102019007797.0A
Other languages
German (de)
Other versions
DE102019007797B4 (en
Inventor
Mark C. Webster
Scott Thomas Werner
Susse Soenderby Jensen
Daniel Cameron Cundiff
Blake Allen Clayton Sawyer
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.)
Adobe Inc
Original Assignee
Adobe Inc
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
Priority claimed from US16/420,829 external-priority patent/US11017771B2/en
Application filed by Adobe Inc filed Critical Adobe Inc
Publication of DE102019007797A1 publication Critical patent/DE102019007797A1/en
Application granted granted Critical
Publication of DE102019007797B4 publication Critical patent/DE102019007797B4/en
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/26Speech to text systems
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Prevention of errors by analysis, debugging or testing of software
    • G06F11/3668Testing of software
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Prevention of errors by analysis, debugging or testing of software
    • G06F11/3698Environments for analysis, debugging or testing of software
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/018Input/output arrangements for oriental characters
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/126Character encoding
    • G06F40/129Handling non-Latin characters, e.g. kana-to-kanji conversion
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

Beschrieben wird das Abgleichen von Stimmbefehlen während des Testens von stimmunterstützten App-Prototypen für Sprachen mit nichtphonetischen Alphabeten. Eine visuelle Page eines App-Prototyps wird während einer Testphase des App-Prototyps angezeigt. Ein Gesprochenes-zu-Text-Dienst wandelt einen nichtphonetischen Stimmbefehl, der in einer Sprache mit einem nichtphonetischen Alphabet gesprochen wird und von wenigstens einem Mikrofon während der Testphase des App-Prototyps aufgenommen wird, in einen in dem nichtphonetischen Alphabet gegebenen nichtphonetischen Textstring des Stimmbefehls um. Ein phonetischer Sprachübersetzer übersetzt den nichtphonetischen Textstring des Stimmbefehls in einen in einem phonetischen Alphabet gegebenen phonetischen Textstring des Stimmbefehls. Ein Vergleichsmodul vergleicht den phonetischen Textstring des Stimmbefehls mit in dem phonetischen Alphabet gegebenen phonetischen Textstrings von gespeicherten Stimmbefehlen, die dem App-Prototyp zugeordnet sind, um einen passenden Stimmbefehl zu identifizieren. Ein Durchführungsmodul führt eine Handlung, die dem passenden Stimmbefehl zugeordnet ist, durch.

Figure DE102019007797A1_0000
It describes the matching of voice commands during the testing of voice-supported app prototypes for languages with non-phonetic alphabets. A visual page of an app prototype is displayed during a test phase of the app prototype. A spoken-to-text service converts a non-phonetic voice command that is spoken in a language with a non-phonetic alphabet and is picked up by at least one microphone during the test phase of the app prototype into a non-phonetic text string of the voice command given in the non-phonetic alphabet . A phonetic language translator translates the non-phonetic text string of the voice command into a phonetic text string of the voice command given in a phonetic alphabet. A comparison module compares the phonetic text string of the voice command with phonetic text strings of stored voice commands given in the phonetic alphabet, which are assigned to the app prototype, in order to identify a suitable voice command. An implementation module performs an action that is assigned to the appropriate voice command.
Figure DE102019007797A1_0000

Description

Verwandte AnmeldungenRelated registrations

Die vorliegende Anmeldung beansprucht gemäß 35 U.S.C § 119(e) die Priorität der am 18. Januar 2019 eingereichten vorläufigen US-Patentanmeldung Nr. 62/794,466 mit dem Titel „Voice Command Matching During Testing of Voice-Assisted Application Prototypes for Languages with Non-Phonetic Alphabets“, deren gesamte Offenbarung hiermit durch Verweis mit aufgenommen wird.Pursuant to 35 USC § 119 (e), the present application claims priority from the provisional application filed on January 18, 2019 U.S. Patent Application No. 62 / 794,466 with the title "Voice Command Matching During Testing of Voice-Assisted Application Prototypes for Languages with Non-Phonetic Alphabets", the entire disclosure of which is hereby incorporated by reference.

Hintergrundbackground

Nutzer interagieren mit Stimmunterstützungsvorrichtungen, um eine zunehmende Anzahl von verschiedenen stimmunterstützten Aufgaben zu erledigen. Im Allgemeinen sind derartige Stimmunterstützungsvorrichtungen mit einem oder mehreren Mikrofonen konfiguriert, die von einem Nutzer Stimmbefehle empfangen. Beispiele für spezielle Stimmunterstützungsvorrichtungen beinhalten Amazon® Echo und Google® Home, die Interaktionen mit den Stimmunterstützungsplattformen Amazon® Alexa beziehungsweise Google® Assistant ermöglichen. Andere Vorrichtungen, so beispielsweise Mobiltelefone, Desktopcomputer, Laptopcomputer, Spielesysteme und dergleichen mehr, können jedoch ebenfalls als Stimmunterstützungsvorrichtungen konfiguriert sein, die die Funktionalität einer Stimmunterstützungsplattform einsetzen können. Beispielshalber kann ein AppleⓇ iPhone (Mobiltelefon) als Stimmunterstützungsvorrichtung dienen, die einem Nutzer ermöglicht, mit der Stimmunterstützungsplattform SiriⓇ zu interagieren.Users interact with voice assist devices to accomplish an increasing number of different voice assisted tasks. In general, such voice assist devices are configured with one or more microphones that receive voice commands from a user. Examples of special voice support devices include Amazon® Echo and Google® Home, which enable interactions with the voice support platforms Amazon® Alexa and Google® Assistant, respectively. However, other devices, such as cell phones, desktop computers, laptop computers, game systems, and the like, may also be configured as voice support devices that can use the functionality of a voice support platform. For example, an AppleⓇ iPhone (cell phone) can serve as a voice support device that enables a user to interact with the SiriⓇ voice support platform.

Derartige Stimmunterstützungsvorrichtungen sind dafür konfiguriert, auf Stimmbefehle eines Nutzers auf eine Vielzahl von verschiedenen Arten zu erwidern, so beispielsweise durch Ausgeben einer akustischen (Stimm-)Erwiderung über einen oder mehrere Lautsprecher, Anzeigen von visuellem Content, Bereitstellen anderer visueller Effekte (beispielsweise Angaben über Licht emittierende Dioden (LEDs)), Bereitstellen einer taktilen Rückmeldung und dergleichen mehr. Die Stimmunterstützungsplattform kann zudem andere Vorrichtungen, so beispielsweise ein Thermostat, Lautsprecher, Lichter und dergleichen, veranlassen, auf den Stimmbefehl des Nutzers zu erwidern. Einige Beispiele für Erwiderungen bei Haushaltsgeräten beinhalten das Ändern der Temperatur eines Thermostats, um die Temperatur eines Hauses anzupassen, das Beginnen des Abspielens von Musik von einem Musikdienst über Lautsprecher, das Ein- oder Ausschalten bestimmter Lichter in einem Haus und dergleichen mehr.Such voice assist devices are configured to respond to a user's voice commands in a variety of different ways, such as by outputting an acoustic (voice) response through one or more speakers, displaying visual content, providing other visual effects (e.g., information about light emitting diodes (LEDs)), providing tactile feedback and the like. The voice support platform may also cause other devices, such as a thermostat, speakers, lights, and the like, to respond to the user's voice command. Some examples of responses to household appliances include changing the temperature of a thermostat to adjust the temperature of a house, starting playing music from a music service through speakers, turning certain lights on or off in a house, and the like.

Da Stimminteraktion zunehmend vorherrschend wird, beginnen Entwickler damit, digitalen Schnittstellen eine Stimminteraktionsfunktionalität hinzuzufügen, und zwar beispielsweise durch Hinzufügen einer Stimmfunktionalität zu visuellen Pages einer App oder einer Webpagenutzerschnittstelle. Dennoch scheitern herkömmliche Entwicklungs-Apps dabei, das Entwickeln und Testen der Stimmfunktionalität für App-Prototypen zu unterstützen. Es ist per se schwierig, App-Prototypen zu entwickeln und stimmunterstützt zu testen. Darüber hinaus möchten Nutzer in einigen Fällen mit App-Prototypen unter Nutzung von Sprachen mit nichtphonetischen Alphabeten wie Chinesisch oder Japanisch interagieren, was zu einer hohen Rate von Trefferfehlern führt.As voice interaction becomes increasingly prevalent, developers are beginning to add voice interaction functionality to digital interfaces, for example, by adding voice functionality to visual pages of an app or webpage user interface. However, conventional development apps fail to support the development and testing of voice functionality for app prototypes. It is difficult per se to develop app prototypes and to test them with voice support. In addition, in some cases, users want to interact with app prototypes using languages with non-phonetic alphabets such as Chinese or Japanese, resulting in a high rate of hit errors.

ZusammenfassungSummary

Zur Lösung dieser Probleme wird das Abgleichen von Stimmbefehlen während des Testens von stimmunterstützten App-Prototypen für Sprachen mit nichtphonetischen Alphabeten beschrieben. Ein Stimminteraktionswerkzeug für stimmunterstützte App-Prototypen wird in einer Digitalmedienumgebung eingesetzt. Eine Entwicklungs-App stellt eine Entwicklungsschnittstelle bereit, die einem Nutzer ermöglicht, einen App-Prototyp für eine App zu entwickeln. Im Allgemeinen beinhaltet der App-Prototyp eine Abfolge von visuellen Pages sowie verschiedenartige Auslöser (triggers) und entsprechende Handlungen, die den visuellen Pages zugeordnet sind. Um das Entwickeln des App-Prototyps zu ermöglichen, wird wenigstens eine visuelle Page des App-Prototyps in der Entwicklungsschnittstelle angezeigt. Die Entwicklungsschnittstelle wird gesteuert bzw. geregelt, um eine Interaktionsschnittstelle bereitzustellen, die einen Auslöser und eine zugeordnete Handlung für die wenigstens eine visuelle Page des App-Prototyps bereitstellt. Der Auslöser kann einem von einem Stimmbefehl, einer Nutzergeste oder einer Zeitverzögerung entsprechen, während die Handlung einem von einer gesprochenen Erwiderung, einem Page-Übergang auf eine zusätzliche visuelle Page des App-Prototyps oder einem Abspielen einer Mediendatei entsprechen kann. Eine Nutzereingabe wird über die Entwicklungsschnittstelle empfangen, um den Auslöser und die Handlung bereitzustellen. In Erwiderung auf die Nutzereingabe werden zugeordnete Interaktionsdaten generiert, die den Auslöser, die Handlung und die visuelle Page des App-Prototyps beinhalten. Die zugeordneten Interaktionsdaten werden gespeichert, um das Testen des Auslösers und der Handlung während einer Testphase des App-Prototyps zu ermöglichen.To solve these problems, matching voice commands during testing of voice-assisted app prototypes for languages with non-phonetic alphabets is described. A voice interaction tool for voice-assisted app prototypes is used in a digital media environment. A development app provides a development interface that enables a user to develop an app prototype for an app. In general, the app prototype contains a sequence of visual pages as well as various triggers and corresponding actions that are assigned to the visual pages. In order to enable the development of the app prototype, at least one visual page of the app prototype is displayed in the development interface. The development interface is controlled to provide an interaction interface that provides a trigger and an associated action for the at least one visual page of the app prototype. The trigger may correspond to one of a voice command, a user gesture, or a time delay, while the action may correspond to one of a spoken reply, a page transition to an additional visual page of the app prototype, or playing a media file. User input is received through the development interface to provide the trigger and action. In response to the user input, assigned interaction data are generated, which include the trigger, the action and the visual page of the app prototype. The associated interaction data is saved to enable testing of the trigger and action during a test phase of the app prototype.

In der Testphase wird wenigstens eine visuelle Page des App-Prototyps angezeigt, und es wird ein Auslöser detektiert. Der Auslöser kann einem Stimmbefehl, der von einem Nutzer empfangen wird, einer Nutzergeste oder dem Ablauf einer Zeitverzögerung, um nur einige wenige zu nennen, entsprechen. Der Auslöser wird mit den gespeicherten Auslösern verglichen, die dem App-Prototyp zugeordnet sind, um einen passenden Auslöser zu identifizieren. Entspricht der Auslöser einem Stimmbefehl, so wird der Stimmbefehl für einen Stimme-zu-Text-Dienst bereitgestellt, der den Stimmbefehl in Echtzeit in einen Textstring umwandelt. Der Textstring des Stimmbefehls wird sodann mit gespeicherten Textstrings von Stimmbefehlen, die dem App-Prototyp zugeordnet sind, verglichen, um einen passenden Stimmbefehl zu identifizieren.At least one visual page of the app prototype is displayed in the test phase and a trigger is detected. The trigger can be a voice command received by a user, a user gesture or the expiration of a Time delay, to name just a few, correspond. The trigger is compared to the saved triggers associated with the app prototype to identify a suitable trigger. If the trigger corresponds to a voice command, the voice command is provided for a voice-to-text service which converts the voice command into a text string in real time. The text string of the voice command is then compared to stored text strings of voice commands associated with the app prototype to identify a suitable voice command.

In Erwiderung auf das Identifizieren des passenden Auslösers wird eine Handlung, die dem passenden Auslöser zugeordnet ist, während der Testphase durchgeführt. Die Handlung kann einer gesprochenen Erwiderung, einem Page-Übergang auf eine andere visuelle Page oder dem Abspielen einer Mediendatei entsprechen. Entspricht die Handlung einer gesprochenen Erwiderung, so kann ein Textstring der gesprochenen Erwiderung für einen Text-zu-Stimme-Dienst bereitgestellt werden, der die gesprochene Erwiderung in Echtzeit in eine Tondatei umwandelt. Die gesprochene Erwiderung wird sodann durch Abspielen der Tondatei ausgegeben.In response to identifying the appropriate trigger, an action associated with the appropriate trigger is performed during the test phase. The action may be a spoken reply, a page transition to another visual page, or playing a media file. If the action corresponds to a spoken reply, a text string of the spoken reply can be provided for a text-to-voice service which converts the spoken reply into a sound file in real time. The spoken reply is then output by playing the sound file.

Bei einer oder mehreren Implementierungen nutzt die Entwicklungs-App einen phonetischen Sprachübersetzer, um Textstrings von Stimmbefehlen aus Sprachen mit nichtphonetischen Alphabeten in phonetische Fassungen der Textstrings umzuwandeln. Bei einem Beispiel kam der phonetische Sprachübersetzer Mandarin und eine Kombination aus Katakana, Hiragana und Kanji in Pinyin beziehungsweise Romaji übersetzen. In der Testphase wird ein nichtphonetischer Stimmbefehl, der in einer Sprache mit einem nichtphonetischen Alphabet gesprochen wird, von wenigstens einem Mikrofon aufgenommen. Der nichtphonetische Stimmbefehl wird in Echtzeit an einen Gesprochenes-zu-Text-Dienst kommuniziert, um den nichtphonetischen Stimmbefehl in einen in der Sprache des nichtphonetischen Alphabets gegebenen nichtphonetischen Textstring des Stimmbefehls umzuwandeln. Sodann wird der nichtphonetische Textstring des Stimmbefehls in Echtzeit an einen phonetischen Sprachübersetzer kommuniziert, der den nichtphonetischen Textstring in einen in einem phonetischen Alphabet gegebenen phonetischen Textstring des Stimmbefehls übersetzt. Der phonetische Textstring des Stimmbefehls wird mit in dem phonetischen Alphabet gegebenen phonetischen Textstrings von gespeicherten Stimmbefehlen, die dem App-Prototyp zugeordnet sind, verglichen, um einen passenden Stimmbefehl zu identifizieren. Anschließend wird eine Handlung, die dem passenden Stimmbefehl zugeordnet ist, durchgeführt.In one or more implementations, the development app uses a phonetic language translator to convert text strings of voice commands from languages with non-phonetic alphabets into phonetic versions of the text strings. In one example, the phonetic language translator Mandarin and a combination of katakana, hiragana and kanji came to translate into Pinyin and Romaji, respectively. In the test phase, a non-phonetic voice command that is spoken in a language with a non-phonetic alphabet is recorded by at least one microphone. The non-phonetic voice command is communicated in real time to a spoken-to-text service to convert the non-phonetic voice command into a non-phonetic text string of the voice command given in the language of the non-phonetic alphabet. The non-phonetic text string of the voice command is then communicated in real time to a phonetic language translator who translates the non-phonetic text string into a phonetic text string of the voice command given in a phonetic alphabet. The phonetic text string of the voice command is compared with phonetic text strings of stored voice commands given in the phonetic alphabet, which are associated with the app prototype, in order to identify a suitable voice command. Then an action that is assigned to the appropriate voice command is carried out.

Die vorliegende Zusammenfassung führt in vereinfachter Form eine Auswahl von Konzepten ein, die nachstehend in der Detailbeschreibung weiter beschrieben werden. Als solche soll die vorliegende Zusammenfassung wesentliche Merkmale des beanspruchten Erfindungsgegenstandes weder identifizieren, noch soll sie als Hilfe beim Bestimmen des Umfangs des beanspruchten Erfindungsgegenstandes benutzt werden.This summary introduces a selection of concepts in a simplified form, which are further described below in the detailed description. As such, the present summary is not intended to identify key features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter.

FigurenlisteFigure list

Die Detailbeschreibung erfolgt anhand der begleitenden Figuren.

  • 1 ist eine Darstellung einer Umgebung bei einer exemplarischen Implementierung, die dafür betreibbar ist, ein Stimminteraktionswerkzeug für hier beschriebene stimmunterstützte App-Prototypen einzusetzen.
  • 2 zeigt eine exemplarische Implementierung, bei der das Stimminteraktionswerkzeug von 1 Zuordnungen zwischen Interaktionsdaten und visuellen Pages eines App-Prototyps generiert und die Interaktionsdaten und visuellen Pages vorhält.
  • 3 zeigt eine exemplarische Implementierung, bei der das Testmodul der Entwicklungs-App von 1 das Testen des App-Prototyps vereinfacht.
  • 4 zeigt eine exemplarische Implementierung, bei der das Testmodul der Entwicklungs-App von 1 einen phonetischen Sprachübersetzer nutzt, um Stimmbefehle abzugleichen, die während des Testens des App-Prototyps aufgenommen werden.
  • 5A bis 5C zeigen ein Beispiel für eine Entwicklungsschnittstelle einer Entwicklungs-App, die dafür benutzt wird, einen stimmunterstützten App-Prototyp zu entwickeln.
  • 6A und 6B zeigen ein Beispiel für eine Entwicklungsschnittstelle einer Entwicklungs-App während einer Testphase eines stimmunterstützten App-Prototyps.
  • 7 zeigt eine exemplarische Prozedur, bei der ein stimmunterstützter App-Prototyp entwickelt wird.
  • 8 zeigt eine exemplarische Prozedur, bei der ein stimmunterstützter App-Prototyp getestet wird.
  • 9 zeigt eine exemplarische Prozedur, bei der ein phonetischer Sprachübersetzer benutzt wird, um Stimmbefehle abzugleichen, die während des Testens des App-Prototyps aufgenommen worden sind.
  • 10 zeigt ein exemplarisches System, das verschiedene Komponenten einer exemplarischen Vorrichtung beinhaltet, die als beliebiger Typ von Rechenvorrichtung, wie sie anhand 1 bis 9 beschrieben und/oder eingesetzt wird, implementiert sein kann, um Ausführungsformen der hier beschriebenen Techniken zu implementieren.
The detailed description is based on the accompanying figures.
  • 1 is a representation of an environment in an exemplary implementation that is operable to use a voice interaction tool for voice-assisted app prototypes described here.
  • 2nd shows an exemplary implementation in which the voice interaction tool of 1 Maps between interaction data and visual pages of an app prototype are generated and the interaction data and visual pages are kept.
  • 3rd shows an exemplary implementation in which the test module of the development app from 1 testing the app prototype simplified.
  • 4th shows an exemplary implementation in which the test module of the development app from 1 uses a phonetic language translator to match voice commands that are recorded while testing the app prototype.
  • 5A to 5C show an example of a development interface of a development app that is used to develop a voice-assisted app prototype.
  • 6A and 6B show an example of a development interface of a development app during a test phase of a voice-supported app prototype.
  • 7 shows an exemplary procedure in which a voice-assisted app prototype is developed.
  • 8th shows an exemplary procedure in which a voice-assisted app prototype is tested.
  • 9 Figure 4 shows an exemplary procedure using a phonetic speech translator to match voice commands that were recorded during testing of the app prototype.
  • 10th FIG. 12 shows an exemplary system that includes various components of an exemplary device that are considered any type of computing device as used 1 to 9 is described and / or used, can be implemented to implement embodiments of the techniques described herein.

DetailbeschreibungDetailed description

ÜbersichtOverview

Nutzer interagieren mit Stimmunterstützungsvorrichtungen, um eine zunehmende Anzahl von verschiedenen stimmunterstützten Aufgaben zu erledigen. Um diese Aufgaben durch stimmunterstützte Interaktion zu erledigen, muss durch die Entwicklung, Realisierung und den Einsatz einer Software-App, einer Firmware, eines Dienstes, eines Plug-ins, eines Scripts und dergleichen mehr eine Funktionalität hierfür bereitgestellt werden. Herkömmliche Werkzeuge zum Entwickeln von App-Prototypen beschränken jedoch die Fähigkeit von Nutzern, eine stimmunterstützte Funktionalität für App-Prototypen zu entwickeln und zu testen.Users interact with voice assist devices to accomplish an increasing number of different voice assisted tasks. In order to accomplish these tasks through voice-supported interaction, a functionality for this must be provided through the development, implementation and use of a software app, a firmware, a service, a plug-in, a script and the like. However, traditional tools for developing app prototypes limit the ability of users to develop and test voice-assisted functionality for app prototypes.

Um diese Probleme zu lösen, wird ein Stimminteraktionswerkzeug für stimmunterstützte App-Prototypen in einer Digitalmedienumgebung eingesetzt. Eine Entwicklungs-App, so beispielsweise AdobeⓇ XD, stellt eine Entwicklungsschnittstelle bereit, die einem Nutzer (beispielsweise einem Entwickler) ermöglicht, einen App-Prototyp für eine App zu entwickeln. Im Allgemeinen beinhaltet der App-Prototyp visuelle Pages der App wie auch verschiedene Auslöser und entsprechende Handlungen, die den visuellen Pages zugeordnet sind. Als Teil der Entwicklung von visuellen Pages stellt die Entwicklungs-App Werkzeuge und Funktionalitäten bereit, die die Entwicklung und das Layout von Nutzerschnittstellensteuerungen bzw. Regelungen, Grafiken und Text für den App-Prototyp ermöglichen. Eine Entwicklungsschnittstelle ermöglicht beispielsweise die Entwicklung einer Abfolge von visuellen Pages des App-Prototyps (beispielsweise einer Home-Screen-Page wie auch verschiedener anderer visueller Pages), auf die während der Interaktion mit dem App-Prototyp navigiert werden kann.To solve these problems, a voice interaction tool for voice-assisted app prototypes is used in a digital media environment. A development app, such as AdobeⓇ XD, provides a development interface that enables a user (e.g. a developer) to develop an app prototype for an app. In general, the app prototype includes visual pages of the app as well as various triggers and corresponding actions associated with the visual pages. As part of the development of visual pages, the development app provides tools and functionalities that enable the development and layout of user interface controls or regulations, graphics and text for the app prototype. A development interface enables, for example, the development of a sequence of visual pages of the app prototype (for example a home screen page as well as various other visual pages) that can be navigated to while interacting with the app prototype.

Um das Entwickeln eines funktionierenden App-Prototyps zu ermöglichen, ermöglicht ein Stimminteraktionswerkzeug der Entwicklungs-App das direkte Integrieren sowohl von Stimmbefehlen wie auch einer gesprochenen Rückmeldung in die Entwicklung des App-Prototyps. Zu diesem Zweck steuert bzw. regelt das Stimminteraktionswerkzeug die Entwicklungsschnittstelle derart, dass eine Interaktionsschnittstelle bereitgestellt wird, die eine Steuerung bzw. Regelung zur Bereitstellung eines Auslösers und einer zugeordneten Handlung für eine visuelle Page des App-Prototyps beinhaltet. Im Sinne des Vorliegenden bezeichnet der Begriff „Auslöser“ (trigger) einen Befehl, der eine entsprechende Handlung auslösen kann, während eine „Handlung“ (action) ein Vorgang ist, der in Erwiderung auf die Detektion des entsprechenden Auslösers durchgeführt wird. Beispiele für Auslöser beinhalten beispiels- und nicht beschränkungshalber Stimmbefehle, Nutzergesten (beispielsweise Tippen, Ziehen bzw. Dragging, Wischen, Tastendrücken) und Zeitverzögerungen. Beispiele für Handlungen beinhalten beispiels- und nicht beschränkungshalber gesprochene Erwiderungen, Page-Übergänge auf andere visuelle Pages des App-Prototyps und das Abspielen von Mediendateien (beispielsweise einer Ton- oder Videodatei)In order to enable the development of a functioning app prototype, a voice interaction tool of the development app enables the direct integration of both voice commands and spoken feedback into the development of the app prototype. For this purpose, the voice interaction tool controls the development interface in such a way that an interaction interface is provided which contains a control system for providing a trigger and an associated action for a visual page of the app prototype. In the sense of the present, the term “trigger” denotes a command that can trigger a corresponding action, while an “action” is a process that is carried out in response to the detection of the corresponding trigger. Examples of triggers include voice commands, user gestures (such as typing, dragging, swiping, pressing buttons) and time delays, for example and not limitation. Examples of actions include, by way of example, and not by way of limitation, spoken responses, page transitions to other visual pages of the app prototype, and playing media files (such as a sound or video file).

Die Interaktionsschnittstelle ermöglicht, dass der Nutzer den Auslöser und die zugeordnete Handlung aus einer Liste von definierten Auslösern und Handlungen auswählt. Sobald die Auswahl erfolgt ist, stellt der Nutzer eine Eingabe bereit, die den ausgewählten Auslöser und die Handlung beschreibt. Um einen Stimmenbefehl beispielsweise einer bestimmten visuellen Page des App-Prototyps zuzuordnen, kann das Stimminteraktionswerkzeug dem Nutzer ermöglichen, die bestimmte visuelle Page (beispielsweise unter Nutzung einer Berührfunktionalität) auszuwählen und verschiedene Stimmbefehle oder gesprochene Erwiderungen, die dem bestimmten Element entsprechen, über die Interaktionsschnittstelle (beispielsweise durch Antippen der Befehle oder Erwiderungen, Sprechen der Befehle oder Erwiderungen in ein Mikrofon oder eine kommunikationstechnisch angekoppelte Vorrichtung und dergleichen mehr) zu spezifizieren. Die Stimmbefehle können als Tondaten oder Textdaten konfiguriert sein, die das nutzerseitig Gesprochene für eine stimmunterstützte App angeben. Die gesprochene Erwiderung stellt die akustische Ausgabe der stimmunterstützten App (beispielsweise durch einen Stimmunterstützer bzw. Assistenten) in Erwiderung auf den Empfang des Stimmbefehls dar.The interaction interface enables the user to select the trigger and the associated action from a list of defined triggers and actions. As soon as the selection has been made, the user provides an input which describes the selected trigger and the action. For example, to associate a voice command with a particular visual page of the app prototype, the voice interaction tool can allow the user to select the particular visual page (e.g., using a touch functionality) and to use the interaction interface ( for example by tapping the commands or replies, speaking the commands or replies into a microphone or a device coupled to communication technology and the like). The voice commands can be configured as sound data or text data that indicate what the user speaks for a voice-supported app. The spoken reply represents the acoustic output of the voice-assisted app (for example by a voice supporter or assistant) in response to the receipt of the voice command.

Insbesondere ermöglicht die Interaktionsschnittstelle dem Nutzer, verschiedenartige andere Typen von Auslösern und Handlungen visuellen Pages des App-Prototyps zuzuordnen. Der Nutzer kann beispielsweise Stimmbefehlsauslöser entsprechenden gesprochenen Erwiderungen zuordnen. Die Entwicklungs-App ermöglicht dem Nutzer indes, Stimminteraktionen mit anderen Auslösern und Handlungen zu mischen und diese abzugleichen, und zwar beispielsweise indem ein Nutzergestenauslöser einer gesprochenen Erwiderung zugeordnet wird oder indem ein Stimmbefehl einem Übergang auf eine andere visuelle Page des App-Prototyps zugeordnet wird. In Erwiderung auf einen Stimmbefehl, so beispielsweise „Wie ist das Wetter“, kann die App beispielsweise auf eine visuelle Page übergehen, die eine Zusammenfassung des künftigen Wetters präsentiert.In particular, the interaction interface enables the user to assign various other types of triggers and actions to visual pages of the app prototype. For example, the user can assign voice command triggers to corresponding spoken responses. The development app, however, enables the user to mix and match voice interactions with other triggers and actions, for example by assigning a user gesture trigger to a spoken reply or by assigning a voice command to a transition to another visual page of the app prototype. In response to a voice command, such as "What is the weather like?", The app For example, go to a visual page that presents a summary of future weather.

Die Entwicklungs-App ordnet die Interaktionsdaten des Auslösers und der Handlung sodann der entsprechenden visuellen Page zu. Diese Vorgehensweise ermöglicht, dass die Interaktionsdaten, die den jeweiligen visuellen Pages zugeordnet sind, auf Grundlage einer Identifizierung des Auslösers während einer Testphase des App-Prototyps abgerufen werden. In einigen Fällen können die Interaktionsdaten und die zugeordneten visuellen Pages lokal auf der Clientvorrichtung gespeichert werden. Das Stimminteraktionswerkzeug kann für den App-Prototyp beispielsweise eine Datei generieren, die die Interaktionsdaten und die zugeordneten visuellen Pages beinhaltet, und veranlassen, dass die Datei in einem Speicher der Clientvorrichtung gespeichert wird. Auf diese Weise kann die Datei ohne Weiteres an andere Entwickler, die die Entwicklung fortführen, übertragen werden. Zusätzlich oder alternativ können die Interaktionsdaten und die zugeordneten visuellen Pages in einem Remote-Speicher vorgehalten werden.The development app then assigns the interaction data of the trigger and the action to the corresponding visual page. This procedure enables the interaction data associated with the respective visual pages to be called up on the basis of an identification of the trigger during a test phase of the app prototype. In some cases, the interaction data and associated visual pages can be stored locally on the client device. For example, the voice interaction tool can generate a file for the app prototype that contains the interaction data and the associated visual pages and cause the file to be stored in a memory of the client device. In this way, the file can be easily transferred to other developers who continue to develop. Additionally or alternatively, the interaction data and the assigned visual pages can be stored in a remote memory.

Die Entwicklungs-App ist des Weiteren mit einem Testmodul implementiert, das das Testen eines stimmunterstützten App-Prototyps ermöglicht, der unter Nutzung der Entwicklungs-App erstellt wird. Wird die Testphase initiiert, so zeigt das Testmodul eine erste visuelle Page (beispielsweise die Homepage) des App-Prototyps an. Interagiert der Nutzer mit dem App-Prototyp, indem er beispielsweise einen Stimmbefehl spricht oder die visuelle Page antippt, so veranlasst das Testmodul in Echtzeit das Durchführen der entsprechenden Handlungen, die den Auslösern zugeordnet sind, indem es beispielsweise eine gesprochene Erwiderung ausgibt, auf eine andere visuelle Page übergeht, das Abspielen von Mediencontent initiiert, oder auch durch eine Kombination hieraus. Auf diese Weise ermöglicht das beschriebene System, dass der Nutzer mit dem App-Prototyp während der Testphase interagiert, um sicherzustellen, dass der App-Prototyp absichtsgemäß funktioniert. Diese Vorgehensweise ermöglicht dem Entwickler, beliebige Probleme beim Entwickeln von stimmunterstützten Interaktionen vor der Realisierungsphase zu identifizieren und anzugehen. Nachdem der App-Prototyp entwickelt und getestet worden ist, kann die Entwicklungs-App eine Entwicklungsspezifikation generieren, die Anweisungen und Daten enthält, die von einem App-Entwickler dafür eingesetzt werden können, die App entsprechend der Entwicklung des App-Prototyps zu realisieren. Alternativ kann die Entwicklungs-App implementiert werden, um eine ausführbare App zum Abschluss des Entwicklungs- und Testprozesses zu generieren.The development app is also implemented with a test module that enables the testing of a voice-supported app prototype that is created using the development app. If the test phase is initiated, the test module displays a first visual page (e.g. the homepage) of the app prototype. If the user interacts with the app prototype, for example by saying a voice command or tapping the visual page, the test module causes the relevant actions in real time, which are assigned to the triggers, for example by giving a spoken response to another visual page passes, media content is initiated, or a combination of these. In this way, the described system enables the user to interact with the app prototype during the test phase to ensure that the app prototype works as intended. This approach enables the developer to identify and address any problems in developing voice-assisted interactions before the implementation phase. After the app prototype has been developed and tested, the development app can generate a development specification that contains instructions and data that an app developer can use to implement the app according to the development of the app prototype. Alternatively, the development app can be implemented to generate an executable app to complete the development and testing process.

Die beschriebenen Techniken vereinfachen somit die Entwicklung von stimmunterstützten App-Prototypen, indem sie die problemlose direkte Integration sowohl von Stimmbefehlen wie auch einer gesprochenen Rückmeldung in App-Prototyp-Entwicklungen ermöglichen, während die Testphase dem Nutzer ermöglicht, Stimmbefehle bereitzustellen und eine gesprochene Rückmeldung auszugeben, die dem Nutzer wiederum ermöglicht, die Interaktion mit dem App-Prototyp zu simulieren.The techniques described thus simplify the development of voice-assisted app prototypes by allowing problem-free direct integration of both voice commands and spoken feedback into app prototype developments, while the test phase enables the user to provide voice commands and output spoken feedback, which in turn enables the user to simulate the interaction with the app prototype.

Insbesondere kann das Testmodul der Entwicklungs-App beim Abgleichen von Stimmbefehlen einen passenden Stimmbefehl auf Grundlage der Anzahl von Buchstaben, die der Textstring des Stimmbefehls mit den Textstrings der gespeicherten Stimmbefehle gemeinsam hat, auswählen. Diese Vorgehensweise funktioniert bei Sprachen mit phonetischen Alphabeten wie Englisch, da das Abgleichen der gemeinsamen Zeichen der Lautung der Worte nahekommt. Die Wörter „house“ (Haus) und „mouse“ (Maus) weisen im Englischen beispielsweise jeweils vier gemeinsame Buchstaben von fünfen auf und klingen daher ähnlich. Bei einem gängigen Szenario, bei dem der Stimme-zu-Text-Dienst einen Stimmbefehl unrichtig in einen Textstring umwandelt, der ähnlich wie der beabsichtigte Stimmbefehl (beispielsweise „house“ (Haus) anstatt „mouse“ (Maus) oder „red chair“ (roter Stuhl) anstatt „ride share“ (Mitfahrgelegenheit)) klingt, sind die beschriebenen Abgleichstechniken dazu in der Lage, den passenden gespeicherten Stimmbefehl mit hoher Wahrscheinlichkeit zu identifizieren, was von der Buchstabengemeinsamkeit zwischen Wörtern, die in phonetischen Alphabeten gleich klingen, herrührt. Für Sprachen mit „nichtphonetischen Alphabeten“ wie Mandarin-Chinesisch und Japanisch mit Blick auf das Kanji-Alphabet funktioniert diese Abgleichstechnik jedoch nicht, da gleichklingende Wörter nicht ohne Weiteres buchstabenweise verglichen werden können.In particular, when testing voice commands, the test module of the development app can select a suitable voice command based on the number of letters that the text string of the voice command has in common with the text strings of the stored voice commands. This approach works for languages with phonetic alphabets such as English, since matching the common characters comes close to saying the words. For example, the words “house” and “mouse” each have four common letters of five in English and therefore sound similar. In a common scenario where the voice-to-text service incorrectly converts a voice command into a text string that is similar to the intended voice command (for example, "house" instead of "mouse" or "red chair" ( red chair) instead of “ride share”), the matching techniques described are able to identify the appropriate stored voice command with a high degree of probability, which is due to the letter commonality between words that sound the same in phonetic alphabets. However, this matching technique does not work for languages with "non-phonetic alphabets" such as Mandarin Chinese and Japanese with a view to the Kanji alphabet, since words with the same sound cannot easily be compared letter by letter.

Um dieses Problem zu lösen setzt die Entwicklungs-App einen phonetischen Sprachübersetzer ein, der Textstrings von Stimmbefehlen in Sprachen mit nichtphonetischen Alphabeten in phonetische Fassungen der Textstrings umwandelt. Bei einem Beispiel kann der phonetische Sprachübersetzer Mandarin und eine Mischung aus Hiragana, Katakana und Kanji in Pinyin beziehungsweise Romaji übersetzen. In der Testphase nimmt ein Mikrofon den Ton eines Stimmbefehls in einer nichtphonetischen Sprache auf und stellt den Ton des Stimmbefehls in der nichtphonetischen Sprache für einen Gesprochenes-zu-Text-Dienst bereit. Der Gesprochenes-zu-Text-Dienst wandelt den Ton des Stimmbefehls in einen in dem nichtphonetischen Alphabet gegebenen Textstring des Stimmbefehls um. Der Textstring des Stimmbefehls in dem nichtphonetischen Alphabet wird sodann für den phonetischen Sprachübersetzer bereitgestellt, der den Textstring des Stimmbefehls in dem nichtphonetischen Alphabet in eine phonetische Fassung des Textstrings des Stimmbefehls umwandelt. Gleichzeitig mit dem Testen oder auch davor übersetzt der phonetische Übersetzer in nichtphonetischen Alphabeten gegebene Textstrings von gespeicherten Stimmbefehlen, die dem App-Prototyp zugeordnet sind, in phonetische Fassungen der Textstrings der gespeicherten Stimmbefehle.To solve this problem, the development app uses a phonetic language translator that converts text strings from voice commands in languages with non-phonetic alphabets into phonetic versions of the text strings. In one example, the phonetic language translator can translate Mandarin and a mixture of Hiragana, Katakana and Kanji into Pinyin and Romaji, respectively. In the test phase, a microphone records the sound of a voice command in a non-phonetic language and provides the sound of the voice command in the non-phonetic language for a spoken-to-text service. The spoken-to-text service converts the tone of the voice command into a text string of the voice command given in the non-phonetic alphabet. The text string of the voice command in the non-phonetic alphabet is then provided for the phonetic language translator who converts the text string of the voice command in the non-phonetic alphabet into a phonetic version of the text string of the voice command. Simultaneously with that During testing or before that, the phonetic translator translates text strings of stored voice commands, which are assigned to the app prototype, into non-phonetic alphabets into phonetic versions of the text strings of the stored voice commands.

Die übersetzte phonetische Fassung des Textstrings des aufgenommenen Stimmbefehls wird sodann mit den übersetzten phonetischen Fassungen der Textstrings der gespeicherten Stimmbefehle verglichen. Ein passender Stimmbefehl wird auf Grundlage einer Bestimmung der Anzahl von gemeinsamen Zeichen zwischen der phonetischen Fassung des Textstrings des aufgenommenen Stimmbefehls und den phonetischen Fassungen der Textstrings der gespeicherten Stimmbefehle identifiziert. Dadurch, dass die nichtphonetischen Textstrings zunächst in phonetische Fassungen umgewandelt werden, ist dieser Vergleich auf Grundlage der Anzahl der gemeinsamen Zeichen beim Identifizieren des passenden Stimmbefehls mit einem vernünftigen Grad der Zuverlässigkeit effektiv. Daher erhöhen die hier beschriebenen Techniken der phonetischen Sprachübersetzung die Genauigkeit des Abgleichs von Stimmbefehlen während des Testens von stimmunterstützten App-Prototypen.The translated phonetic version of the text string of the recorded voice command is then compared with the translated phonetic versions of the text strings of the stored voice commands. A suitable voice command is identified based on a determination of the number of common characters between the phonetic version of the text string of the recorded voice command and the phonetic versions of the text strings of the stored voice commands. By first converting the non-phonetic text strings into phonetic versions, this comparison based on the number of common characters is effective in identifying the appropriate voice command with a reasonable degree of reliability. Therefore, the techniques of phonetic speech translation described here increase the accuracy of matching voice commands while testing voice-assisted app prototypes.

Im Sinne des Vorliegenden bezeichnet der Begriff „nichtphonetischer Textstring“ einen Textstring, der in einem nichtphonetischen Alphabet, so beispielsweise Mandarin-Chinesisch oder Kanji, geschrieben ist, während ein nichtphonetischer Stimmbefehl Tondaten bezeichnet, die von einem Mikrofon aufgenommen werden, wenn ein Nutzer einen Stimmbefehl in einer Sprache mit nichtphonetischem Alphabet spricht. Im Gegensatz hierzu bezeichnet ein „phonetischer Textstring“ oder ein „übersetzter phonetischer Textstring“ einen Textstring in einem nichtphonetischen Alphabet, der in eine phonetische Darstellung, so beispielsweise Pinyin oder Romaji, übersetzt worden ist.As used herein, the term "non-phonetic text string" refers to a text string written in a non-phonetic alphabet such as Mandarin Chinese or Kanji, while a non-phonetic voice command refers to sound data that is recorded by a microphone when a user sends a voice command speaks in a language with a non-phonetic alphabet. In contrast, a “phonetic text string” or a “translated phonetic text string” refers to a text string in a non-phonetic alphabet that has been translated into a phonetic representation, such as Pinyin or Romaji.

In der nachfolgenden Diskussion wird zunächst eine exemplarische Umgebung beschrieben, in der die hier beschriebenen Techniken eingesetzt werden können. Sodann werden exemplarische Details und Prozeduren der Implementierung, die in der exemplarischen Umgebung wie auch in anderen Umgebungen durchgeführt werden können, beschrieben. Daher ist die Durchführung der exemplarischen Prozeduren nicht auf die exemplarische Umgebung beschränkt, und es ist die exemplarische Umgebung nicht auf die Durchführung der exemplarischen Prozeduren beschränkt.The following discussion first describes an exemplary environment in which the techniques described here can be used. Exemplary details and procedures of implementation that can be performed in the exemplary environment as well as in other environments are then described. Therefore, the performance of the exemplary procedures is not limited to the exemplary environment, and the exemplary environment is not limited to the performance of the exemplary procedures.

Exemplarische UmgebungExemplary environment

1 ist eine Darstellung einer Umgebung 100 bei einer exemplarischen Implementierung, die dafür betreibbar ist, einen Abgleich von Stimmbefehlen während des Testens von stimmunterstützten App-Prototypen für Sprachen mit nichtphonetischen Alphabeten, wie hier beschrieben wird, vorzunehmen. Die dargestellte Umgebung 100 beinhaltet eine Rechenvorrichtung 102, ein Stimminteraktionsentwicklungssystem 104 und eine Stimmunterstützungsplattform 106 sowie verschiedene Stimmunterstützungsvorrichtungen 108, die über ein Netzwerk 110 kommunikationstechnisch miteinander gekoppelt sind. 1 is a representation of an environment 100 in an exemplary implementation that is operable to match voice commands while testing voice-assisted app prototypes for languages with non-phonetic alphabets, as described here. The environment shown 100 includes a computing device 102 , a voice interaction development system 104 and a voice support platform 106 as well as various voice support devices 108 that over a network 110 are coupled with each other in terms of communication technology.

Vorrichtungen, die dafür nutzbar sind, die Rechenvorrichtung 102, das Stimminteraktionsentwicklungssystem 104 und die Stimmunterstützungsplattform 106 zu implementieren, können auf eine Vielzahl von Arten konfiguriert sein. Die Vorrichtungen können beispielsweise als Desktopcomputer, Laptopcomputer, Mobilvorrichtung (beispielsweise unter Annahme einer Handkonfiguration wie bei einem Tablet oder Mobiltelefon) und dergleichen mehr konfiguriert sein. Die Vorrichtungen können von über vollständige Ressourcen verfügenden Vorrichtungen mit beträchtlichen Speicher- und Prozessorressourcen (beispielsweise PCs, Spielekonsolen) bis zu über geringe Ressourcen verfügenden Vorrichtungen mit beschränkten Speicher- und/oder Verarbeitungsressourcen (beispielsweise Mobilvorrichtungen) reichen. Zusätzlich kann eine Vorrichtung mehrere verschiedene Vorrichtungen darstellen, so beispielsweise mehrere Server, die von einer Firma eingesetzt werden, um Vorgänge „über die Cloud“ durchzuführen, wie nachstehend anhand 8 noch beschrieben wird.Devices that can be used for this purpose, the computing device 102 , the voice interaction development system 104 and the voice support platform 106 implement can be configured in a variety of ways. The devices can be configured, for example, as a desktop computer, laptop computer, mobile device (for example, assuming a manual configuration such as with a tablet or cell phone) and the like. The devices can range from full resource devices with significant memory and processor resources (e.g. PCs, game consoles) to low resource devices with limited memory and / or processing resources (e.g. mobile devices). In addition, one device can represent multiple different devices, such as multiple servers used by a company to perform operations "through the cloud", as shown below 8th is still described.

Die Stimmunterstützungsvorrichtungen 108 können auf eine Vielzahl von Arten konfiguriert sein. Allgemein sind die Stimmunterstützungsvorrichtungen 108 mit einem oder mehreren Mikrofonen konfiguriert, die Stimmbefehle 112 von einem Nutzer 114 empfangen. Beispiele für spezielle Stimmunterstützungsvorrichtungen 108 beinhalten AmazonⓇ Echo und Google® Home, die Interaktionen mit den Stimmunterstützungsplattformen Amazon® Alexa beziehungsweise Google® Assistant ermöglichen. Andere Vorrichtungen, so beispielsweise Mobiltelefone, Desktopcomputer, Laptopcomputer, Spielesysteme und dergleichen mehr, können ebenfalls als Stimmunterstützungsvorrichtungen 108 konfiguriert sein, die dazu fähig sind, die Funktionalität einer Stimmunterstützungsplattform einzusetzen. Beispielshalber kann ein AppleⓇ iPhone (Mobiltelefon) als Stimmunterstützungsvorrichtung 108 dienen, die dem Nutzer 114 ermöglicht, mit der Stimmunterstützungsplattform SiriⓇ zu interagieren. Zu diesem Zweck können die Stimmunterstützungsvorrichtungen 108 dafür konfiguriert sein, zusätzlich zum Empfangen von Stimmbefehlen 112 eine Nutzereingabe durch Schnittstellen (beispielsweise Berührung, Kamera und dergleichen) zu empfangen.The voice support devices 108 can be configured in a variety of ways. General are the voice support devices 108 configured with one or more microphones, the voice commands 112 from a user 114 receive. Examples of special voice support devices 108 include AmazonⓇ Echo and Google® Home, which enable interactions with the voice support platforms Amazon® Alexa and Google® Assistant. Other devices, such as cell phones, desktop computers, laptop computers, game systems, and the like, can also be used as voice assist devices 108 configured to be able to use the functionality of a voice support platform. For example, an AppleⓇ iPhone (cell phone) can be used as a voice support device 108 serve the user 114 allows you to interact with the SiriⓇ voice support platform. For this purpose, the voice support devices 108 configured to do so in addition to receiving voice commands 112 receive user input through interfaces (e.g., touch, camera, and the like).

In jedem Fall interagieren die Stimmunterstützungsvorrichtungen 108 mit ihrer jeweiligen Stimmunterstützungsplattform 106, um auf die Stimmbefehle 112 zu erwidern. Die Stimmunterstützungsplattform 106 ist derart dargestellt, dass sie ein Stimmbefehlsverarbeitungsmodul 116 aufweist. Das Stimmbefehlsverarbeitungsmodul 116 stellt eine Funktionalität dar, die eine von dem Stimmbefehl 112 initiierte Anfrage bzw. Anforderung empfängt, bestimmt, wie auf die Anfrage bzw. Anforderung erwidert werden soll, und sodann eine Erwiderung für die Stimmunterstützungsvorrichtung 108 oder beliebige andere Vorrichtungen, die von dem Stimmbefehl 112 betroffen sein können, bereitstellt, so beispielsweise für angeschlossene Geräte innerhalb eines Hauses bzw. Haushalts, für Dienstanbietervorrichtungen zur Bereitstellung eines oder mehrerer jeweiliger Dienste (beispielsweise zur Vereinfachung der Lieferung von Waren durch eine E-Commerce-Plattform) und dergleichen mehr. Entsprechend können die Stimmunterstützungsvorrichtungen 108 dafür konfiguriert sein, auf Stimmbefehle des Nutzers 114 auf eine Vielzahl von Arten zu erwidern, indem sie beispielsweise eine akustische gesprochene Erwiderung 115 über einen oder mehrere Lautsprecher ausgeben, visuellen Content anzeigen, andere visuelle Effekte (beispielsweise Angaben mittels Licht emittierender Dioden (LEDs)) bereitstellen, eine taktile Rückmeldung bereitstellen und dergleichen mehr. Darüber hinaus kann die Stimmunterstützungsplattform 106 veranlassen, dass andere Vorrichtungen, so beispielsweise ein Thermostat, Lautsprecher, Lichter und dergleichen, auf den Stimmbefehl 112 des Nutzers 114 erwidern. Einige wenige Beispiele für Erwiderungen bei Haushaltsgeräten beinhalten das Ändern der Temperatur eines Thermostats, um die Temperatur eines Hauses anzupassen, das Beginnen des Abspielens von Musik von einem Musikdienst über Lautsprecher, das Ein- oder Ausschalten bestimmter Lichter in einem Haus und dergleichen mehr. Die Stimmbefehle 112 können mit einer Vielzahl von Einstellungen (beispielsweise Haushalt, Arbeit und dergleichen) eingesetzt werden, um Erwiderungen über eine oder mehrere Vorrichtungen, darunter unter anderem der Stimmunterstützungsvorrichtung 108, zu initiieren. In any case, the voice support devices interact 108 with their respective voice support platform 106 to click on the voice commands 112 to reply. The voice support platform 106 is shown as being a voice command processing module 116 having. The voice command processing module 116 represents functionality that is one of the voice command 112 receives initiated request, determines how to respond to the request, and then receives a response for the voice support device 108 or any other device by the voice command 112 may be affected, for example for connected devices within a house or household, for service provider devices for providing one or more respective services (for example to simplify the delivery of goods through an e-commerce platform) and the like. Accordingly, the voice support devices 108 configured to respond to user voice commands 114 to respond in a variety of ways, such as using an acoustic spoken reply 115 output via one or more loudspeakers, display visual content, provide other visual effects (for example information by means of light-emitting diodes (LEDs)), provide tactile feedback and the like. In addition, the voice support platform 106 cause other devices, such as a thermostat, speakers, lights, and the like, to respond to the voice command 112 of the user 114 to reply. A few examples of responses to household appliances include changing the temperature of a thermostat to adjust the temperature of a house, starting playing music from a music service through speakers, turning certain lights on or off in a house, and the like. The voice commands 112 can be used with a variety of settings (e.g., household, work, and the like) to respond to one or more devices, including but not limited to the voice support device 108 , to initiate.

Im Zusammenhang mit der dargestellten Umgebung 100 stellt eine Entwicklungs-App 118 eine Funktionalität bereit, die einem Nutzer der Rechenvorrichtung 102 (beispielsweise einem Entwickler) ermöglicht, einen App-Prototyp 120 für eine App, so beispielsweise eine Software-App, Firmware, Dienste, Plug-ins, Skripte und dergleichen mehr, zu entwickeln. In einigen Fällen sind die App-Prototypen 120 für eine Stimmunterstützungsplattform 106, so beispielsweise AmazonⓇ Show, die einen integrierten Anzeigeschirm beinhaltet, entwickelt. Die App-Prototypen 120 können jedoch für einen beliebigen Typ von App entwickelt sein, die eine stimmunterstützte Funktionalität beinhaltet. Die Entwicklungs-App 118 kann als Entwicklungs-App, so beispielsweise als AdobeⓇ XD oder AdobeⓇ Sketch, implementiert sein. Die Entwicklungs-App 118 kann als Vielzahl von verschiedenen Contenterstellungs- oder Bearbeitungs-Apps von dritter Seite, Stimm-App-Entwicklungs-Apps, Entwicklungsumgebungen und dergleichen mehr implementiert sein.In connection with the presented environment 100 provides a development app 118 functionality available to a user of the computing device 102 (e.g. a developer) enables an app prototype 120 for an app, such as a software app, firmware, services, plug-ins, scripts and the like, to develop. In some cases, the app prototypes 120 for a voice support platform 106 , for example AmazonⓇ Show, which includes an integrated display screen. The app prototypes 120 however, can be designed for any type of app that includes voice-supported functionality. The development app 118 can be implemented as a development app, such as AdobeⓇ XD or AdobeⓇ Sketch. The development app 118 may be implemented as a variety of different third party content creation or editing apps, voice app development apps, development environments, and the like.

Die Entwicklungs-App 118 stellt verschiedene Schnittstellen und Steuerungen bzw. Regelungen bereit, die dem Nutzer ermöglichen, eine Abfolge von visuellen Pages 122 des App-Prototyps 120 zu entwickeln. Als Teil der Entwicklung der visuellen Pages 122 stellt die Entwicklungs-App 118 Werkzeuge bereit, die verschiedene Nutzerschnittstellensteuerungen bzw. Regelungen (beispielsweise auswählbare Schaltflächen und Dropdownlisten), Grafiken, Text und dergleichen mehr für den App-Prototyp 120 entwickeln und layouten. Der Nutzer kann beispielsweise eine Homepage für eine App wie auch andere visuelle Pages 122 entwickeln, auf die ein Endnutzer navigieren kann.The development app 118 provides various interfaces and controls that allow the user a sequence of visual pages 122 of the app prototype 120 to develop. As part of the development of the visual pages 122 provides the development app 118 Tools ready, the various user interface controls or regulations (for example selectable buttons and dropdown lists), graphics, text and the like for the app prototype 120 develop and lay out. For example, the user can have a homepage for an app as well as other visual pages 122 that an end user can navigate to.

Entsprechend den beschriebenen Techniken beinhaltet die Entwicklungs-App 118 des Weiteren ein Stimminteraktionswerkzeug 126, das das Zuordnen von Interaktionsdaten 124 in Form von Stimmbefehlen und gesprochenen Erwiderungen zu verschiedenen visuellen Pages 122 des App-Prototyps 120 vereinfacht. Zu diesem Zweck steuert bzw. regelt das Stimminteraktionswerkzeug 126 eine Entwicklungsschnittstelle der Entwicklungs-App 118, um eine Interaktionsschnittstelle bereitzustellen, die einen Auslöser und eine zugeordnete Handlung für eine visuelle Page 122 des App-Prototyps 120 empfängt. Im Sinne des Vorliegenden beinhalten Auslöser verschiedene Nutzerbefehle, die eine entsprechende Handlung auslösen können. Beispiele für Auslöser beinhalten Stimmbefehle, Nutzergesten (beispielsweise Antippen, Ziehen bzw. Dragging, Wischen, Tastdrücke) und Zeitverzögerungen, um nur einige wenige zu nennen. Beispiele für Handlungen beinhalten gesprochene Erwiderungen, Übergänge auf andere visuelle Pages des App-Prototyps und das Abspielen von Mediendateien (beispielsweise einer Videodatei), um nur einige wenige zu nennen.According to the techniques described, the development app includes 118 also a voice interaction tool 126 which is the mapping of interaction data 124 in the form of voice commands and spoken responses to various visual pages 122 of the app prototype 120 simplified. For this purpose, the voice interaction tool controls 126 a development interface of the development app 118 to provide an interaction interface that has a trigger and associated action for a visual page 122 of the app prototype 120 receives. In the sense of the present case, triggers contain various user commands which can trigger a corresponding action. Examples of triggers include voice commands, user gestures (e.g. tapping, dragging, swiping, key presses) and time delays, to name just a few. Examples of actions include spoken responses, transitions to other visual pages of the app prototype, and playing media files (such as a video file) to name a few.

In einigen Fällen ermöglicht die Interaktionsschnittstelle dem Nutzer, den Auslöser und eine zugeordnete Handlung aus einer Liste von definierten Auslösern und Handlungen auszuwählen. Sobald die Auswahl erfolgt ist, stellt der Nutzer eine Eingabe bereit, die den ausgewählten Auslöser und die Handlung beschreibt. Um beispielsweise einen Stimmbefehl einer bestimmten visuellen Page 122 des App-Prototyps 120 zuzuordnen, kann das Stimminteraktionswerkzeug 126 dem Nutzer ermöglichen, die bestimmte visuelle Page 122 (beispielsweise unter Nutzung einer Berührfunktionalität) auszuwählen und verschiedene Stimmbefehle oder gesprochene Erwiderungen, die der bestimmten visuellen Page entsprechen, über die Interaktionsschnittstelle zu spezifizieren (beispielsweise durch Eintippen der Befehle oder Erwiderungen, Sprechen der Befehle oder Erwiderungen in ein Mikrofon oder eine kommunikationstechnisch angekoppelte Vorrichtung und dergleichen mehr). Im Sinne des Vorliegenden beinhalten die Interaktionsdaten 124 Stimmbefehle und gesprochene Erwiderungen wie auch andere Arten von Auslösern (beispielsweise Nutzergesten und Zeitverzögerungen) und Handlungen (beispielsweise Page-Übergänge und Abspielen von Medien).In some cases, the interaction interface allows the user to select the trigger and an associated action from a list of defined triggers and actions. As soon as the selection has been made, the user provides an input which describes the selected trigger and the action. For example, to order a voice command from a specific visual page 122 of the app prototype 120 can assign the voice interaction tool 126 enable the user to view the particular visual page 122 (e.g. using a touch functionality) and select different voice commands or spoken ones Specify responses that correspond to the particular visual page via the interaction interface (for example, by typing the commands or responses, speaking the commands or responses into a microphone or a communication device, and the like). In the sense of the present, contain the interaction data 124 Voice commands and spoken responses, as well as other types of triggers (e.g. user gestures and time delays) and actions (e.g. page transitions and media playback).

Insbesondere ermöglicht die Entwicklungs-App 118 dem Nutzer, verschiedene andere Arten von Auslösern und Handlungen den visuellen Pages 122 des App-Prototyps 120 zuzuordnen. Der Nutzer kann beispielsweise Stimmbefehlsauslöser entsprechenden gesprochenen Erwiderungen zuordnen. Die Entwicklungs-App 118 ermöglicht dem Nutzer indes, Stimminteraktionen mit anderen Auslösern und Handlungen zu mischen und abzugleichen, und zwar beispielsweise indem ein Nutzergestenauslöser einer gesprochenen Erwiderung zugeordnet wird oder indem ein Stimmbefehl einem Übergang auf eine andere visuelle Page 122 des App-Prototyps 120 zugeordnet wird.In particular, the development app enables 118 the user, various other types of triggers and actions the visual pages 122 of the app prototype 120 assign. For example, the user can assign voice command triggers to corresponding spoken responses. The development app 118 enables the user, however, to mix and match voice interactions with other triggers and actions, for example by assigning a user gesture trigger to a spoken response or by a voice command moving to another visual page 122 of the app prototype 120 is assigned.

Als Teil der Vereinfachung der Entwicklung von stimmunterstützten Interaktionen für den App-Prototyp 120 kann das Stimminteraktionswerkzeug 126 die Funktionalität des Stimminteraktionsentwicklungssystems 104 einsetzen. In der dargestellten Umgebung 100 ist das Stimminteraktionsentwicklungssystem 104 mit einem Gesprochenes-zu-Text-Dienst 128 und einem Text-zu-Gesprochenem-Dienst 130 dargestellt. Allgemein stellt der Gesprochenes-zu-Text-Dienst 128 eine Funktionalität dafür dar, gesprochene Worte und Wendungen in den Stimmdaten, die von dem einen oder den mehreren Mikrofonen aufgenommen werden, zu identifizieren und die gesprochenen Worte und Wendungen in einen Textstring umzuwandeln. Der Text-zu-Gesprochenem-Dienst 130 stellt eine Funktionalität dafür dar, Textdaten (beispielsweise Textdaten, die über eine Nutzereingabe für eine Nutzerschnittstelle der Entwicklungs-App empfangen werden) zu einer gesprochenen Erwiderung zu verarbeiten. Der Gesprochenes-zu-Text-Dienst 128 und der Text-zu-Gesprochenem-Dienst 130 ermöglichen dem Nutzer daher, sowohl eine akustische wie auch eine Texteingabe für die Entwicklungs-App 118 während des Entwickelns und Testens des App-Prototyps 120 bereitzustellen. Obwohl das Stimminteraktionsentwicklungssystem 104 mit diesen speziellen Komponenten dargestellt ist, sollte einsichtig sein, dass es auch mehr, weniger und andere Komponenten, die die hier beschriebene Funktionalität bereitstellen, beinhalten oder über einen Zugriff auf diese verfügen kann, ohne vom Wesen oder Umfang des hier Beschriebenen abzugehen. In einigen Fällen können der Gesprochenes-zu-Text-Dienst 128 oder der Text-zu-Gesprochenem-Dienst 130 zusätzlich auf der Rechenvorrichtung 102 oder auf separaten Servern Dritter implementiert sein. Sind der Gesprochenes-zu-Text-Dienst 128 und der Text-zu-Gesprochenem-Dienst 130 als Dienste Dritter implementiert, so kann das Stimminteraktionswerkzeug 126 Autorisierungstokens einsetzen, um sichere Kommunikationskanäle zu dem Gesprochenes-zu-Text-Dienst 128 und dem Text-zu-Gesprochenem-Dienst 130 aufzubauen.As part of simplifying the development of voice-based interactions for the app prototype 120 can use the voice interaction tool 126 the functionality of the voice interaction development system 104 deploy. In the environment shown 100 is the voice interaction development system 104 with a voice-to-text service 128 and a text-to-speech service 130 shown. Generally speaking, the spoken-to-text service 128 provides functionality to identify spoken words and phrases in the voice data picked up by the one or more microphones and convert the spoken words and phrases into a text string. The text-to-speech service 130 represents a functionality for processing text data (for example text data that is received via a user input for a user interface of the development app) for a spoken reply. The spoken-to-text service 128 and the text-to-speech service 130 therefore allow the user both acoustic and text input for the development app 118 while developing and testing the app prototype 120 to provide. Although the voice interaction development system 104 depicted with these particular components, it should be appreciated that it may include, or have access to, more, fewer, and other components that provide the functionality described herein without departing from the spirit or scope of what is described herein. In some cases, the spoken-to-text service 128 or the text-to-speech service 130 additionally on the computing device 102 or implemented on separate third party servers. Are the spoken-to-text service 128 and the text-to-speech service 130 implemented as third party services, the voice interaction tool 126 Use authorization tokens to provide secure communication channels to the spoken-to-text service 128 and the text-to-speech service 130 build up.

Die Entwicklungs-App 118 ist des Weiteren mit einem Testmodul 132 implementiert, das ermöglicht, dass das Testen des stimmunterstützten App-Prototyps 120, der unter Nutzung der Entwicklungs-App 118 erstellt wird, ermöglicht wird. Zu diesem Zweck zeigt das Testmodul 132 eine erste visuelle Page (beispielsweise die Homepage) des App-Prototyps 120 in einer Testphase an. Interagiert ein Nutzer mit dem App-Prototyp 120, indem er beispielsweise einen Stimmbefehl spricht oder die visuelle Page 122 antippt, so veranlasst das Testmodul 132 in Echtzeit, dass die entsprechenden Handlungen, die den Auslösern zugeordnet sind, durchgeführt werden, und zwar beispielsweise durch Ausgeben einer gesprochenen Erwiderung, Übergehen auf eine andere visuelle Page, Initiieren des Abspielens von Medien oder durch eine Kombination hieraus. Auf diese Weise ermöglicht das beschriebene System dem Nutzer, mit dem App-Prototyp 120 während der Testphase zu interagieren, um sicherzustellen, dass der App-Prototyp absichtsgemäß funktioniert. Diese Vorgehensweise ermöglicht dem Nutzer, Probleme beim Entwickeln von stimmunterstützten Interaktionen vor der Entwicklungsphase zu identifizieren und anzugehen.The development app 118 is also with a test module 132 implemented, which enables testing of the voice-assisted app prototype 120 that using the development app 118 is created, made possible. For this purpose the test module shows 132 a first visual page (e.g. the homepage) of the app prototype 120 in a test phase. A user interacts with the app prototype 120 , for example by saying a voice command or the visual page 122 taps, the test module initiates 132 in real time that the appropriate actions associated with the triggers are performed, for example by spoken response, transitioning to another visual page, initiating media play, or a combination thereof. In this way, the system described enables the user with the app prototype 120 interact during the testing phase to ensure that the app prototype is working properly. This approach enables the user to identify and address problems in developing voice-assisted interactions before the development phase.

Das Stimminteraktionsentwicklungssystem 104 ist zudem mit einem phonetischen Sprachübersetzer 134 implementiert, der auf der Rechenvorrichtung 102 oder entfernt (remote) von der Rechenvorrichtung 102 (beispielsweise als Clouddienst) implementiert sein kann. Im Allgemeinen ist der phonetische Stimm- bzw. Sprachübersetzer 134 dafür konfiguriert, Textstrings in einem nichtphonetischen Alphabet zu erhalten und den nichtphonetischen Textstring in einen phonetischen Textstring in einer anderen Sprache oder Schrift umzuwandeln. Der phonetische Sprachübersetzer kann beispielsweise Romanisierungstechniken einsetzen, um Textstrings in nichtphonetischen Alphabeten in römische/lateinische Schrift umzuwandeln. Zu diesem Zweck kann der phonetische Sprachübersetzer Transliterationstechniken, um geschriebenen Text darzustellen, und Transkriptionstechniken, um gesprochene Worte darzustellen, einsetzen. Unterteilt werden können Transkriptionsverfahren in die phonemische Transkription, die die Phoneme oder Einheiten mit semantischer Bedeutung im Gesprochenen aufzeichnet, und die strengere phonetische Transkription, die gesprochene Laute genau aufzeichnet.The voice interaction development system 104 is also with a phonetic language translator 134 implemented on the computing device 102 or remote from the computing device 102 (for example as a cloud service) can be implemented. In general, the phonetic voice or language translator 134 configured to get text strings in a non-phonetic alphabet and convert the non-phonetic text string to a phonetic text string in another language or font. For example, the phonetic language translator can use romanization techniques to convert text strings in non-phonetic alphabets to Roman / Latin script. To this end, the phonetic speech translator can use transliteration techniques to represent written text and transcription techniques to represent spoken words. Transcription methods can be divided into the phonemic transcription, which records the phonemes or units with semantic meaning in the spoken, and the stricter phonetic transcription that accurately records spoken sounds.

Der phonetische Sprachumwandler bzw. Sprachübersetzer 134 kann dafür eingesetzt werden, Textstrings in einer Vielzahl von verschiedenen Typen von nichtphonetischen Sprachen in phonetische Fassungen der Textstrings umzuwandeln. Bei einem Beispiel kann der phonetische Sprachübersetzer dafür konfiguriert sein, Mandarin-Chinesisch, das oftmals unter Nutzung chinesischer Zeichen geschrieben wird, in die als „Pinyin“ bekannte romanisierte Fassung des Chinesischen zu übersetzen. Bei einem weiteren Beispiel kann der phonetische Sprachübersetzer dafür konfiguriert sein, Japanisch, das üblicherweise in einer Kombination aus ursprünglich aus dem Chinesischen entlehnten logographischen Zeichen (Kanji) und ursprünglich ebenfalls aus chinesischen Zeichen abgeleiteten silbenbasierten Schriften (Kana) geschrieben wird, in Romaji zu übersetzen. Für das Japanische sind mehrere verschiedene Typen von Romanisierungssystemen vorhanden, die die Hepburn-Romanisierung (am häufigsten verwendet), die Kunrei-shiki-Romanisierung und die Nihon-shiki-Romanisierung beinhalten. Insbesondere kann das Stimminteraktionsentwicklungssystem 104 eine Vielzahl von verschiedenen Typen von Romanisierungstechniken einsetzen, um Text, der in einer Vielzahl von verschiedenen Sprachen empfangen wird, in eine phonetische Standardfassung des Textes umzuwandeln.The phonetic language converter or language translator 134 can be used to convert text strings in a variety of different types from non-phonetic languages to phonetic versions of the text strings. In one example, the phonetic language translator can be configured to translate Mandarin Chinese, which is often written using Chinese characters, into the Romanized version of Chinese known as "Pinyin". In a further example, the phonetic language translator can be configured to translate Japanese, which is usually written in a combination of logographic characters (Kanji) originally derived from Chinese and syllable-based fonts (Kana) originally derived from Chinese characters, into Romaji. For Japanese, there are several different types of romanization systems that include Hepburn Romanization (most commonly used), Kunrei-shiki Romanization, and Nihon-shiki Romanization. In particular, the voice interaction development system 104 use a variety of different types of romanization techniques to convert text received in a variety of different languages into a standard phonetic version of the text.

Nachdem der App-Prototyp 120 entwickelt und getestet worden ist, kann die Entwicklungs-App 118 eine Entwicklungsspezifikation generieren, die für einen App-Realisierer bereitgestellt wird, damit dieser die App realisieren kann. Alternativ kann die Entwicklungs-App 118 dafür implementiert sein, eine ausführbare App zum Abschluss des Entwicklungs- und Testprozesses zu generieren. Bei diesem Szenario kann der App-Prototyp 120 automatisch in eine ausführbare App, die die visuellen Pages 122 und die Interaktionsdaten 124 des App-Prototyps 120 beinhaltet, kompiliert werden (oder für ein Realisierungswerkzeug Dritter, das die ausführbare App generiert, bereitgestellt werden). Auf diese Weise ermöglicht die Entwicklungs-App 118 Nutzern, vollständig funktionsfähige stimmunterstützte Apps unter Nutzung der Entwicklungs-App 118 sogar in Fällen zu generieren, in denen der Nutzer nur über sehr geringe Kenntnisse darüber, wie stimmunterstützte Apps realisiert werden, verfügt. Indem Stimminteraktionen für App-Prototypen ermöglicht werden, ermöglichen die beschriebenen Techniken Entwicklern, stimmunterstützte Apps, die visuelle Schnittstellen beinhalten, zu entwickeln.After the app prototype 120 has been developed and tested, the development app 118 Generate a development specification that is provided for an app developer so that the app can be implemented. Alternatively, the development app 118 implemented to generate an executable app to complete the development and test process. In this scenario, the app prototype can 120 automatically into an executable app that displays the visual pages 122 and the interaction data 124 of the app prototype 120 includes, be compiled (or provided for a third-party implementation tool that generates the executable app). In this way, the development app enables 118 Users, fully functional voice-supported apps using the development app 118 even in cases where the user has very little knowledge of how voice-supported apps are implemented. By enabling voice interactions for app prototypes, the techniques described enable developers to develop voice-assisted apps that include visual interfaces.

Nach erfolgter Betrachtung einer exemplarischen Umgebung folgt nunmehr eine Diskussion einiger exemplarischer Details der Techniken für ein Stimminteraktionswerkzeug für stimmunterstützte App-Prototypen in einer Digitalmedienumgebung entsprechend einer oder mehreren Implementierungen.After considering an exemplary environment, a discussion of some exemplary details of the techniques for a voice interaction tool for voice-assisted app prototypes in a digital media environment follows in accordance with one or more implementations.

2 zeigt eine exemplarische Implementierung 200, bei der das Stimminteraktionswerkzeug von 1 Zuordnungen zwischen Interaktionsdaten und visuellen Pages eines App-Prototyps generiert und die Interaktionsdaten und die visuellen Pages vorhält. Das dargestellte Beispiel 200 beinhaltet das Stimminteraktionswerkzeug 126 der Entwicklungs-App 118 aus 1. 2nd shows an exemplary implementation 200 where the voice interaction tool from 1 Mappings between interaction data and visual pages of an app prototype are generated and the interaction data and the visual pages are kept. The illustrated example 200 includes the voice interaction tool 126 the development app 118 out 1 .

Bei Beispiel 200 ist das Stimminteraktionswerkzeug 126 derart dargestellt, dass es eine Nutzereingabe 202 erhält. Die Nutzereingabe 202 kann von dem Stimminteraktionswerkzeug 126 über eine Nutzerschnittstelle der Entwicklungs-App 118, so beispielsweise eine Nutzerschnittstelle, die ähnlich zu den anhand von 4 und 5 erläuterten ist, empfangen werden. In einigen Fällen kann die Nutzereingabe 202 einer Stimmeingabe entsprechen, die von einem oder mehreren Mikrofonen aufgenommen wird. Allgemein identifiziert die Nutzereingabe einen Auslöser und eine entsprechende Handlung, die einer visuellen Page 122 des App-Prototyps 120 zugeordnet ist. Wie hier beschrieben wird, beinhalten die Auslöser verschiedene Nutzerbefehle, die eine entsprechende Handlung auslösen können.In example 200 is the voice interaction tool 126 presented such that there is user input 202 receives. The user input 202 can from the voice interaction tool 126 via a user interface of the development app 118 , for example a user interface that is similar to the one based on 4th and 5 is to be received. In some cases, user input 202 correspond to a voice input that is recorded by one or more microphones. Generally, the user input identifies a trigger and a corresponding action that a visual page 122 of the app prototype 120 assigned. As described here, the triggers contain various user commands that can trigger a corresponding action.

Auf Grundlage der Nutzereingabe 202 generiert das Stimminteraktionswerkzeug 126 zugeordnete Interaktionsdaten 204, die die Zuordnung zwischen den Interaktionsdaten 124 (beispielsweise Auslöser und Handlungen) und jeweiligen visuellen Pages 122 beschreiben. Diese zugeordneten Interaktionsdaten 204 können von der Entwicklungs-App 118 derart vorgehalten werden, dass die der jeweiligen visuellen Page 122 zugeordneten Interaktionsdaten auf Grundlage einer Detektion des Auslösers aus einem Speicher 206 abgerufen werden können.Based on user input 202 generates the voice interaction tool 126 associated interaction data 204 that the mapping between the interaction data 124 (e.g. triggers and actions) and respective visual pages 122 describe. This associated interaction data 204 can from the development app 118 are provided in such a way that those of the respective visual page 122 assigned interaction data based on a detection of the trigger from a memory 206 can be accessed.

Der Speicher 206 kann lokal auf der Rechenvorrichtung 102 implementiert sein. Das Stimminteraktionswerkzeug kann beispielsweise eine Datei für den App-Prototyp 120 generieren, die die Interaktionsdaten 124 und die zugeordneten visuellen Pages 122 beinhaltet, und veranlassen, dass die Datei in dem Speicher 206 der Rechenvorrichtung 102 gespeichert wird. Diese Vorgehensweise ermöglicht, dass die Interaktionsdaten 124, die den jeweiligen visuellen Pages 122 zugeordnet sind, auf Grundlage einer Identifikation des Auslösers während einer Testphase des App-Prototyps 120 aus dem Speicher abgerufen werden. Alternativ oder zusätzlich können die Interaktionsdaten 124 und die zugeordneten visuellen Pages 122 in einem Remote-Speicher des Stimminteraktionsentwicklungssystems 104 vorgehalten werden. Bei einer oder mehreren Implementierungen können die Dateien, die lokal auf der Clientvorrichtung gespeichert sind, mit den zugeordneten Interaktionsdaten, die entfernt (remote) in dem Speicher des Stimminteraktionsentwicklungssystems gespeichert sind, synchronisiert sein.The memory 206 can be local to the computing device 102 be implemented. For example, the voice interaction tool can be a file for the app prototype 120 generate that the interaction data 124 and the associated visual pages 122 and cause the file to be in memory 206 the computing device 102 is saved. This procedure enables the interaction data 124 that correspond to the respective visual pages 122 are assigned, based on an identification of the trigger during a test phase of the app prototype 120 be retrieved from memory. Alternatively or additionally, the interaction data 124 and the associated visual pages 122 in a remote memory of the voice interaction development system 104 be held up. In one or more implementations For example, the files that are stored locally on the client device can be synchronized with the associated interaction data that is stored remotely in the memory of the voice interaction development system.

Die Interaktionsdaten 124 beinhalten Auslöser 208 und entsprechende Handlungen 210. Beim vorliegenden Beispiel beinhalten die Auslöser 208 Stimmbefehle 212, Nutzergesten 214 (beispielsweise Antippen, Ziehen bzw. Dragging, Wischen oder Tastendrücke) und Zeitverzögerungen 216, während die Handlungen gesprochene Erwiderungen 218, Page-Übergänge 220 und eine Medienausgabe 222 beinhalten. In einigen Fällen stellt die Entwicklungs-App 118 eine Interaktionsschnittstelle bereit, die dem Nutzer ermöglicht, den Auslöser und die zugeordnete Handlung aus einer Liste von definierten Auslösern und Handlungen auszuwählen. Sobald die Auswahl erfolgt ist, stellt der Nutzer eine Eingabe bereit, die den ausgewählten Auslöser und die Handlung beschreibt. Um beispielsweise einen Stimmbefehl einer bestimmten visuellen Page 122 des App-Prototyps 120 zuzuordnen, kann das Stimminteraktionswerkzeug 126 dem Nutzer ermöglichen, die bestimmte visuelle Page 122 (beispielsweise unter Nutzung einer Berührfunktionalität) auszuwählen und verschiedene Stimmbefehle 212 oder gesprochene Erwiderungen 218, die dem bestimmten Element entsprechen, über die Interaktionsschnittstelle zu spezifizieren (beispielsweise durch Eintippen der Befehle oder Erwiderungen, Sprechen der Befehle oder Erwiderungen in ein Mikrofon oder eine kommunikationstechnisch angekoppelte Vorrichtung und dergleichen mehr). Die Stimmbefehle können als Tondaten oder Textdaten konfiguriert sein, die das von einem Nutzer Gesprochene für eine Stimmunterstützungsvorrichtung angeben. Die gesprochene Erwiderung stellt die akustische Ausgabe in Erwiderung auf den Empfang des Stimmbefehls, beispielsweise des akustisch Gesprochenen, dar. Wird ein Stimmbefehl 212 als Stimmeingabe von dem Nutzer über ein Mikrofon empfangen, so kann der Gesprochenes-zu-Text-Dienst 128 dafür eingesetzt werden, den aufgenommenen Ton in einen Textstring umzuwandeln. Bei einer oder mehreren Implementierungen kann das Stimminteraktionswerkzeug 126 mehrere Variationen des Stimmbefehls 212 generieren. Wird beispielsweise der Stimmbefehl 212 „Wie wird morgen das Wetter“ empfangen, so kann das Stimminteraktionswerkzeug 126 mehrere Variationen dieses Stimmbefehls generieren, so beispielsweise „Wie wird das Wetter morgen sein“, „Regnet es morgen“, „Wird morgen die Sonne scheinen“, „Wie heiß wird es morgen werden“ und dergleichen mehr.The interaction data 124 include triggers 208 and corresponding actions 210 . In the present example, the triggers include 208 Voice commands 212 , User gestures 214 (such as tapping, dragging, swiping, or pressing a key) and time delays 216 while the actions are spoken responses 218 , Page transitions 220 and a media issue 222 include. In some cases, the development app provides 118 an interaction interface that enables the user to select the trigger and the associated action from a list of defined triggers and actions. As soon as the selection has been made, the user provides an input which describes the selected trigger and the action. For example, to order a voice command from a specific visual page 122 of the app prototype 120 can assign the voice interaction tool 126 enable the user to view the particular visual page 122 (e.g. using a touch functionality) and select different voice commands 212 or spoken responses 218 that correspond to the particular element, via the interaction interface (for example, by typing the commands or responses, speaking the commands or responses into a microphone or a communication device, and the like). The voice commands can be configured as sound data or text data indicating what a user speaks for a voice support device. The spoken reply represents the acoustic output in response to the receipt of the voice command, for example of the acoustically spoken voice. It becomes a voice command 212 received as voice input from the user via a microphone, so the spoken-to-text service 128 can be used to convert the recorded sound into a text string. In one or more implementations, the voice interaction tool can 126 several variations of the voice command 212 to generate. For example, the voice command 212 "How will the weather be received tomorrow," is how the voice interaction tool can 126 Generate several variations of this voice command, such as "How will the weather be tomorrow", "Will it rain tomorrow", "Will the sun shine tomorrow", "How hot will it be tomorrow" and the like.

Bei einer oder mehreren Implementierungen kann das Stimminteraktionswerkzeug 126 Stimmbefehle 212 als Texteingabe in einem nichtphonetischen Alphabet, so beispielsweise Mandarin-Chinesisch oder Kanji, empfangen. Bei diesem Szenario kann das Stimminteraktionswerkzeug 126 die Stimmbefehle 212 als nichtphonetische Textstrings in dem Speicher 206 bis zur Testphase des App-Prototyps speichern. Alternativ können die nichtphonetischen Textstrings der Stimmbefehle 206 in einigen Fällen von dem phonetischen Sprachübersetzer 134 vor dem Speichern des Textstrings in dem Speicher 206 in phonetische Fassungen des Textstrings umgewandelt werden. Bei diesem Szenario werden die phonetischen Fassungen der Textstrings in dem Speicher 206 gespeichert.In one or more implementations, the voice interaction tool can 126 Voice commands 212 received as text input in a non-phonetic alphabet, such as Mandarin Chinese or Kanji. In this scenario, the voice interaction tool 126 the voice commands 212 as non-phonetic text strings in memory 206 save until the test phase of the app prototype. Alternatively, the non-phonetic text strings of the voice commands 206 in some cases by the phonetic translator 134 before saving the text string in memory 206 can be converted into phonetic versions of the text string. In this scenario, the phonetic versions of the text strings are in memory 206 saved.

Die beschriebenen Techniken ermöglichen zudem, dass der Nutzer mit dem App-Prototyp 120 während einer Testphase interagiert. In diesem Zusammenhang betrachte man 3, wo eine exemplarische Implementierung 300 dargestellt ist, bei der das Testmodul der Entwicklungs-App von 1 das Testen des App-Prototyps vereinfacht. Das dargestellte Beispiel 300 beinhaltet das Testmodul 132, den Gesprochenes-zu-Text-Dienst 128 und den Text-zu-Gesprochenem-Dienst 130 aus 1.The techniques described also allow the user to prototype the app 120 interacts during a test phase. In this context, consider 3rd where an exemplary implementation 300 is shown, in which the test module of the development app from 1 testing the app prototype simplified. The illustrated example 300 contains the test module 132 , the spoken-to-text service 128 and the text-to-speech service 130 out 1 .

In der Testphase initiiert das Testmodul 132 die Anzeige einer ersten visuellen Page 122 (beispielsweise einer Homepage) des App-Prototyps 120. Während der Anzeige der ersten visuellen Page 122 interagiert ein Nutzer mit dem App-Prototyp 120, und zwar beispielsweise durch Sprechen eines Stimmbefehls oder Antippen der visuellen Page 122, und das Testmodul 132 erhält auf Grundlage der Nutzerinteraktion in Echtzeit einen Auslöser 302. Das Testmodul 132 ist derart dargestellt, dass es ein Verarbeitungsmodul 304 beinhaltet, das eine Funktionalität darstellt, die Nutzerinteraktionen verarbeitet, um den Auslöser 302, so beispielsweise einen Stimmbefehl 306, eine Nutzergeste 308 oder eine Zeitverzögerung 310, zu identifizieren.The test module initiates in the test phase 132 the display of a first visual page 122 (e.g. a homepage) of the app prototype 120 . While displaying the first visual page 122 a user interacts with the app prototype 120 , for example by saying a voice command or tapping the visual page 122 , and the test module 132 receives a trigger based on real-time user interaction 302 . The test module 132 is shown such that it is a processing module 304 that represents functionality that processes user interactions around the trigger 302 , such as a voice command 306 , a user gesture 308 or a time delay 310 , to identify.

Das Verarbeitungsmodul 304 vergleicht den identifizierten Auslöser 302 mit den zugeordneten Interaktionsdaten 204, um einen passenden Auslöser zu identifizieren. Das Anfrage- bzw. Anforderungsverarbeitungsmodul 304 vergleicht den Stimmbefehl 306 oder die Nutzergeste 308 beispielsweise mit den gespeicherten Stimmenbefehlen 212 beziehungsweise den Nutzergesten 214 der zugeordneten Interaktionsdaten 204. Um den passenden Auslöser zu identifizieren, kann das Verarbeitungsmodul 304 eine Vielzahl von Techniken einsetzen, so beispielsweise eindeutige Identifizierer, Hashes, textbasierte Suchen und dergleichen mehr. Zusätzlich kann das Verarbeitungsmodul 304 fortlaufend Zeitverzögerungsauslöser überwachen, wenn eine neue visuelle Page angezeigt wird.The processing module 304 compares the identified trigger 302 with the assigned interaction data 204 to identify a suitable trigger. The request processing module 304 compares the voice command 306 or the user gesture 308 for example with the saved voice commands 212 or the user gestures 214 the associated interaction data 204 . The processing module can be used to identify the suitable trigger 304 use a variety of techniques, such as unique identifiers, hashes, text-based searches, and the like. In addition, the processing module 304 continuously monitor time delay triggers when a new visual page is displayed.

Wird der Auslöser 302 als Stimmbefehl 306 empfangen, so stellt das Verarbeitungsmodul 304 die Tondaten des Stimmbefehls 306 für den Gesprochenes-zu-Text-Dienst 128 bereit. Der Gesprochenes-zu-Text-Dienst 128 verarbeitet die Tondaten in Echtzeit, um die Tondaten des Stimmbefehls 306 in einen Textstring umzuwandeln. Das Verarbeitungsmodul 304 erhält den Textstring des Stimmbefehls 306 von dem Gesprochenes-zu-Text-Dienst 128 und vergleicht den Textstring des Stimmbefehls 306 mit den gespeicherten Textstrings der Stimmbefehle 212, um einen passenden Stimmbefehl zu identifizieren.Becomes the trigger 302 as a voice command 306 received, so the processing module 304 the sound data of the voice command 306 for the Spoken-to-text service 128 ready. The spoken-to-text service 128 processes the sound data in real time to the sound data of the voice command 306 convert to a text string. The processing module 304 receives the text string of the voice command 306 from the spoken-to-text service 128 and compares the text string of the voice command 306 with the stored text strings of the voice commands 212 to identify a suitable voice command.

Das Verarbeitungsmodul 304 kann einen passenden Stimmbefehl identifizieren, indem es die Buchstaben des Textstrings des empfangenen Stimmbefehls 306 mit Buchstaben der Textstrings der gespeicherten Stimmbefehle 212 vergleicht. Eine höhere Anzahl von passenden Buchstaben gibt eine höhere Wahrscheinlichkeit für einen Treffer an. Beinhaltet der Befehl beispielsweise das Wort „Maus“ (mouse), so kann das Verarbeitungsmodul 304 das Wort „Haus“ (house) als passend zu „Maus“ (mouse) identifizieren, da die Worte vier passende Zeichen aufweisen. In einigen Fällen beinhaltet der Gesprochenes-zu-Text-Dienst 128 einen Zuverlässigkeitskennwert mit dem Textstring, der einen Grad der Zuverlässigkeit dahingehend, dass der Textstring richtig ist, angibt. Der Zuverlässigkeitskennwert unterstützt das Verarbeitungsmodul 304 beim Identifizieren eines passenden Stimmbefehls. Bei einer oder mehreren Implementierungen ist das Verarbeitungsmodul 304 dafür konfiguriert, den passenden Textstring mit niedriger Toleranz auszuwählen, um dem Nutzer zu ermöglichen, einfacher mit dem App-Prototyp zu interagieren.The processing module 304 can identify a suitable voice command by typing the letters of the text string of the received voice command 306 with letters of the text strings of the saved voice commands 212 compares. A higher number of matching letters indicates a higher probability of a hit. For example, if the command contains the word "mouse", the processing module can 304 identify the word "house" as matching "mouse" because the words have four matching characters. In some cases, the spoken-to-text service includes 128 a reliability score with the text string that indicates a degree of reliability that the text string is correct. The processing module supports the reliability parameter 304 when identifying a suitable voice command. In one or more implementations, the processing module is 304 Configured to select the appropriate low tolerance text string to allow the user to more easily interact with the app prototype.

In Erwiderung auf eine Detektion dessen, dass der Auslöser 302 zu dem gespeicherten Auslöser 208 der zugeordneten Interaktionsdaten 204 passt, identifiziert das Verarbeitungsmodul 304 die entsprechende Handlung 210, die dem Auslöser in den zugeordneten Interaktionsdaten 204 zugeordnet ist. Eine Handlung 312, die einer gesprochenen Erwiderung 314, einem Page-Übergang 316 oder einer Medienausgabe 318 entspricht, wird sodann an ein Durchführungsmodul 320 weitergeleitet. Das Durchführungsmodul 320 veranlasst, dass die entsprechende Handlung 312, die dem identifizierten Auslöser zugeordnet ist, durchgeführt wird, und zwar beispielsweise durch Ausgeben der gesprochenen Erwiderung 314, Durchführen eines Page-Überganges 316 auf eine andere visuelle Page, Ausgeben von Ton- oder Videocontent oder durch eine Kombination hieraus.In response to a detection of that the trigger 302 to the saved trigger 208 the associated interaction data 204 matches, the processing module identifies 304 the corresponding action 210 that the trigger in the associated interaction data 204 assigned. An action 312 having a spoken reply 314 , a page transition 316 or a media issue 318 corresponds to an implementation module 320 forwarded. The implementation module 320 causes the appropriate action 312 associated with the identified trigger is performed, for example, by outputting the spoken response 314 , Make a page transition 316 to another visual page, output of sound or video content or a combination of these.

Entspricht die Handlung 312 einer gesprochenen Erwiderung 314, so kann das Durchführungsmodul den Textstring der gesprochenen Erwiderung 314 in Echtzeit für den Text-zu-Gesprochenem-Dienst 130 bereitstellen. Der Text-zu-Gesprochenem-Dienst 130 wandelt den Textstring der gesprochenen Erwiderung 314 in Tondaten, die der gesprochenen Erwiderung 314 entsprechen, um. Das Durchführungsmodul 320 veranlasst sodann die Ausgabe der Tondaten, die der gesprochenen Erwiderung 314 entsprechen.Corresponds to the action 312 a spoken reply 314 , the implementation module can use the text string of the spoken reply 314 in real time for the text-to-speech service 130 provide. The text-to-speech service 130 converts the text string of the spoken reply 314 in sound data, that of the spoken reply 314 correspond to. The implementation module 320 then causes the output of the sound data, that of the spoken reply 314 correspond.

Auf diese Weise ermöglicht das beschriebene System dem Nutzer, während der Testphase mit dem App-Prototyp 120 zu interagieren, um sicherzustellen, dass der App-Prototyp 120 absichtsgemäß funktioniert. Diese Vorgehensweise ermöglicht dem Nutzer, Probleme beim Entwickeln des stimmunterstützten App-Prototyps 120 vor der Realisierungsphase zu identifizieren und anzugehen.In this way, the system described enables the user to test the app prototype during the test phase 120 to interact to make sure the app prototype 120 works on purpose. This approach enables the user to have problems developing the voice-assisted app prototype 120 to identify and address before the implementation phase.

Insbesondere kann das Testmodul 132 beim Abgleichen von Stimmbefehlen einen passenden Stimmbefehl auf Grundlage der Anzahl von Buchstaben, die der Textstring des Stimmbefehls mit den Textstrings der gespeicherten Stimmbefehle gemeinsam hat, auswählen. Diese Vorgehensweise funktioniert bei Sprachen mit phonetischen Alphabeten wie Englisch, da das Abgleichen der gemeinsamen Zeichen der Lautung der Worte nahekommt. Bei Sprachen mit „nichtphonetischen“ Alphabeten wie Mandarin-Chinesisch und Japanischen mit Blick auf das Kanji-Alphabet funktioniert diese Abgleichstechnik nicht mehr, da Worte, die gleichklingen, nicht einfach buchstabenweise verglichen werden können.In particular, the test module 132 when matching voice commands, select a suitable voice command based on the number of letters that the text string of the voice command has in common with the text strings of the stored voice commands. This approach works for languages with phonetic alphabets such as English, since matching the common characters comes close to saying the words. In languages with "non-phonetic" alphabets such as Mandarin Chinese and Japanese with a view to the Kanji alphabet, this matching technique no longer works because words that sound the same cannot simply be compared letter by letter.

In diesem Zusammenhang betrachte man 4, die eine exemplarische Implementierung 400 darstellt, bei der das Testmodul der Entwicklungs-App von 1 einen phonetischen Sprachübersetzer einsetzt, um Stimmbefehle, die während des Testens des App-Prototyps aufgenommen werden, abzugleichen. Das dargestellte Beispiel 400 beinhaltet das Testmodul 132, den Gesprochenes-zu-Text-Dienst 128 und den phonetischen Sprachübersetzer 134 aus 1.In this context, consider 4th which is an exemplary implementation 400 where the test module of the development app from 1 uses a phonetic language translator to match voice commands that are recorded while testing the app prototype. The illustrated example 400 contains the test module 132 , the spoken-to-text service 128 and the phonetic language translator 134 out 1 .

In der Testphase initiiert das Testmodul 132 die Anzeige einer ersten visuellen Page 122 (beispielsweise einer Homepage) des App-Prototyps 120. Während der Anzeige der ersten visuellen Page 122 interagiert ein Nutzer mit dem App-Prototyp 120 durch Sprechen eines nichtphonetischen Stimmbefehls 402. Wie hier beschrieben wird, entspricht der nichtphonetische Stimmbefehl 402 einem Stimmbefehl, der in einer Sprache mit einem nichtphonetischen Alphabet gesprochen wird, so beispielsweise Mandarin-Chinesisch oder Japanisch mit Blick auf das Kanji-Alphabet. Der nichtphonetische Stimmbefehl 402 wird von wenigstens einem Mikrofon als Tondaten aufgenommen.The test module initiates in the test phase 132 the display of a first visual page 122 (e.g. a homepage) of the app prototype 120 . While displaying the first visual page 122 a user interacts with the app prototype 120 by speaking a non-phonetic voice command 402 . As described here, the nonphonetic voice command corresponds 402 a voice command spoken in a language with a non-phonetic alphabet, such as Mandarin Chinese or Japanese with a view of the Kanji alphabet. The nonphonetic voice command 402 is recorded by at least one microphone as sound data.

Das Testmodul 132 kommuniziert die Tondaten des aufgenommenen nichtphonetischen Stimmbefehls 402 an den Gesprochenes-zu-Text-Dienst 128. Der Gesprochenes-zu-Text-Dienst 128 verarbeitet in Echtzeit die Tondaten des nichtphonetischen Stimmbefehls 402, um die Tondaten des nichtphonetischen Stimmbefehls 402 in einen in der Sprache des nichtphonetischen Alphabets gegebenen nichtphonetischen Textstring 404 des aufgenommenen Stimmbefehls umzuwandeln.The test module 132 communicates the sound data of the recorded non-phonetic voice command 402 to the spoken-to-text service 128 . The spoken-to-text service 128 processes the sound data of the non-phonetic in real time Voice command 402 to the sound data of the non-phonetic voice command 402 in a non-phonetic text string given in the language of the non-phonetic alphabet 404 convert the recorded voice command.

Das Testmodul 132 kommuniziert den nichtphonetischen Textstring 404 an den phonetischen Sprachübersetzer 134. Der phonetische Sprachübersetzer 134 übersetzt den nichtphonetischen Textstring 404 des aufgenommenen Stimmbefehls in einen phonetischen Textstring 406 des aufgenommenen Stimmbefehls, der in einem phonetischen Alphabet wie Pinyin oder Romaji geschrieben ist. Zusätzlich erhält der phonetische Sprachübersetzer 134 während der Testphase in dem nichtphonetischen Alphabet gegebene nichtphonetische Textstrings 410 der gespeicherten Stimmbefehle 408. Die gespeicherten Stimmbefehle 408 können beispielsweise den Stimmbefehlen 212, die in dem Speicher 206 vorgehalten werden, entsprechen. Der phonetische Sprachübersetzer 134 übersetzt die nichtphonetischen Textstrings 410 der gespeicherten Stimmbefehle 408 in in dem phonetischen Alphabet gegebene phonetische Textstrings 412 der gespeicherten Stimmbefehle 408. Alternativ kann der phonetische Sprachübersetzer 134 die phonetischen Textstrings 410 der gespeicherten Stimmbefehle 408 vor der Testphase in phonetische Textstrings 412 der gespeicherten Stimmbefehle 408 übersetzen. In diesem Fall können die phonetischen Textstrings 412 in dem Speicher vorgehalten werden.The test module 132 communicates the non-phonetic text string 404 to the phonetic translator 134 . The phonetic language translator 134 translates the non-phonetic text string 404 the recorded voice command in a phonetic text string 406 the recorded voice command, which is written in a phonetic alphabet such as Pinyin or Romaji. In addition, the phonetic language translator receives 134 non-phonetic text strings given in the non-phonetic alphabet during the test phase 410 the stored voice commands 408 . The saved voice commands 408 can, for example, the voice commands 212 that are in the store 206 be held up to correspond. The phonetic language translator 134 translates the non-phonetic text strings 410 the stored voice commands 408 in phonetic text strings given in the phonetic alphabet 412 the stored voice commands 408 . Alternatively, the phonetic language translator 134 the phonetic text strings 410 the stored voice commands 408 before the test phase in phonetic text strings 412 the stored voice commands 408 translate. In this case, the phonetic text strings 412 are held in the memory.

Ein Phonetikvergleichsmodul 414 des Testmoduls 132 erhält den phonetischen Textstring 406 des aufgenommenen Stimmbefehls 402 und die phonetischen Textstrings 412 der gespeicherten Stimmbefehle 408. Das Phonetikvergleichsmodul 414 vergleicht den phonetischen Textstring 406 sodann mit den phonetischen Textstrings 412, um einen passenden Stimmbefehl 416 der phonetischen Textstrings 412 entsprechend den gespeicherten Stimmbefehlen zu identifizieren. Das Phonetikvergleichsmodul 414 kann den passenden Stimmbefehl 416 identifizieren, indem es die Buchstaben des phonetischen Textstrings 406 mit denjenigen der phonetischen Textstrings 412 der gespeicherten Stimmbefehle 408 vergleicht. Da die phonetischen Textstrings 406 und 412 in eine phonetische Schrift übersetzt worden sind, kann das Phonetikvergleichsmodul 414 den passenden Stimmbefehl 416 auf Grundlage der Anzahl der Buchstaben, die der passende Stimmbefehl 416 mit dem aufgenommenen Stimmbefehl gemeinsam hat, auswählen. Eine höhere Anzahl von passenden Buchstaben gibt eine höhere Wahrscheinlichkeit für einen Treffer an, da beide Textstrings in einer phonetischen Schrift geschrieben sind.A phonetic comparison module 414 of the test module 132 receives the phonetic text string 406 of the recorded voice command 402 and the phonetic text strings 412 the stored voice commands 408 . The phonetic comparison module 414 compares the phonetic text string 406 then with the phonetic text strings 412 to a matching voice command 416 the phonetic text strings 412 to identify according to the stored voice commands. The phonetic comparison module 414 can the matching voice command 416 identify it by the letters of the phonetic text string 406 with those of the phonetic text strings 412 the stored voice commands 408 compares. Because the phonetic text strings 406 and 412 The phonetic comparison module can be translated into a phonetic script 414 the appropriate voice command 416 based on the number of letters that match the voice command 416 in common with the recorded voice command. A higher number of matching letters indicates a higher probability of a hit, since both text strings are written in a phonetic font.

Sobald der passende Stimmbefehl 416 von dem Phonetikvergleichsmodul 414 identifiziert worden ist, initiiert das Testmodul die Durchführung der zugeordneten Handlung, wie hier beschrieben wird.As soon as the appropriate voice command 416 from the phonetic comparison module 414 has been identified, the test module initiates the execution of the assigned action, as described here.

5A bis 5C zeigen ein Beispiel 500 für eine Entwicklungsnutzerschnittstelle einer Entwicklungs-App, die zum Entwickeln eines stimmunterstützten App-Prototyps benutzt wird. 5A to 5C FIG. 5 shows an example 500 of a development user interface of a development app that is used to develop a voice-assisted app prototype.

In 5A wird eine Entwicklungsschnittstelle 502 der Entwicklungs-App 118 mittels einer Anzeigevorrichtung 504 angezeigt. Die Entwicklungsschnittstelle 502 ist derart dargestellt, dass sie eine erste visuelle Page 506 und eine zweite visuelle Page 508 beinhaltet. Die erste visuelle Page 506 und die zweite visuelle Page 508 können von einem Nutzer, der die Entwicklungs-App 118 nutzt, entwickelt oder aus einer anderen Entwicklungs-App importiert werden. Insbesondere kann die Entwicklungsschnittstelle 502 von dem Nutzer eingesetzt werden, um eine beliebige Anzahl von verschiedenen visuellen Pages zu generieren.In 5A becomes a development interface 502 the development app 118 by means of a display device 504 displayed. The development interface 502 is shown in such a way that it provides a first visual page 506 and a second visual page 508 includes. The first visual page 506 and the second visual page 508 can by a user who uses the development app 118 uses, developed or imported from another development app. In particular, the development interface 502 used by the user to generate any number of different visual pages.

Das dargestellte Beispiel 500 beinhaltet zudem einen Cursor 510, der eine Funktionalität darstellt, die einem Nutzer ermöglicht, eine Eingabe zur Interaktion mit verschiedenen Steuerungen bzw. Regelungen und Funktionalitäten der Entwicklungsschnittstelle 502, die von der Entwicklungs-App 118 bereitgestellt werden, bereitzustellen. Obwohl der Cursor 510 dargestellt ist, wird bei einer oder mehreren Implementierungen gegebenenfalls auch kein Cursor angezeigt. In einigen Fällen können die verschiedenen Steuerungen bzw. Regelungen und Funktionalitäten der Entwicklungsschnittstelle 502 auf andere Weisen ausgewählt oder zur Interaktion benutzt werden, so beispielsweise über eine Berühreingabe (oder eine andere Gesteneingabe), eine Tastatureingabe, eine Stifteingabe, eine Stimmeingabe und dergleichen.The illustrated example 500 also includes a cursor 510 , which represents a functionality that enables a user, an input for interaction with various controls or regulations and functionalities of the development interface 502 by the development app 118 provided. Although the cursor 510 is shown, no cursor may be displayed in one or more implementations. In some cases, the various controls or regulations and functionalities of the development interface 502 selected or used for interaction in other ways, such as via touch (or other gesture), keyboard, pen, voice, and the like.

Die visuellen Pages 506 und 508 stellen visuelle Pages oder Bildschirme des App-Prototyps 120, die von Entwicklern oftmals als „art boards“ (Zeichenflächen) bezeichnet werden, bereit. Beim vorliegenden Beispiel entspricht die erste visuelle Page 506 einer „Homepage“ des App-Prototyps 120 und beinhaltet einen Text, der eine aktuelle Zeit, eine aktuelle Temperatur und eine Grafik, die das aktuelle Wetter als „sonnig“ bezeichnet, angibt.The visual pages 506 and 508 provide visual pages or screens of the app prototype 120 , which developers often refer to as "art boards". In the present example, the first visual page corresponds 506 a "homepage" of the app prototype 120 and includes a text that indicates a current time, a current temperature and a graphic that describes the current weather as "sunny".

Die zweite visuelle Page 508 entspricht bei diesem Beispiel einer Kalender-Page des App-Prototyps 120 und beinhaltet einen Text, der angibt, dass der Nutzer drei bevorstehende Ereignisse hat und dass der Nutzer eine Verabredung entsprechend „Brunch mit Judy im Cafe Presse morgen um 10 Uhr“ hat. Insbesondere beinhaltet die erste Page 506 einen Text, der angibt, dass der Nutzer den Stimmbefehl „was steht in meinem Kalender“ sprechen kann. Dieser Text stellt einen visuellen Hinweis für den Nutzer dahingehend bereit, dass dieser auf eine Kalender-Page übergehen kann, indem er den Stimmbefehl spricht.The second visual page 508 corresponds to a calendar page of the app prototype in this example 120 and includes a text that indicates that the user has three upcoming events and that the user has an appointment corresponding to "Brunch with Judy in the Cafe Presse tomorrow at 10am". In particular, the first page contains 506 a text that indicates that the user can say “what's on my calendar”. This text provides a visual indication for the User ready to go to a calendar page by saying the voice command.

Um den Übergang auf die Kalender-Page auf Grundlage dieses Stimmbefehls zu ermöglichen, ermöglicht die Entwicklungsschnittstelle dem Nutzer, die erste visuelle Page 506 mit der zweiten visuellen Page 508 zu verlinken. Bei diesem Beispiel verlinkt der Nutzer die visuellen Pages 506 und 508, indem er eine Anfassersteuerung bzw. Regelung (handle control) auf der ersten visuellen Page 506 unter Nutzung des Cursors 510 auswählt und den Cursor zu der zweiten visuellen Page 508 mittels Dragging zieht. Diese Vorgehensweise veranlasst, dass die Entwicklungsschnittstelle ein visuelles Verlinkungselement 512 zwischen der ersten visuellen Page 506 und der zweiten visuellen Page 508 generiert.In order to enable the transition to the calendar page based on this voice command, the development interface enables the user to create the first visual page 506 with the second visual page 508 to link. In this example, the user links the visual pages 506 and 508 by using a handle control on the first visual page 506 using the cursor 510 selects and the cursor to the second visual page 508 using dragging. This approach causes the development interface to be a visual linking element 512 between the first visual page 506 and the second visual page 508 generated.

In Erwiderung auf das Verlinken der ersten visuellen Page 506 mit der zweiten visuellen Page 508 ermöglicht die Entwicklungsschnittstelle dem Nutzer die Bereitstellung einer Eingabe, die einen Auslöser für diesen Übergang identifiziert, wie in 5B dargestellt ist. In 5B präsentiert die Entwicklungs-App eine Interaktionsschnittstelle 514, die Steuerungen bzw. Regelungen für die Bereitstellung eines Auslösers und einer zugeordneten Handlung für eine visuelle Page des App-Prototyps beinhaltet. Bei diesem Beispiel beinhaltet die Interaktionsschnittstelle 514 eine Auslösersteuerung bzw. Regelung 516, die eine Eingabe empfängt, die einen Typ des Auslösers definiert. In einigen Fällen ermöglicht die Auslösersteuerung bzw. Regelung 516 der Interaktionsschnittstelle 514 dem Nutzer, den Typ des Auslösers aus einer Liste von definierten Auslösern auszuwählen, indem er beispielsweise den Abwärtspfeil neben der Auslösersteuerung bzw. Regelung 516 auswählt, um eine Präsentation einer Liste von Auslösern zu veranlassen. Wie hier beschrieben wird, kann die Liste von vordefinierten Auslösern, die in der Interaktionsschnittstelle 514 angezeigt wird, einen Stimmbefehl, eine Nutzergeste oder eine Zeitverzögerung, um nur einige wenige zu nennen, beinhalten. Bei diesem Beispiel hat der Nutzer eine Eingabe zum Auswählen des Stimmbefehls als Auslöser bereitgestellt.In response to linking the first visual page 506 with the second visual page 508 the development interface enables the user to provide input that identifies a trigger for this transition, as in 5B is shown. In 5B the development app presents an interaction interface 514 , which contains controls for the provision of a trigger and an associated action for a visual page of the app prototype. In this example, the interaction interface includes 514 a trigger control or regulation 516 that receives an input that defines a type of trigger. In some cases, trigger control or regulation is possible 516 the interaction interface 514 the user to select the type of trigger from a list of defined triggers, for example by using the down arrow next to the trigger control 516 selects to present a list of triggers. As described here, the list of predefined triggers that can be used in the interaction interface 514 appears, include a voice command, a user gesture, or a time delay, to name just a few. In this example, the user provided input to select the voice command as the trigger.

Nachdem der Stimmbefehl als Auslöser ausgewählt worden ist, kann die Interaktionsschnittstelle 514 modifiziert werden, um eine Auslösercontentsteuerung bzw. Regelung 518 bereitzustellen. In 5B zeigt die Interaktionsschnittstelle 514 beispielsweise eine Auslösercontentsteuerung bzw. Regelung 518 als Befehlsaufforderung (command prompt) an, die dafür konfiguriert ist, eine Eingabe, die die Worte des Stimmbefehls definiert, zu empfangen. Ist der Auslöser alternativ als Nutzergeste einer bzw. oder Zeitverzögerung ausgewählt, so kann die Auslösercontentsteuerung bzw. Regelung 518 modifiziert werden, um eine Eingabe, die den Typ der Nutzergeste beziehungsweise die Dauer der Zeitverzögerung beschreibt, zu empfangen.After the voice command has been selected as the trigger, the interaction interface can 514 be modified to a trigger content control or regulation 518 to provide. In 5B shows the interaction interface 514 for example a trigger content control or regulation 518 as a command prompt configured to receive an input that defines the words of the voice command. If the trigger is alternatively selected as a user gesture or a time delay, the trigger content control or regulation 518 modified to receive an input that describes the type of user gesture or the duration of the time delay.

Der Nutzer hat in diesem Fall eine Eingabe bereitgestellt, die den Stimmbefehl als „Was steht in meinem Kalender“ definiert. Diese Nutzereingabe kann als Texteingabe für die Auslösercontentsteuerung bzw. Regelung 518 empfangen werden. Mit anderen Worten, der Nutzer kann die Worte des Stimmbefehls direkt in die Auslösercontentsteuerung bzw. Regelung 518 der Interaktionsschnittstelle 514 eintippen. Alternativ kann der Nutzer die Worte des Stimmbefehls in ein Mikrofon oder eine kommunikationstechnisch angekoppelte Vorrichtung sprechen, wodurch veranlasst wird, dass die gesprochenen Worte in eine Texteingabe, wie hier beschrieben wird, umgewandelt werden. Wird der Stimmbefehl von dem Nutzer gesprochen, so kann die Interaktionsschnittstelle 514 den umgewandelten Text in der Interaktionsschnittstelle 514 anzeigen, um dem Nutzer zu ermöglichen, dasjenige, dass der Text richtig erkannt ist, zu bestätigen und bei Bedarf Änderungen vorzunehmen.In this case, the user has provided an input that defines the voice command as "what's on my calendar". This user input can be used as text input for trigger content control or regulation 518 be received. In other words, the user can directly insert the words of the voice command into the trigger content control 518 the interaction interface 514 type in. Alternatively, the user can speak the words of the voice command into a microphone or a device coupled in terms of communication technology, which causes the spoken words to be converted into text input, as described here. If the voice command is spoken by the user, the interaction interface can 514 the converted text in the interaction interface 514 Show to enable the user to confirm that the text is correctly recognized and to make changes if necessary.

Die Interaktionsschnittstelle 514 ist des Weiteren derart dargestellt, dass sie eine Handlungssteuerung bzw. Regelung 520 und eine für eine zugeordnete Handlung gedachte Contentsteuerung bzw. Regelung 522 beinhaltet. Die Handlungssteuerung bzw. Regelung 520 ist dafür konfiguriert, eine Eingabe zu empfangen, die den Typ der Handlung definiert, die in Erwiderung auf die Detektion des entsprechenden Auslösers durchgeführt werden soll. In einigen Fällen ermöglicht die Handlungssteuerung bzw. Regelung 520 der Interaktionsschnittstelle 514 dem Nutzer, den Typ von Handlung aus einer Liste von definierten Handlungen auszuwählen, und zwar beispielsweise durch Anklicken des Abwärtspfeiles neben der Handlungssteuerung bzw. Regelung 520, um eine Präsentation einer Liste von Handlungen zu veranlassen. Wie hier beschrieben wird, können die Handlungen eine gesprochene Erwiderung, einen Page-Übergang oder einen Ausgabecontent bzw. eine Contentausgabe, um nur einige wenige zu nennen, beinhalten. Bei diesem Beispiel hat der Nutzer eine Eingabe bereitgestellt, um einen Page-Übergang als Handlung für den entsprechenden Stimmbefehlsauslöser auszuwählen. Alternativ kann die Handlung des Page-Übergangs automatisch für den Nutzer auf Grundlage der Eingabe ausgewählt werden, um die erste visuelle Page 506 der zweiten visuellen Page 508 zuzuordnen.The interaction interface 514 is further shown in such a way that it controls action or regulation 520 and a content control intended for an assigned action 522 includes. The action control or regulation 520 is configured to receive an input that defines the type of action to be taken in response to the detection of the corresponding trigger. In some cases, action control or regulation enables 520 the interaction interface 514 the user to select the type of action from a list of defined actions, for example by clicking the down arrow next to the action control 520 to cause a list of actions to be presented. As described here, the actions may include a spoken reply, a page transition, or an output content or content, to name just a few. In this example, the user provided input to select a page transition as an action for the corresponding voice command trigger. Alternatively, the page transition action can be automatically selected for the user based on the input to the first visual page 506 the second visual page 508 assign.

Nachdem der Page-Übergang als Handlung ausgewählt worden ist, kann die Interaktionsschnittstelle 514 modifiziert werden, um eine Handlungscontentsteuerung bzw. Regelung 522 bereitzustellen. In 5B zeigt die Interaktionsschnittstelle 514 beispielsweise eine Handlungscontentsteuerung bzw. Regelung 522 als Befehlsaufforderung (command prompt) an, die dafür konfiguriert ist, eine Eingabe zu empfangen, die den Zielort des Page-Übergangs definiert. Wird die Handlung alternativ als gesprochene Erwiderung oder Contentausgabe ausgewählt, so kann die Handlungscontentsteuerung bzw. Regelung 522 modifiziert werden, um eine Eingabe zu empfangen, die die Worte der gesprochenen Erwiderung beschreibt beziehungsweise den Content zur Ausgabe (beispielsweise einen Dateinamen einer Videodatei) definiert.After the page transition has been selected as an action, the interaction interface can 514 be modified to control action content or regulation 522 to provide. In 5B shows the interaction interface 514 for example action content control or regulation 522 as a command prompt (command prompt) that is configured to receive input that defines the destination of the page transition. If the action is alternatively selected as a spoken reply or content output, the action content control or regulation can 522 are modified to receive an input that describes the words of the spoken reply or defines the content for output (for example a file name of a video file).

Der Nutzer hat in diesem Fall eine Eingabe bereitgestellt, die den Page-Übergang für den Übergang auf die Kalender-Page des App-Prototyps definiert. Wiederum kann der Ort des Page-Übergangs in einigen Fällen automatisch für den Nutzer auf Grundlage der Eingabe ausgewählt werden, um die erste visuelle Page mit der zweiten visuellen Page zu verlinken. Bei diesem Beispiel ermöglicht die Entwicklungsschnittstelle dem Nutzer, Charakteristiken des Page-Übergangs, so beispielsweise ein Easing, einen Übergangseffekt oder eine Dauer des Page-Übergangs, weiter zu definieren.In this case, the user has provided an input that defines the page transition for the transition to the calendar page of the app prototype. Again, in some cases the location of the page transition can be automatically selected for the user based on the input to link the first visual page to the second visual page. In this example, the development interface enables the user to further define characteristics of the page transition, such as easing, a transition effect or a duration of the page transition.

Insbesondere sind gemäß 5B der Auslöser und die zugeordnete Handlung, die über die Eingabe in die Interaktionsschnittstelle 514 definiert worden sind, der ersten visuellen Page 506 und der zweiten visuellen Page zugeordnet. Die Entwicklungsschnittstelle kann dem Nutzer zudem ermöglichen, einen Auslöser und eine entsprechende Handlung, die einer einzelnen visuellen Page zugeordnet ist, derart zu definieren, dass eine Handlung in Erwiderung auf den Auslöser ohne Übergang auf eine andere visuelle Page durchgeführt wird.In particular, according to 5B the trigger and the associated action that is entered into the interaction interface 514 have been defined, the first visual page 506 and assigned to the second visual page. The development interface can also enable the user to define a trigger and a corresponding action that is associated with a single visual page in such a way that an action in response to the trigger is carried out without a transition to another visual page.

In diesem Zusammenhang betrachte man 5C. In 5C präsentiert die Entwicklungs-App eine Interaktionsschnittstelle 514, die Steuerungen bzw. Regelungen zur Bereitstellung eines Auslösers und einer zugeordneten Handlung für eine visuelle Page des App-Prototyps beinhaltet. Bei diesem Beispiel wird die Interaktionsschnittstelle 514 dynamisch in Erwiderung auf eine Nutzereingabe der zweiten visuellen Page 508 entsprechend der Kalender-Page präsentiert. Anstatt einen Stimmbefehl auszuwählen, wählt der Nutzer in diesem Fall einen Zeitverzögerungsauslöser über die Auslösersteuerung bzw. Regelung 516 aus und stellt sodann über die Auslösercontentsteuerung bzw. Regelung 518 eine Eingabe dahingehend bereit, die Dauer der Zeitverzögerung als 0 s zu definieren. Der Nutzer hat zudem eine Eingabe zum Auswählen einer gesprochenen Erwiderung über die Handlungssteuerung bzw. Regelung 520 bereitgestellt und stellt sodann über die Handlungscontentsteuerung bzw. Regelung 522 eine Eingabe bereit, die die Worte der Handlung der gesprochenen Erwiderung definiert. Die Eingabe, die die gesprochene Erwiderung definiert, kann als Texteingabe für die Handlungscontentsteuerung bzw. Regelung 522 empfangen werden. Mit anderen Worten, der Nutzer kann die Worte der gesprochenen Erwiderung direkt in die Handlungscontentsteuerung bzw. Regelung 522 der Interaktionsschnittstelle 514 eintippen. Alternativ kann der Nutzer die Worte der gesprochenen Erwiderung in ein Mikrofon oder eine kommunikationstechnisch angekoppelte Vorrichtung sprechen, wodurch veranlasst wird, dass die gesprochenen Worte in eine Texteingabe, wie hier beschrieben wird, umgewandelt werden. Wird die gesprochene Erwiderung von dem Nutzer gesprochen, so kann die Interaktionsschnittstelle 514 den umgewandelten Text in der Handlungscontentsteuerung bzw. Regelung 522 der Interaktionsschnittstelle 514 anzeigen, um dem Nutzer zu ermöglichen, dasjenige, dass der Text richtig erkannt ist, zu bestätigen und bei Bedarf Änderungen vorzunehmen.In this context, consider 5C . In 5C the development app presents an interaction interface 514 , which contains controls for the provision of a trigger and an associated action for a visual page of the app prototype. In this example, the interaction interface 514 dynamic in response to user input of the second visual page 508 presented according to the calendar page. In this case, instead of selecting a voice command, the user selects a time delay trigger via the trigger control or regulation 516 and then issues the trigger content control or regulation 518 an input ready to define the duration of the time delay as 0 s. The user also has an input for selecting a spoken response via the action control or regulation 520 provided and then provides the action content control or regulation 522 an input ready that defines the words of the act of the spoken reply. The input that defines the spoken reply can be used as text input for the action content control or regulation 522 be received. In other words, the user can directly insert the words of the spoken reply into the action content control or regulation 522 the interaction interface 514 type in. Alternatively, the user can speak the words of the spoken reply into a microphone or a device coupled to communication technology, which causes the spoken words to be converted into text input, as described here. If the spoken reply is spoken by the user, the interaction interface can 514 the converted text in the action content control or regulation 522 the interaction interface 514 Show to enable the user to confirm that the text is correctly recognized and to make changes if necessary.

Insbesondere ermöglicht die Nutzerschnittstelle 514 dem Nutzer, verschiedenartige andere Typen von Auslösern und Handlungen visuellen Pages des App-Prototyps zuzuordnen. Der Entwickler kann beispielsweise Stimmbefehlsauslöser entsprechenden gesprochenen Erwiderungen zuordnen. Der Entwickler kann jedoch auch Stimminteraktionen mit anderen Auslösern und Handlungen mischen und diese abgleichen, indem er beispielsweise einen Nutzergestenauslöser einer gesprochenen Erwiderung zuordnet oder indem er einen Stimmbefehl einem Übergang auf eine andere visuelle Page des App-Prototyps zuordnet.In particular, the user interface enables 514 the user to assign various other types of triggers and actions to visual pages of the app prototype. For example, the developer can associate voice command triggers with corresponding spoken responses. However, the developer can also mix and match voice interactions with other triggers and actions, for example, by associating a user gesture trigger with a spoken reply or by associating a voice command with a transition to another visual page of the app prototype.

6A und 6B zeigen ein Beispiel 600 für eine Entwicklungsnutzerschnittstelle einer Entwicklungs-App während einer Testphase eines stimmunterstützten App-Prototyps. Sobald der Nutzer die visuellen Pages und Nutzerinteraktionen des App-Prototyps, wie in 5A-4C dargestellt ist, entwickelt hat, kann über eine Auswahl einer Teststeuerung bzw. Regelung der Entwicklungsschnittstelle eine Testphase initiiert werden. Bei dem Beispiel 600 zeigt das Testmodul 132 der Entwicklungs-App 118 eine erste visuelle Page 602 des App-Prototyps an der Anzeigevorrichtung 504. Insbesondere entspricht die erste visuelle Page 602 der ersten visuellen Page 506, wie in 5A-4C dargestellt ist. In der Testphase steuert bzw. regelt das Testmodul 132 den entwickelten App-Prototyp 120 derart, dass dieser wie eine ausführbare App funktioniert, anstatt ein Layout von visuellen Pages und zugeordneten Auslösern und Handlungen anzuzeigen. 6A and 6B FIG. 5 shows an example 600 for a development user interface of a development app during a test phase of a voice-assisted app prototype. Once the user sees the visual pages and user interactions of the app prototype, as in 5A-4C a test phase can be initiated by selecting a test control or regulation of the development interface. In the example 600, the test module shows 132 the development app 118 a first visual page 602 of the app prototype on the display device 504 . In particular, the first visual page corresponds 602 the first visual page 506 , as in 5A-4C is shown. In the test phase, the test module controls 132 the developed app prototype 120 such that it functions like an executable app instead of displaying a layout of visual pages and associated triggers and actions.

Interagiert der Nutzer in der Testphase mit dem App-Prototyp, indem er beispielsweise einen Stimmbefehl spricht oder die visuelle Page antippt, so veranlasst das Testmodul 132 in Echtzeit, dass die entsprechenden Handlungen, die dem Auslöser zugeordnet sind, durchgeführt werden, und zwar beispielsweise durch Ausgeben von akustischem Content, Ausgeben von visuellem Content, Übergehen auf eine andere visuelle Page oder durch eine Kombination hieraus. In 6A spricht der Nutzer beispielsweise einen Stimmbefehl 604, der die Worte „Was steht in meinem Kalender?“ beinhaltet. Ein Mikrofon detektiert den gesprochenen Stimmbefehl und, und der Gesprochenes-zu-Text-Dienst 128 wandelt die Tondaten sodann in einen Textstring um, der die Worte „Was steht in meinem Kalender“ enthält. Dieser Textstring wird sodann mit den zugeordneten Interaktionsdaten verglichen, die vom Nutzer während der Entwicklung des App-Prototyps bereitgestellt worden sind.If the user interacts with the app prototype during the test phase, for example by saying a voice command or tapping the visual page, the test module initiates it 132 in real time that the corresponding actions associated with the trigger are carried out, for example by outputting acoustic content, outputting visual content, skipping to another visual page or a combination of these. In 6A for example, the user speaks a voice command 604 that contains the words "What's on my calendar?" A microphone detects the spoken voice command and, and the spoken-to-text service 128 then converts the audio data into a text string that contains the words "What's on my calendar". This text string is then compared with the associated interaction data that were provided by the user during the development of the app prototype.

In diesem Fall erkennt das Testmodul 132 den Textstring des Stimmbefehls 504 als passend zu dem Stimmbefehl, der für die Auslösercontentsteuerung bzw. Regelung 518 der Interaktionsschnittstelle 514 in 5B bereitgestellt wird. Auf Grundlage der Detektion eines Treffers veranlasst das Testmodul 132 die Durchführung der entsprechenden Handlung, die vorher vom Nutzer in die Steuerungen bzw. Regelungen 520 und 522 der Interaktionsschnittstelle 514 von 5B eingegeben worden ist. In diesem Fall wird die entsprechende Handlung als Page-Übergang auf die Kalender-Page (beispielsweise visuelle Page 508 von 5) detektiert.In this case the test module recognizes 132 the text string of the voice command 504 as suitable for the voice command that is used for trigger content control or regulation 518 the interaction interface 514 in 5B provided. Based on the detection of a hit, the test module initiates 132 the implementation of the corresponding action, previously carried out by the user in the controls 520 and 522 the interaction interface 514 from 5B has been entered. In this case, the corresponding action is a page transition to the calendar page (e.g. visual page 508 from 5 ) detected.

6B zeigt die Anzeige einer zweiten visuellen Page 606 entsprechend der Kalender-Page an, nachdem das Testmodul 132 auf Grundlage der Handlung, die dem detektierten Auslöser zugeordnet ist, von der ersten visuellen Page 602 auf die zweite visuelle Page 608 übergegangen ist. Wenn die Kalender-Page einen Zeitverzögerungsauslöser von 0 s mit einer entsprechenden gesprochenen Erwiderung beinhaltet, veranlasst das Testmodul 132 (App) zusätzlich, dass ein Lautsprecher oder eine zugeordnete Vorrichtung die gesprochene Erwiderung 608 akustisch ausgibt, die bei diesem Beispiel den Worten „Du hast einen Brunch mit Judy im Cafe Presse morgen um 10 Uhr“ entspricht. Zu diesem Zweck wird ein Textstring, der die Worte der gesprochenen Erwiderung enthält, an den Text-zu-Gesprochenem-Dienst 130 weitergeleitet. Der Text-zu-Gesprochenem-Dienst 130 wandelt den Textstring der gesprochenen Erwiderung sodann in eine Tondatei um, die sodann in Echtzeit auf der Rechenvorrichtung ausgegeben wird. Auf diese Weise ermöglicht das beschriebene System dem Nutzer, während der Testphase mit dem App-Prototyp zu interagieren, um sicherzustellen, dass der App-Prototyp absichtsgemäß funktioniert. 6B shows the display of a second visual page 606 according to the calendar page after the test module 132 based on the action associated with the detected trigger from the first visual page 602 to the second visual page 608 has passed. If the calendar page contains a time delay trigger of 0 s with a corresponding spoken reply, the test module initiates 132 (App) additionally that a loudspeaker or an associated device speaks the reply 608 outputs acoustically, which in this example corresponds to the words "You have a brunch with Judy in the Cafe Presse tomorrow at 10 am". For this purpose, a text string containing the words of the spoken reply is sent to the text-to-speech service 130 forwarded. The text-to-speech service 130 then converts the text string of the spoken reply into a sound file which is then output in real time on the computing device. In this way, the described system enables the user to interact with the app prototype during the test phase to ensure that the app prototype works as intended.

Nach erfolgter Diskussion exemplarischer Details der Techniken für ein Stimminteraktionswerkzeug werden nunmehr einige exemplarische Prozeduren zur Darstellung zusätzlicher Aspekte der Techniken betrachtet.After discussing exemplary details of the techniques for a voice interaction tool, some exemplary procedures to illustrate additional aspects of the techniques are now considered.

Exemplarische ProzedurenExemplary procedures

Dieser Abschnitt beschreibt exemplarische Prozeduren zum Entwickeln und Testen von stimmunterstützten App-Prototypen bei einer oder mehreren Implementierungen. Aspekte der Prozeduren können in Hardware, Firmware oder Software oder auch in einer Kombination hieraus implementiert sein. Die Prozeduren sind als Satz von Blöcken gezeigt, die Vorgänge spezifizieren, die von einer oder mehreren Vorrichtungen durchgeführt werden und die nicht unbedingt auf diejenigen Reihenfolgen beschränkt sind, die zum Durchführen der Vorgänge durch die jeweiligen Blöcke gezeigt sind.This section describes exemplary procedures for developing and testing voice-assisted app prototypes in one or more implementations. Aspects of the procedures can be implemented in hardware, firmware or software, or in a combination thereof. The procedures are shown as a set of blocks that specify operations performed by one or more devices and that are not necessarily limited to the orders shown for performing the operations by the respective blocks.

7 zeigt eine exemplarische Prozedur 700, bei der ein stimmunterstützter App-Prototyp entwickelt wird. 7 shows an exemplary procedure 700 , in which a voice-assisted app prototype is developed.

Es wird wenigstens eine visuelle Page eines App-Prototyps in einer Entwicklungsschnittstelle auf einer Anzeige einer Rechenvorrichtung angezeigt (Block 702). Beispielshalber zeigt die Entwicklungs-App 118 die visuelle Page 122 des App-Prototyps 120 in der Entwicklungsschnittstelle 502 auf der Anzeige der Rechenvorrichtung 102 an.At least one visual page of an app prototype is displayed in a development interface on a display of a computing device (block 702 ). For example, the development app shows 118 the visual page 122 of the app prototype 120 in the development interface 502 on the display of the computing device 102 on.

Es wird die Entwicklungsschnittstelle derart gesteuert bzw. geregelt, dass sie eine Interaktionsschnittstelle dafür bereitstellt, einen Auslöser und eine zugeordnete Handlung für die wenigstens eine visuelle Page des App-Prototyps zu empfangen (Block 704). Entsprechend den hier erläuterten Prinzipien entspricht der Auslöser einem von einem Stimmbefehl, einer Nutzergeste oder einer Zeitverzögerung, während die Handlung einem von einer gesprochenen Erwiderung, einem Übergang auf eine zusätzliche visuelle Page des App-Prototyps oder einem Abspielen einer Mediendatei entspricht. Beispielshalber steuert bzw. regelt das Stimminteraktionswerkzeug 126 die Entwicklungsschnittstelle 502, um die Interaktionsschnittstelle 514 dafür bereitzustellen, die Auslöser 208 und die zugeordnete Handlung 210 für die wenigstens eine visuelle Page 122 des App-Prototyps 120 zu empfangen.The development interface is controlled or regulated in such a way that it provides an interaction interface for receiving a trigger and an associated action for the at least one visual page of the app prototype (block 704 ). According to the principles explained here, the trigger corresponds to one of a voice command, a user gesture or a time delay, while the action corresponds to one of a spoken reply, a transition to an additional visual page of the app prototype or a playback of a media file. For example, the voice interaction tool controls 126 the development interface 502 to the interaction interface 514 to provide the triggers 208 and the associated action 210 for at least one visual page 122 of the app prototype 120 to recieve.

Es wird eine Nutzereingabe über die Interaktionsschnittstelle empfangen, um den Auslöser und die Handlung bereitzustellen (Block 706). Beispielshalber empfängt das Stimminteraktionswerkzeug 126 die Nutzereingabe 202 über die Entwicklungsschnittstelle 502, um den Auslöser 208 und die Handlung 210 bereitzustellen.User input is received over the interaction interface to provide the trigger and action (block 706 ). For example, the voice interaction tool receives 126 the user input 202 via the development interface 502 to the trigger 208 and the plot 210 to provide.

Es werden zugeordnete Interaktionsdaten generiert, die den Auslöser, die Handlung und die visuelle Page des App-Prototyps beinhalten, und es werden die zugeordneten Interaktionsdaten gespeichert, um während einer Testphase das Testen des App-Prototyps zu ermöglichen (Block 708). Beispielshalber speichert das Stimminteraktionswerkzeug 126 den Auslöser 208 und die Handlung 210 mit einer Angabe der visuellen Page 122 als zugeordnete Interaktionsdaten 204 in einem Speicher 206, sodass die Detektion des Auslösers während einer Testphase die Durchführung der Handlung veranlasst.Assigned interaction data are generated, which contain the trigger, the action and the visual page of the app prototype, and the assigned interaction data are stored in order to enable testing of the app prototype during a test phase (block 708 ). For example, the voice interaction tool saves 126 the trigger 208 and the plot 210 with an indication of the visual page 122 as associated interaction data 204 in a store 206 , so that the detection of the trigger during a test phase causes the action to be performed.

8 zeigt eine exemplarische Prozedur 800, bei der ein stimmunterstützter App-Prototyp getestet wird. 8th shows an exemplary procedure 800 , in which a voice-assisted app prototype is tested.

Es wird eine Testphase für einen App-Prototyp initiiert (Block 802), und es wird wenigstens eine visuelle Page des App-Prototyps in der Testphase angezeigt (Block 804). Beispielshalber initiiert das Testmodul 132 die Testphase für den App-Prototyp 120 und zeigt während der Testphase wenigstens eine visuelle Page 122 für den App-Prototyp 120 an.A test phase for an app prototype is initiated (block 802 ), and at least one visual page of the app prototype is displayed in the test phase (block 804 ). As an example, the test module initiates 132 the test phase for the app prototype 120 and shows at least one visual page during the test phase 122 for the app prototype 120 on.

Es wird ein Auslöser auf Grundlage einer Nutzereingabe detektiert, die empfangen wird, während die wenigstens eine visuelle Page angezeigt wird (Block 806). Der Auslöser kann einem Stimmbefehl, einer Nutzergeste, einer Zeitverzögerung, um nur einige wenige zu nennen, entsprechen. Beispielshalber interagiert ein Nutzer während der Anzeige der ersten visuellen Page 122 in Echtzeit mit dem App-Prototyp 120, und zwar beispielsweise durch Sprechen eines Stimmbefehls oder Antippen der visuellen Page 122, und es erhält das Testmodul 132 auf Grundlage der Nutzerinteraktion den Auslöser 302. Das Verarbeitungsmodul 304 des Testmoduls 132 verarbeitet die Nutzereingabe, um den Auslöser 302, so beispielsweise den Stimmbefehl 306, die Nutzergeste 308 oder die Zeitverzögerung 310, zu identifizieren.A trigger is detected based on user input that is received while the at least one visual page is displayed (block 806 ). The trigger can correspond to a voice command, a user gesture, a time delay, to name just a few. For example, a user interacts while displaying the first visual page 122 in real time with the app prototype 120 , for example by saying a voice command or tapping the visual page 122 , and it receives the test module 132 the trigger based on user interaction 302 . The processing module 304 of the test module 132 processes the user input to the trigger 302 , for example the voice command 306 , the user gesture 308 or the time delay 310 , to identify.

Es wird der Auslöser mit gespeicherten Auslösern, die dem App-Prototyp zugeordnet sind, verglichen, um einen passenden Auslöser zu identifizieren (Block 808). Beispielshalber vergleicht das Verarbeitungsmodul 304 den identifizierten Auslöser 302 mit den zugeordneten Interaktionsdaten 204, um einen passenden Auslöser zu identifizieren. Das Anfrage- bzw. Anforderungsverarbeitungsmodul 304 vergleicht den Stimmbefehl 306 oder die Nutzergeste 308 beispielsweise mit den gespeicherten Stimmbefehlen 212 beziehungsweise den Nutzergesten 214 der zugeordneten Interaktionsdaten 204. Um den passenden Auslöser zu identifizieren, kann das Verarbeitungsmodul 304 eine Vielzahl von Techniken, so beispielsweise eindeutige Identifizierer, Hashes, textbasierte Suchen und dergleichen, einsetzen. Zusätzlich kann das Verarbeitungsmodul 304 fortwährend Zeitverzögerungsauslöser überwachen, wenn eine neue visuelle Page angezeigt wird.The trigger is compared with saved triggers that are assigned to the app prototype in order to identify a suitable trigger (block 808 ). For example, the processing module compares 304 the identified trigger 302 with the assigned interaction data 204 to identify a suitable trigger. The request processing module 304 compares the voice command 306 or the user gesture 308 for example with the saved voice commands 212 or the user gestures 214 the associated interaction data 204 . The processing module can be used to identify the suitable trigger 304 use a variety of techniques such as unique identifiers, hashes, text-based searches, and the like. In addition, the processing module 304 constantly monitor time delay triggers when a new visual page is displayed.

Wird der Auslöser 302 als Stimmbefehl 306 empfangen, so stellt das Verarbeitungsmodul 304 die Tondaten des Stimmbefehls 306 für den Gesprochenes-zu-Text-Dienst 128 bereit. Der Gesprochenes-zu-Text-Dienst 128 verarbeitet die Tondaten in Echtzeit und wandelt die Tondaten des Stimmbefehls 306 in einen Textstring um. Das Verarbeitungsmodul 304 erhält den Textstring des Stimmbefehls 306 von dem Gesprochenes-zu-Text-Dienst 128 und vergleicht den Textstring des Stimmbefehls 306 mit den gespeicherten Textstrings der Stimmbefehle 212, um einen passenden Stimmbefehl zu identifizieren.Becomes the trigger 302 as a voice command 306 received, so the processing module 304 the sound data of the voice command 306 for the spoken-to-text service 128 ready. The spoken-to-text service 128 processes the sound data in real time and converts the sound data of the voice command 306 into a text string. The processing module 304 receives the text string of the voice command 306 from the spoken-to-text service 128 and compares the text string of the voice command 306 with the stored text strings of the voice commands 212 to identify a suitable voice command.

Das Verarbeitungsmodul 304 kann einen passenden Stimmbefehl identifizieren, indem es die Buchstaben des Textstrings des empfangenen Stimmbefehls 306 mit Buchstaben der Textstrings der gespeicherten Stimmbefehle 212 vergleicht. Eine höhere Anzahl von passenden Buchstaben gibt eine höhere Wahrscheinlichkeit für einen Treffer an. Beinhaltet der Befehl beispielsweise das Wort „Maus“ (mouse), so kann das Verarbeitungsmodul 304 das Wort „Haus“ (house) als passend zu „Maus“ (mouse) erkennen, da die Worte vier passende Zeichen aufweisen. In einigen Fällen beinhaltet der Gesprochenes-zu-Text-Dienst 128 einen Zuverlässigkeitskennwert mit dem Textstring, der den Grad der Zuverlässigkeit dafür, dass der Textstring richtig ist, angibt. Der Zuverlässigkeitskennwert unterstützt das Verarbeitungsmodul 304 beim Identifizieren eines passenden Stimmbefehls. Bei einer oder mehreren Implementierungen ist das Verarbeitungsmodul 304 dafür konfiguriert, den passenden Textstring mit niedriger Toleranz auszuwählen, um dem Nutzer zu ermöglichen, mit dem App-Prototyp leichter zu interagieren.The processing module 304 can identify a suitable voice command by typing the letters of the text string of the received voice command 306 with letters of the text strings of the saved voice commands 212 compares. A higher number of matching letters indicates a higher probability of a hit. For example, if the command contains the word "mouse", the processing module can 304 Recognize the word "house" as matching "mouse" because the words have four matching characters. In some cases, the spoken-to-text service includes 128 a reliability score with the text string indicating the degree of reliability that the text string is correct. The processing module supports the reliability parameter 304 when identifying a suitable voice command. In one or more implementations, the processing module is 304 configured to select the appropriate, low tolerance text string to allow the user to interact with the app prototype more easily.

Es wird eine Handlung, die dem passenden Auslöser zugeordnet ist, während der Testphase durchgeführt (Block 810). Entsprechend den hier erläuterten Prinzipien kann die Handlung einer gesprochenen Erwiderung, einem Page-Übergang auf eine andere visuelle Page oder dem Abspielen einer Mediendatei entsprechen. Beispielshalber identifiziert das Verarbeitungsmodul 304 in Erwiderung auf eine Detektion dessen, dass der Auslöser 302 zu einem gespeicherten Auslöser 208 der zugeordneten Interaktionsdaten 204 passt, die entsprechende Handlung 210, die dem Auslöser zugeordnet ist, in den zugeordneten Interaktionsdaten 204. Eine Handlung 312, die einer gesprochenen Erwiderung 314, einem Page-Übergang 316 oder einer Medienausgabe 318 entspricht, wird sodann an das Durchführungsmodul 320 weitergeleitet. Das Durchführungsmodul 320 veranlasst, dass die entsprechende Handlung 312, die dem identifizierten Auslöser zugeordnet ist, durchgeführt wird, und zwar beispielsweise durch Ausgeben der gesprochenen Erwiderung 314, Durchführen eines Page-Übergangs 316 auf eine andere visuelle Page, Ausgeben von Ton- oder Videocontent oder durch eine Kombination hieraus.An action that is assigned to the appropriate trigger is carried out during the test phase (block 810 ). In accordance with the principles explained here, the act may correspond to a spoken reply, a page transition to another visual page, or the playing of a media file. For example, the processing module identifies 304 in response to a detection of that the trigger 302 to a saved trigger 208 the associated interaction data 204 fits, the corresponding action 210 associated with the trigger in the associated interaction data 204 . An action 312 having a spoken reply 314 , a page transition 316 or a media issue 318 corresponds to the implementation module 320 forwarded. The implementation module 320 causes the appropriate action 312 associated with the identified trigger is performed, for example, by outputting the spoken response 314 , Performing a page transition 316 to another visual page, output of sound or video content or a combination of these.

Entspricht die Handlung 312 einer gesprochenen Erwiderung 314, so kann das Durchführungsmodul den Textstring der gesprochenen Erwiderung 314 in Echtzeit für den Text-zu-Gesprochenem-Dienst 130 bereitstellen. Der Text-zu-Gesprochenem-Dienst 130 wandelt den Textstring der gesprochenen Erwiderung 314 in Tondaten, die der gesprochenen Erwiderung 314 entsprechen, um. Das Durchführungsmodul 320 veranlasst sodann die Ausgabe der Tondaten, die der gesprochenen Erwiderung 314 entsprechen. Corresponds to the action 312 a spoken reply 314 , the implementation module can use the text string of the spoken reply 314 in real time for the text-to-speech service 130 provide. The text-to-speech service 130 converts the text string of the spoken reply 314 in sound data, that of the spoken reply 314 correspond to. The implementation module 320 then causes the output of the sound data, that of the spoken reply 314 correspond.

9 zeigt eine exemplarische Prozedur 900, bei der ein phonetischer Sprachübersetzer dafür eingesetzt wird, Stimmbefehle, die während des Testens des App-Prototyps aufgenommen worden sind, abzugleichen. 9 shows an exemplary procedure 900 , which uses a phonetic language translator to match voice commands that were recorded while testing the app prototype.

Es werden Interaktionsdaten, die einem App-Prototyp zugeordnet sind, in einem Speicher vorgehalten (Block 902). Entsprechend den hier erläuterten Prinzipien beinhalten die Interaktionsdaten gespeicherte Stimmbefehle, Handlungen, die in Erwiderung auf die Detektion jeweiliger gespeicherter Stimmbefehle durchgeführt werden sollen, und wenigstens eine visuelle Page. Es wird die wenigstens eine visuelle Page an einer Anzeigevorrichtung während einer Testphase für den App-Prototyp angezeigt (Block 904), und es wird ein nichtphonetischer Stimmbefehl, der in einer Sprache mit einem nichtphonetischen Alphabet gesprochen wird, aufgenommen (Block 906). Beispielshalber initiiert das Testmodul 132 in der Testphase die Anzeige einer ersten visuellen Page 122 (beispielsweise einer Homepage) des App-Prototyps 120. Während der Anzeige der ersten visuellen Page 122 interagiert ein Nutzer mit dem App-Prototyp 120, indem er einen nichtphonetischen Stimmbefehl 402 spricht. Der nichtphonetische Stimmbefehl 402, der in der Sprache mit einem nichtphonetischen Alphabet gesprochen wird, wird von wenigstens einem Mikrofon als Tondaten aufgenommen.Interaction data that are assigned to an app prototype are stored in a memory (block 902 ). In accordance with the principles explained here, the interaction data include stored voice commands, actions that are to be performed in response to the detection of respective stored voice commands, and at least one visual page. The at least one visual page is displayed on a display device during a test phase for the app prototype (block 904 ), and a non-phonetic voice command spoken in a language with a non-phonetic alphabet is recorded (block 906 ). As an example, the test module initiates 132 in the test phase the display of a first visual page 122 (e.g. a homepage) of the app prototype 120 . While displaying the first visual page 122 a user interacts with the app prototype 120 by issuing a nonphonetic voice command 402 speaks. The nonphonetic voice command 402 spoken in the language with a non-phonetic alphabet is recorded by at least one microphone as sound data.

Es wird der nichtphonetische Stimmbefehl in Echtzeit an einen Gesprochenes-zu-Text-Dienst kommuniziert, um den nichtphonetischen Stimmbefehl in einen in der Sprache des nichtphonetischen Alphabets gegebenen nichtphonetischen Textstring des Stimmbefehls umzuwandeln (Block 908). Beispielshalber kommuniziert das Testmodul 132 die Tondaten des aufgenommenen nichtphonetischen Stimmbefehls 402 an den Gesprochenes-zu-Text-Dienst 128. Der Gesprochenes-zu-Text-Dienst 128 verarbeitet die Tondaten des nichtphonetischen Stimmbefehls 402 in Echtzeit, um die Tondaten des nichtphonetischen Stimmbefehls 402 in einen nichtphonetischen Textstring 404 des aufgenommenen Stimmbefehls umzuwandeln.The non-phonetic voice command is communicated in real time to a spoken-to-text service in order to convert the non-phonetic voice command into a non-phonetic text string of the voice command given in the language of the non-phonetic alphabet (block 908 ). For example, the test module communicates 132 the sound data of the recorded non-phonetic voice command 402 to the spoken-to-text service 128 . The spoken-to-text service 128 processes the sound data of the non-phonetic voice command 402 in real time to the sound data of the non-phonetic voice command 402 into a non-phonetic text string 404 convert the recorded voice command.

Es wird der nichtphonetische Textstring des Stimmbefehls in Echtzeit an einen phonetischen Sprachübersetzer kommuniziert, der den nichtphonetischen Textstring in einen in einer Sprache mit einem phonetischen Alphabet gegebenen phonetischen Textstring des Stimmbefehls übersetzt (Block 910). Das Testmodul 132 kommuniziert beispielsweise den nichtphonetischen Textstring 404 an den phonetischen Sprachübersetzer 134. Der phonetische Sprachübersetzer 134 übersetzt den in der Sprache mit dem nichtphonetischen Alphabet gegebenen nichtphonetischen Textstring 404 des aufgenommenen Stimmbefehls in einen in der Sprache mit dem phonetischen Alphabet gegebenen phonetischen Textstring 406 des aufgenommenen Stimmbefehls. Bei einer oder mehreren Implementierungen erhält der phonetische Sprachübersetzer 134 während der Testphase nichtphonetische Textstrings 410 der gespeicherten Stimmbefehle 408. Die gespeicherten Stimmbefehle 408 können beispielsweise den Stimmbefehlen 412, die in dem Speicher 406 vorgehalten werden, entsprechen. Der phonetische Sprachübersetzer 134 übersetzt die nichtphonetischen Textstrings 410 der gespeicherten Stimmbefehle 408 in phonetische Textstrings 412 der gespeicherten Stimmbefehle 408. Alternativ kann der phonetische Sprachübersetzer 134 die phonetischen Textstrings 410 der gespeicherten Stimmbefehle 408 vor der Testphase in phonetische Textstrings 412 der gespeicherten Stimmbefehle 408 übersetzen. In diesem Fall können die phonetischen Textstrings 412 in dem Speicher vorgehalten werden.The non-phonetic text string of the voice command is communicated in real time to a phonetic language translator who translates the non-phonetic text string into a phonetic text string of the voice command given in a language with a phonetic alphabet (block 910 ). The test module 132 communicates, for example, the non-phonetic text string 404 to the phonetic translator 134 . The phonetic language translator 134 translates the non-phonetic text string given in the language with the non-phonetic alphabet 404 the recorded voice command into a phonetic text string given in the language with the phonetic alphabet 406 of the recorded voice command. In one or more implementations, the phonetic language translator receives 134 non-phonetic text strings during the test phase 410 the stored voice commands 408 . The saved voice commands 408 can, for example, the voice commands 412 that are in the store 406 be held up to correspond. The phonetic language translator 134 translates the non-phonetic text strings 410 the stored voice commands 408 in phonetic text strings 412 the stored voice commands 408 . Alternatively, the phonetic language translator 134 the phonetic text strings 410 the stored voice commands 408 before the test phase in phonetic text strings 412 the stored voice commands 408 translate. In this case, the phonetic text strings 412 are held in the memory.

Der phonetische Textstring des Stimmbefehls wird mit phonetischen Textstrings der gespeicherten Stimmbefehle, die dem App-Prototyp zugeordnet sind, verglichen, um einen passenden Stimmbefehl zu identifizieren (Block 912). Beispielshalber erhält das Phonetikvergleichsmodul 414 des Testmoduls 132 den phonetischen Textstring 406 des aufgenommenen Stimmbefehls 402 und die phonetischen Textstrings 412 der gespeicherten Stimmbefehle 408. Das Phonetikvergleichsmodul 414 vergleicht den phonetischen Textstring 406 sodann mit den phonetischen Textstrings 412, um einen passenden Stimmbefehl 416 der phonetischen Textstrings 412 entsprechend den gespeicherten Stimmbefehlen zu identifizieren. Das Phonetikvergleichsmodul 414 kann den passenden Stimmbefehl 416 identifizieren, indem es die Buchstaben des phonetischen Textstrings 406 mit denjenigen der phonetischen Textstrings 412 der gespeicherten Stimmbefehle 408 vergleicht. Da die phonetischen Textstrings 406 und 412 in eine phonetische Schrift übersetzt worden sind, ist das Phonetikvergleichsmodul 414 in der Lage, den passenden Stimmbefehl 416 auf Grundlage der Anzahl von Buchstaben, die der passende Stimmbefehl 416 mit dem aufgenommenen Stimmbefehl gemeinsam hat, auszuwählen. Eine höhere Anzahl von passenden Buchstaben gibt eine höhere Wahrscheinlichkeit für einen Treffer an, da beide Textstrings in einer phonetischen Schrift geschrieben sind.The phonetic text string of the voice command is compared with phonetic text strings of the stored voice commands that are associated with the app prototype in order to identify a suitable voice command (block 912 ). As an example, the phonetic comparison module receives 414 of the test module 132 the phonetic text string 406 of the recorded voice command 402 and the phonetic text strings 412 the stored voice commands 408 . The phonetic comparison module 414 compares the phonetic text string 406 then with the phonetic text strings 412 to a matching voice command 416 the phonetic text strings 412 to identify according to the stored voice commands. The phonetic comparison module 414 can the matching voice command 416 identify it by the letters of the phonetic text string 406 with those of the phonetic text strings 412 the stored voice commands 408 compares. Because the phonetic text strings 406 and 412 have been translated into a phonetic script is the phonetic comparison module 414 able to get the appropriate voice command 416 based on the number of letters that match the voice command 416 has in common with the recorded voice command. A higher number of matching letters indicates a higher probability of a hit, since both text strings are written in a phonetic font.

Es wird eine Handlung, die dem passenden Stimmbefehl zugeordnet ist, durchgeführt (Block 914). Sobald der passende Stimmbefehl 416 von dem Phonetikvergleichsmodul 414 identifiziert worden ist, initiiert das Testmodul beispielsweise die Durchführung der zugeordneten Handlung, wie hier beschrieben wird. An action is carried out that is assigned to the appropriate voice command (block 914 ). As soon as the appropriate voice command 416 from the phonetic comparison module 414 has been identified, the test module initiates, for example, the execution of the assigned action, as described here.

Nach erfolgter Beschreibung exemplarischer Prozeduren entsprechend einer oder mehreren Implementierungen werden nunmehr ein exemplarisches System und eine exemplarische Vorrichtung betrachtet, die zum Implementieren der verschiedenen hier beschriebenen Techniken eingesetzt werden können.Having described exemplary procedures according to one or more implementations, consider an exemplary system and apparatus that can be used to implement the various techniques described herein.

Exemplarisches System und exemplarische VorrichtungExemplary system and device

10 zeigt bei 900 allgemein ein exemplarisches System, das eine exemplarische Rechenvorrichtung 1002 beinhaltet, die ein oder mehrere Rechensysteme und/oder eine oder mehrere Vorrichtungen darstellt, die die hier beschriebenen verschiedenen Techniken implementieren können. Dies ist durch Einbeziehung der Entwicklungs-App 118 und des Stimminteraktionsentwicklungssystems 104 dargestellt. Die Rechenvorrichtung 1002 kann beispielsweise ein Server eines Dienstanbieters, eine Vorrichtung, die einem Client zugeordnet ist (beispielsweise eine Clientvorrichtung), ein On-Chip-System und/oder eine beliebige andere geeignete Rechenvorrichtung oder ein solches Rechensystem sein. 10th Figure 900 generally shows an exemplary system that includes an exemplary computing device 1002 includes one or more computing systems and / or one or more devices that can implement the various techniques described herein. This is through the inclusion of the development app 118 and the voice interaction development system 104 shown. The computing device 1002 can be, for example, a server of a service provider, a device which is assigned to a client (for example a client device), an on-chip system and / or any other suitable computing device or such a computing system.

Die exemplarische Rechenvorrichtung 1002 beinhaltet, wie dargestellt ist, ein Verarbeitungssystem 1004, ein oder mehrere computerlesbare Medien 1006 und eine oder mehrere I/O-Schnittstellen 1008, die kommunikationstechnisch miteinander gekoppelt sind. Obwohl dies nicht gezeigt ist, kann die Rechenvorrichtung 1002 des Weiteren einen Systembus oder ein anderes Daten- und Befehlsübertragungssystem beinhalten, das die verschiedenen Komponenten miteinander koppelt. Ein Systembus kann eine beliebige Busstruktur oder eine Kombination aus verschiedenen Busstrukturen beinhalten, so beispielsweise einen Speicherbus oder einen Speichercontroller, einen Peripheriebus, einen universellen seriellen Bus und/oder einen Prozessor- oder Lokalbus, der eine Vielzahl von Busarchitekturen einsetzt. Eine Vielzahl von weiteren Beispielen, so beispielsweise Steuer- bzw. Regel- und Datenleitungen, ist ebenfalls einbezogen.The exemplary computing device 1002 includes a processing system as shown 1004 , one or more computer-readable media 1006 and one or more I / O interfaces 1008 that are coupled to one another in terms of communication technology. Although not shown, the computing device can 1002 further include a system bus or other data and command transmission system that couples the various components together. A system bus can contain any bus structure or a combination of different bus structures, for example a memory bus or a memory controller, a peripheral bus, a universal serial bus and / or a processor or local bus that uses a large number of bus architectures. A variety of other examples, such as control or regulation and data lines, are also included.

Das Verarbeitungssystem 1004 stellt eine Funktionalität zur Durchführung eines oder mehrerer Vorgänge unter Nutzung von Hardware dar. Entsprechend ist das Verarbeitungssystem 1004 derart dargestellt, dass es Hardwareelemente 1010 beinhaltet, die als Prozessoren, funktionelle Blöcke und dergleichen mehr konfiguriert sein können. Dies kann eine Implementierung in Hardware als anwendungsspezifische integrierte Schaltung oder als andere Logikvorrichtung, die unter Nutzung eines oder mehrerer Halbleiter gebildet ist, beinhalten. Die Hardwareelemente 1010 sind nicht durch die Materialien, aus denen sie gebildet sind, oder durch die Verarbeitungsmechanismen, die zum Einsatz kommen, beschränkt. Die Prozessoren können beispielsweise aus einem Halbleiter / Halbleitern und/oder Transistoren (beispielsweise elektronischen integrierten Schaltungen (ICs)) bestehen. In diesem Zusammenhang können prozessorseitig ausführbare Anweisungen elektronisch ausführbare Anweisungen sein.The processing system 1004 represents a functionality for performing one or more operations using hardware. The processing system is corresponding 1004 represented such that there are hardware elements 1010 includes that can be configured as processors, functional blocks, and the like. This may include implementation in hardware as an application specific integrated circuit or as another logic device formed using one or more semiconductors. The hardware elements 1010 are not limited by the materials from which they are formed or by the processing mechanisms that are used. The processors can consist, for example, of a semiconductor / semiconductors and / or transistors (for example electronic integrated circuits (ICs)). In this context, instructions that can be executed on the processor side can be instructions that can be carried out electronically.

Die computerlesbaren Speichermedien 1006 sind derart dargestellt, dass sie einen Memory / Speicher 1012 beinhalten. Der Memory / Speicher 1012 bietet eine Memory-/Speicherkapazität, die einem oder mehreren computerlesbaren Medien zugeordnet ist. Die Memory-/Speicherkomponente 1012 kann flüchtige Medien (so beispielsweise einen Speicher mit wahlfreiem Zugriff (RAM)) und/oder nichtflüchtige Medien (so beispielsweise einen Nur-Lese-Speicher (ROM), einen Flash-Speicher, optische Platten, magnetische Platten und dergleichen mehr) beinhalten. Die Memory-/Speicherkomponente 1012 kann feste Medien (beispielsweise RAM, ROM, ein Festplattenlaufwerk und dergleichen mehr) wie auch entfernbare Medien (beispielsweise einen Flash-Speicher, ein entfernbares Festplattenlaufwerk, eine optische Platte und dergleichen mehr) beinhalten. Die computerlesbaren Medien 1006 können auf vielerlei Arten, wie nachstehend noch beschrieben wird, konfiguriert sein.The computer readable storage media 1006 are shown such that they have a memory 1012 include. The memory 1012 offers a memory capacity that is assigned to one or more computer-readable media. The memory component 1012 may include volatile media (such as random access memory (RAM)) and / or non-volatile media (such as read only memory (ROM), flash memory, optical disks, magnetic disks, and the like). The memory component 1012 may include fixed media (e.g. RAM, ROM, a hard disk drive and the like) as well as removable media (e.g. a flash memory, a removable hard disk drive, an optical disk and the like). The computer readable media 1006 can be configured in a variety of ways, as described below.

Eine Eingabe-/Ausgabe-Schnittstelle / Eingabe-/Ausgabe-Schnittstellen 1008 bietet/bieten eine Funktionalität, die ermöglicht, dass ein Nutzer Befehle und Information in die Rechenvorrichtung 1002 eingibt, und die zudem ermöglicht, dass dem Nutzer und/oder anderen Komponenten oder Vorrichtungen Information unter Nutzung verschiedener Eingabe-/Ausgabevorrichtungen präsentiert wird. Beispiele für Eingabevorrichtungen beinhalten eine Tastatur, eine Cursorsteuer- bzw. Regelvorrichtung (beispielsweise eine Maus), ein Mikrofon, einen Scanner, eine Berührungsfunktionalität (beispielsweise kapazitive oder andere Sensoren, die dafür konfiguriert sind, eine physische Berührung zu detektieren), eine Kamera (die beispielsweise sichtbare oder unsichtbare Wellenlängen, so beispielsweise Infrarotfrequenzen, dafür einsetzen kann, Bewegungen als Gesten, die keine Berührung implizieren, zu erkennen), und dergleichen mehr. Beispiele für Ausgabevorrichtungen beinhalten eine Anzeigevorrichtung (beispielsweise einen Monitor oder Projektor), Lautsprecher, einen Drucker, eine Netzwerkkarte, eine taktil-reaktive Vorrichtung und dergleichen mehr. Daher kann die Rechenvorrichtung 1002 auf vielerlei Arten, wie nachstehend noch beschrieben wird, konfiguriert sein, um die Nutzerinteraktion zu unterstützen.An input / output interface / input / output interfaces 1008 provides functionality that enables a user to enter commands and information into the computing device 1002 inputs, and which also enables the user and / or other components or devices to be presented with information using various input / output devices. Examples of input devices include a keyboard, a cursor control device (e.g., a mouse), a microphone, a scanner, a touch functionality (e.g., capacitive or other sensors configured to detect physical touch), a camera (the For example, visible or invisible wavelengths, such as infrared frequencies, can be used to recognize movements as gestures that do not imply touch), and the like. Examples of output devices include a display device (e.g., a monitor or projector), speakers, a printer, a network card, a tactile-reactive device, and the like. Therefore, the computing device 1002 in many ways, like to be described below, can be configured to support user interaction.

Es sind hier verschiedene Techniken im allgemeinen Kontext von Software, Hardwareelementen oder Programmmodulen beschrieben worden. Allgemein beinhalten derartige Module Routinen, Programme, Objekte, Elemente, Komponenten, Datenstrukturen und dergleichen mehr, die bestimmte Aufgaben ausführen oder bestimmte abstrakte Datentypen implementieren. Die Begriffe „Modul“, „Funktionalität“ und „Komponente“ bezeichnen im Sinne des Vorliegenden allgemein Software, Firmware, Hardware oder eine Kombination hieraus. Die Merkmale der hier beschriebenen Techniken sind plattformunabhängig, was bedeutet, dass die Techniken auf einer Vielzahl von handelsüblichen Rechenplattformen mit einer Vielzahl von Prozessoren implementiert sein können.Various techniques have been described in the general context of software, hardware elements, or program modules. In general, such modules include routines, programs, objects, elements, components, data structures and the like, which perform certain tasks or implement certain abstract data types. The terms "module", "functionality" and "component" generally refer to software, firmware, hardware, or a combination thereof, as used herein. The features of the techniques described here are platform-independent, which means that the techniques can be implemented on a large number of commercially available computing platforms with a large number of processors.

Eine Implementierung der beschriebenen Module und Techniken kann auf einer bestimmten Form von computerlesbaren Medien gespeichert sein oder über diese übertragen werden. Die computerlesbaren Medien können eine Vielzahl von Medien beinhalten, auf die von der Rechenvorrichtung 1002 zugegriffen werden kann. Beispiels- und nicht beschränkungshalber können computerlesbare Medien „computerlesbare Speichermedien“ und „computerlesbare Signalmedien“ beinhalten.An implementation of the modules and techniques described can be stored on or transmitted via a specific form of computer-readable media. The computer readable media may include a variety of media on which the computing device is based 1002 can be accessed. By way of example and not limitation, computer readable media may include "computer readable storage media" and "computer readable signal media".

„Computerlesbare Speichermedien“ können Medien und/oder Vorrichtungen bezeichnen, die eine dauerhafte und/oder nichttemporäre Speicherung von Information im Gegensatz zur bloßen Signalübertragung, zu Trägerwellen oder zu Signalen per se ermöglichen. Computerlesbare Speichermedien bezeichnen daher nichtsignaltragende Medien. Computerlesbare Speichermedien beinhalten Hardware, so beispielsweise flüchtige und nichtflüchtige, entfernbare und nichtentfernbare Medien und/oder Speichervorrichtungen, die in einem Verfahren oder einer Technologie implementiert sind, die zur Speicherung von Information geeignet ist, so beispielsweise als computerlesbare Anweisungen, Datenstrukturen, Programmmodule, Logikelemente/Schaltungen oder andere Daten. Beinhalten können Beispiele für computerlesbare Speichermedien unter anderem RAM, ROM, EEPROM, Flash-Speicher oder eine andere Speichertechnologie, CD-ROM, DVD oder einen anderen optischen Speicher, Festplatten, Magnetkassetten, Magnetbänder, Magnetplattenspeicher oder andere magnetische Speichervorrichtungen oder eine andere Speichervorrichtung, physische Medien oder Objekte, die dafür geeignet sind, dass gewünschte Information gespeichert wird, und auf die ein Computer zugreifen kann."Computer-readable storage media" can refer to media and / or devices that enable permanent and / or non-temporary storage of information in contrast to mere signal transmission, carrier waves or signals per se. Computer-readable storage media therefore refer to non-signal-carrying media. Computer-readable storage media contain hardware, for example volatile and non-volatile, removable and non-removable media and / or storage devices, which are implemented in a method or a technology which is suitable for storing information, for example as computer-readable instructions, data structures, program modules, logic elements / Circuits or other data. Examples may include computer readable storage media including RAM, ROM, EEPROM, flash memory or other storage technology, CD-ROM, DVD or other optical storage, hard drives, magnetic cartridges, magnetic tapes, magnetic disk storage or other magnetic storage devices or other storage devices, physical Media or objects that are suitable for storing the desired information and that can be accessed by a computer.

„Computerlesbare Signalmedien“ können signaltragende Medien bezeichnen, die dafür konfiguriert sind, Anweisungen an die Hardware der Rechenvorrichtung 1002 beispielsweise über ein Netzwerk zu übermitteln. Signalmedien können typischerweise computerlesbare Anweisungen, Datenstrukturen, Programmmodule oder andere Daten in einem modulierten Datensignal verkörpern, so beispielsweise Trägerwellen, Datensignale oder einen anderen Transportmechanismus. Signalmedien beinhalten zudem beliebige Informationsverteilungsmedien. Der Begriff „moduliertes Datensignal“ bezeichnet ein Signal, bei dem eine oder mehrere Eigenschaften derart eingestellt oder verändert sind, dass Information in dem Signal codiert ist. Beispiels- und nicht beschränkungshalber beinhalten Kommunikationsmedien drahtgebundene Medien, so beispielsweise ein drahtgebundenes Netzwerk oder eine direkt verdrahtete Verbindung, und drahtlose Medien, so beispielsweise akustische, hochfrequenzbasierte, infrarote und andere drahtlose Medien.“Computer-readable signal media” can refer to signal-carrying media that are configured to provide instructions to the hardware of the computing device 1002 for example, to transmit over a network. Signal media can typically embody computer readable instructions, data structures, program modules, or other data in a modulated data signal, such as carrier waves, data signals, or another transport mechanism. Signal media also contain any information distribution media. The term “modulated data signal” denotes a signal in which one or more properties are set or changed in such a way that information is encoded in the signal. By way of example and not limitation, communication media include wired media, such as a wired network or a direct wired connection, and wireless media, such as acoustic, radio frequency, infrared, and other wireless media.

Wie vorstehend beschrieben worden ist, stellen die Hardwareelemente 1010 und die computerlesbaren Medien 1006 Module, eine programmierbare Vorrichtungslogik und/oder eine feste Vorrichtungslogik dar, die in Form von Hardware implementiert sind, die bei einigen Ausführungsformen dafür eingesetzt werden kann, wenigstens einige Aspekte der hier beschriebenen Techniken beispielsweise zur Durchführung einer oder mehrerer Anweisungen zu implementieren. Die Hardware kann Komponenten einer integrierten Schaltung oder eines On-Chip-Systems, eine anwendungsspezifische integrierte Schaltung (ASIC), ein feldprogrammierbares Gate-Array (FPGA), eine komplexe programmierbare Logikvorrichtung (CPLD) und andere Implementierungen in Silizium oder anderer Hardware beinhalten. In diesem Zusammenhang kann Hardware als Verarbeitungsvorrichtung wirken, die Programmaufgaben wahrnimmt, die durch Anweisungen und/oder eine Logik definiert sind, die durch die Hardware verkörpert ist, wie auch Hardware, die zur Speicherung von Anweisungen zur Ausführung benutzt wird, so beispielsweise durch die vorbeschriebenen computerlesbaren Speichermedien.As described above, the hardware elements 1010 and the computer readable media 1006 Modules, programmable device logic, and / or fixed device logic implemented in the form of hardware that, in some embodiments, can be used to implement at least some aspects of the techniques described herein, for example, to perform one or more instructions. The hardware can include components of an integrated circuit or on-chip system, an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), a complex programmable logic device (CPLD) and other implementations in silicon or other hardware. In this context, hardware can act as a processing device that performs program tasks defined by instructions and / or logic embodied by the hardware, as well as hardware used to store instructions for execution, such as those previously described computer readable storage media.

Kombinationen des Vorbeschriebenen können zudem zur Implementierung verschiedener hier beschriebener Techniken eingesetzt werden. Entsprechend können Software, Hardware oder ausführbare Module als eine oder mehrere Anweisungen und/oder Logik implementiert sein, die in irgendeiner Form von computerlesbaren Speichermedien und/oder durch ein oder mehrere Hardwareelemente 1010 verkörpert ist. Die Rechenvorrichtung 1002 kann dafür konfiguriert sein, bestimmte Anweisungen und/oder Funktionen entsprechend Software- und/oder Hardwaremodulen zu implementieren. Entsprechend kann eine als Software gegebene Implementierung eines Moduls, das von der Rechenvorrichtung 1002 ausführbar ist, auch wenigstens teilweise in Hardware erreicht werden, so beispielsweise unter Nutzung computerlesbarer Speichermedien und/oder Hardwareelemente 1010 des Verarbeitungssystems 1004. Die Anweisungen und/oder Funktionen können von einem oder mehreren Objekten (beispielsweise einer oder mehreren Rechenvorrichtungen 1002 und/oder einem oder mehreren Verarbeitungssystemen 1004) ausführbar/betreibbar sein, um die hier beschriebenen Techniken, Module und Beispiele zu implementieren.Combinations of the foregoing can also be used to implement various techniques described here. Accordingly, software, hardware, or executable modules may be implemented as one or more instructions and / or logic implemented in some form of computer readable storage media and / or by one or more hardware elements 1010 is embodied. The computing device 1002 can be configured to implement certain instructions and / or functions according to software and / or hardware modules. Correspondingly, an implementation of a module, given by software, can be carried out by the computing device 1002 is executable, at least partially can be achieved in hardware, for example using computer-readable storage media and / or hardware elements 1010 of the processing system 1004 . The instructions and / or functions can be of one or more objects (for example one or more computing devices 1002 and / or one or more processing systems 1004 ) be executable / operable to implement the techniques, modules and examples described here.

Die hier beschriebenen Techniken können von verschiedenen Konfigurationen der Rechenvorrichtung 1002 unterstützt werden und sind nicht auf die spezifischen Beispiele für die hier beschriebenen Techniken beschränkt. Die Funktionalität kann zudem gänzlich oder in Teilen unter Nutzung eines verteilten Systems implementiert sein, so beispielsweise über eine „Cloud“ 1014 mittels einer Plattform 1016, wie nachstehend noch beschrieben wird.The techniques described here can vary in various configurations of the computing device 1002 are supported and are not limited to the specific examples of the techniques described here. The functionality can also be implemented entirely or in parts using a distributed system, for example via a "cloud" 1014 using a platform 1016 as described below.

Die Cloud 1014 beinhaltet eine Plattform 1016 für Ressourcen 1018 und/oder stellt diese dar. Die Plattform 1016 abstrahiert die zugrunde liegende Funktionalität der Hardware- (beispielsweise Server) und Softwareressourcen der Cloud 1010. Die Ressourcen 1018 können Anwendungen bzw. Apps und/oder Daten beinhalten, die eingesetzt werden können, während eine Computerverarbeitung auf Servern ausgeführt wird, die von der Rechenvorrichtung 1002 entfernt sind. Die Ressourcen 1018 können zudem Dienste beinhalten, die über das Internet und/oder über ein Teilnehmernetzwerk bereitgestellt werden, so beispielsweise ein zellenbasiertes oder ein Wi-Fi-Netzwerk.The cloud 1014 includes a platform 1016 for resources 1018 and / or represents it. The platform 1016 abstracts the underlying functionality of the hardware (e.g. server) and software resources of the cloud 1010 . The resources 1018 may include applications and / or data that can be used while computer processing is performed on servers that are run by the computing device 1002 are removed. The resources 1018 may also include services that are provided over the Internet and / or over a subscriber network, such as a cell-based or a Wi-Fi network.

Die Plattform 1016 kann Ressourcen und Funktionen abstrahieren, um die Rechenvorrichtung 1002 mit anderen Rechenvorrichtungen zu verbinden. Die Plattform 1016 kann zudem dazu dienen, die Skalierung von Ressourcen zu abstrahieren, um einen entsprechenden Skalierungsgrad für bestehenden Bedarf an den Ressourcen 1018, die über die Plattform 1016 implementiert sind, bereitzustellen. Entsprechend kann bei einer Ausführungsform mit wechselseitig verbundenen Vorrichtungen eine Implementierung der hier beschriebenen Funktionalität über das System 1000 verteilt sein. Die Funktionalität kann teilweise beispielsweise auch auf der Rechenvorrichtung 1002 wie auch über die Plattform 1016, die die Funktionalität der Cloud 1010 abstrahiert, implementiert sein.The platform 1016 can abstract resources and functions to the computing device 1002 to connect with other computing devices. The platform 1016 can also serve to abstract the scaling of resources in order to provide a corresponding degree of scaling for existing needs for the resources 1018 that over the platform 1016 are implemented to provide. Accordingly, in an embodiment with mutually connected devices, the implementation of the functionality described here can be implemented via the system 1000 be distributed. The functionality can also be used on the computing device, for example 1002 as well as through the platform 1016 that the functionality of the cloud 1010 be abstracted, implemented.

SchlussbemerkungFinal note

Obwohl die Erfindung in einer Sprache beschrieben worden ist, die für strukturelle Merkmale und/oder methodische Vorgänge spezifisch ist, sollte einsichtig sein, dass die in den beigefügten Ansprüchen definierte Erfindung nicht unbedingt auf die beschriebenen spezifischen Merkmale oder Vorgänge beschränkt ist. Vielmehr sind die spezifischen Merkmale und Vorgänge als exemplarische Formen der Implementierung der beanspruchten Erfindung offenbart.Although the invention has been described in a language specific to structural features and / or methodological processes, it should be appreciated that the invention as defined in the appended claims is not necessarily limited to the specific features or processes described. Rather, the specific features and acts are disclosed as exemplary forms of implementing the claimed invention.

ZITATE ENTHALTEN IN DER BESCHREIBUNG QUOTES INCLUDE IN THE DESCRIPTION

Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.This list of documents listed by the applicant has been generated automatically and is only included for the better information of the reader. The list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions.

Zitierte PatentliteraturPatent literature cited

  • US 62794466 [0001]US 62794466 [0001]

Claims (20)

Verfahren, das durch wenigstens eine Rechenvorrichtung implementiert ist, in einer Digitalmedienumgebung, die das Testen eines App-Prototyps mit Stimmfunktionalität ermöglicht, wobei das Verfahren umfasst: durch die wenigstens eine Rechenvorrichtung erfolgendes Vorhalten von Interaktionsdaten, die dem App-Prototyp zugeordnet sind, in einem Speicher, wobei die Interaktionsdaten gespeicherte Stimmbefehle, Handlungen, die in Erwiderung auf die Detektion jeweiliger gespeicherter Stimmbefehle durchgeführt werden sollen, und wenigstens eine visuelle Page umfassen; an einer Anzeigevorrichtung der wenigstens einen Rechenvorrichtung erfolgendes Anzeigen der wenigstens einen visuellen Page während einer Testphase für den App-Prototyp; durch wenigstens ein Mikrofon erfolgendes Aufnehmen eines nichtphonetischen Stimmbefehls, der in einer Sprache mit einem nichtphonetischen Alphabet gesprochen wird; in Echtzeit erfolgendes Kommunizieren des nichtphonetischen Stimmbefehls an einen Gesprochenes-zu-Text-Dienst zum Umwandeln des nichtphonetischen Stimmbefehls in einen in dem nichtphonetischen Alphabet gegebenen nichtphonetischen Textstring des Stimmbefehls; in Echtzeit erfolgendes Kommunizieren des nichtphonetischen Textstrings des Stimmbefehls an einen phonetischen Sprachübersetzer zum Übersetzen des nichtphonetischen Textstrings in einen in einem phonetischen Alphabet gegebenen phonetischen Textstring des Stimmbefehls; Vergleichen des phonetischen Textstrings des Stimmbefehls mit in dem phonetischen Alphabet gegebenen phonetischen Textstrings der gespeicherten Stimmbefehle, die dem App-Prototyp zugeordnet sind, zum Identifizieren eines passenden Stimmbefehls; und Durchführen einer Handlung, die dem passenden Stimmbefehl in dem Speicher zugeordnet ist.A method implemented by at least one computing device in a digital media environment that enables testing of an app prototype with voice functionality, the method comprising: by the at least one computing device, holding interaction data associated with the app prototype in a memory, the interaction data comprising stored voice commands, actions that are to be performed in response to the detection of respective stored voice commands, and at least one visual page; on a display device of the at least one computing device, displaying the at least one visual page during a test phase for the app prototype; recording at least one microphone of a non-phonetic voice command spoken in a language with a non-phonetic alphabet; communicating in real time the non-phonetic voice command to a voice-to-text service to convert the non-phonetic voice command into a non-phonetic text string of the voice command given in the non-phonetic alphabet; communicating in real time the non-phonetic text string of the voice command to a phonetic language translator for translating the non-phonetic text string into a phonetic text string of the voice command given in a phonetic alphabet; Comparing the phonetic text string of the voice command with phonetic text strings of the stored voice commands given in the phonetic alphabet associated with the app prototype to identify a suitable voice command; and Perform an action associated with the appropriate voice command in the memory. Verfahren nach Anspruch 1, wobei die gespeicherten Stimmbefehle vor der Testphase als in dem nichtphonetischen Alphabet gegebene nichtphonetische Textstrings empfangen werden.Procedure according to Claim 1 , wherein the stored voice commands are received before the test phase as non-phonetic text strings given in the non-phonetic alphabet. Verfahren nach Anspruch 2, wobei die gespeicherten Stimmbefehle in dem Speicher als nichtphonetische Textstrings der gespeicherten Stimmbefehle vorgehalten werden und wobei der phonetische Sprachübersetzer die nichtphonetischen Textstrings der gespeicherten Stimmbefehle in die in dem phonetischen Alphabet gegebenen phonetischen Textstrings der gespeicherten Stimmbefehle während der Testphase übersetzt.Procedure according to Claim 2 , wherein the stored voice commands are held in the memory as non-phonetic text strings of the stored voice commands and the phonetic language translator translates the non-phonetic text strings of the stored voice commands into the phonetic text strings of the stored voice commands given in the phonetic alphabet during the test phase. Verfahren nach Anspruch 2 oder 3, wobei der phonetische Sprachübersetzer die nichtphonetischen Textstrings der gespeicherten Stimmbefehle in die in dem phonetischen Alphabet gegebenen phonetischen Textstrings der gespeicherten Stimmbefehle vor der Testphase übersetzt und wobei die gespeicherten Stimmbefehle in dem Speicher als phonetische Textstrings der gespeicherten Stimmbefehle vorgehalten werden.Procedure according to Claim 2 or 3rd , wherein the phonetic language translator translates the non-phonetic text strings of the stored voice commands into the phonetic text strings of the stored voice commands given in the phonetic alphabet before the test phase, and wherein the stored voice commands are stored in the memory as phonetic text strings of the stored voice commands. Verfahren nach einem der vorhergehenden Ansprüche, wobei das Vergleichen umfasst: Vergleichen einer Anzahl von Zeichen, die der nichtphonetische Textstring des Stimmbefehls mit den nichtphonetischen Textstrings der gespeicherten Stimmbefehle gemeinsam hat.The method of any preceding claim, wherein the comparing comprises: Compare a number of characters that the non-phonetic text string of the voice command has in common with the non-phonetic text strings of the stored voice commands. Verfahren nach Anspruch 5, wobei der passende Stimmbefehl wenigstens teilweise auf Grundlage des phonetischen Textstrings des passenden Stimmbefehls mit einer höchsten Anzahl von passenden Zeichen bezüglich des phonetischen Textstrings des aufgenommenen Stimmbefehls identifiziert wird.Procedure according to Claim 5 wherein the matching voice command is identified based at least in part on the phonetic text string of the matching voice command with a maximum number of matching characters with respect to the phonetic text string of the recorded voice command. Verfahren nach einem der vorhergehenden Ansprüche, wobei der nichtphonetische Textstring des Stimmbefehls in Mandarin-Chinesisch geschrieben ist und wobei der übersetzte phonetische Textstring des Stimmbefehls in Pinyin geschrieben ist.Method according to one of the preceding claims, wherein the non-phonetic text string of the voice command is written in Mandarin Chinese and wherein the translated phonetic text string of the voice command is written in Pinyin. Verfahren nach einem der vorhergehenden Ansprüche, wobei der nichtphonetische Textstring des Stimmbefehls in Kanji geschrieben ist und wobei der übersetzte phonetische Textstring des Stimmbefehls in Romaji geschrieben ist.Method according to one of the preceding claims, wherein the non-phonetic text string of the voice command is written in Kanji and wherein the translated phonetic text string of the voice command is written in Romaji. Verfahren nach einem der vorhergehenden Ansprüche, wobei der phonetische Textstring des Stimmbefehls und die phonetischen Textstrings der gespeicherten Stimmbefehle in demselben phonetischen Alphabet geschrieben sind.Method according to one of the preceding claims, wherein the phonetic text string of the voice command and the phonetic text strings of the stored voice commands are written in the same phonetic alphabet. Verfahren nach einem der vorhergehenden Ansprüche, wobei der phonetische Sprachübersetzer nichtphonetische Textstrings in Sprachen mit nichtphonetischen Alphabeten übersetzt, indem er die nichtphonetischen Textstrings in lateinischer Schrift romanisiert.Method according to one of the preceding claims, wherein the phonetic language translator translates non-phonetic text strings into languages with non-phonetic alphabets by romanizing the non-phonetic text strings in Latin script. System, umfassend: ein Testmodul zum Anzeigen wenigstens einer visuellen Page eines App-Prototyps an einer Anzeigevorrichtung während einer Testphase des App-Prototyps; einen Gesprochenes-zu-Text-Dienst zum Umwandeln eines nichtphonetischen Stimmbefehls, der in einer Sprache mit einem nichtphonetischen Alphabet gesprochen und von wenigstens einem Mikrofon während der Testphase des App-Prototyps aufgenommen wird, in einen in einem nichtphonetischen Alphabet gegebenen nichtphonetischen Textstring des Stimmbefehls; einen phonetischen Sprachübersetzer zum Übersetzen des nichtphonetischen Textstrings des Stimmbefehls in einen in einem phonetischen Alphabet gegebenen phonetischen Textstring des Stimmbefehls; ein Vergleichsmodul zum Vergleichen des phonetischen Textstrings des Stimmbefehls mit in dem phonetischen Alphabet gegebenen phonetischen Textstrings von gespeicherten Stimmbefehlen, die dem App-Prototyp zugeordnet sind, zum Identifizieren eines passenden Stimmbefehls; und ein Durchführungsmodul zum Durchführen einer Handlung, die dem passenden Stimmbefehl zugeordnet ist.A system comprising: a test module for displaying at least one visual page of an app prototype on a display device during a test phase of the app prototype; a spoken-to-text service for converting a non-phonetic voice command spoken in a language with a non-phonetic alphabet and picked up by at least one microphone during the test phase of the app prototype into one in a non-phonetic Alphabet given non-phonetic text string of the voice command; a phonetic speech translator for translating the non-phonetic text string of the voice command into a phonetic text string of the voice command given in a phonetic alphabet; a comparison module for comparing the phonetic text string of the voice command with phonetic text strings given in the phonetic alphabet of stored voice commands that are associated with the app prototype, to identify a suitable voice command; and an execution module for performing an action associated with the appropriate voice command. System nach Anspruch 11, wobei das Vergleichsmodul dafür konfiguriert ist, den passenden Stimmbefehl zu identifizieren durch: Vergleichen einer Anzahl von Zeichen, die der nichtphonetische Textstring des Stimmbefehls mit den nichtphonetischen Textstrings der gespeicherten Stimmbefehle gemeinsam hat; und Identifizieren des passenden Stimmbefehls wenigstens teilweise auf Grundlage des phonetischen Textstrings des passenden Stimmbefehls mit einer höchsten Anzahl von passenden Zeichen bezüglich des phonetischen Textstrings des aufgenommenen Stimmbefehls.System according to Claim 11 , wherein the comparison module is configured to identify the appropriate voice command by: comparing a number of characters that the non-phonetic text string of the voice command has in common with the non-phonetic text strings of the stored voice commands; and identifying the matching voice command based at least in part on the phonetic text string of the matching voice command with a maximum number of matching characters with respect to the phonetic text string of the recorded voice command. System nach Anspruch 11 oder 12, wobei der nichtphonetische Textstring des Stimmbefehls in Mandarin-Chinesisch geschrieben ist und wobei der übersetzte phonetische Textstring des Stimmbefehls in Pinyin geschrieben ist.System according to Claim 11 or 12th , with the non-phonetic text string of the voice command written in Mandarin Chinese, and the translated phonetic text string of the voice command written in Pinyin. System nach einem der Ansprüche 11 bis 13, wobei der nichtphonetische Textstring des Stimmbefehls in Kanji geschrieben ist und wobei der übersetzte phonetische Textstring des Stimmbefehls in Romaji geschrieben ist.System according to one of the Claims 11 to 13 , where the non-phonetic text string of the voice command is written in Kanji and the translated phonetic text string of the voice command is written in Romaji. System nach einem der Ansprüche 11 bis 14, wobei das Durchführungsmodul dafür konfiguriert ist, die Handlung durchzuführen durch: Identifizieren einer gesprochenen Erwiderung, die dem passenden Stimmbefehl zugeordnet ist; Bereitstellen eines Textstrings der gesprochenen Erwiderung für einen Text-zu-Gesprochenem-Dienst; von dem Text-zu-Gesprochenem-Dienst her erfolgendes Empfangen einer Tondatei der gesprochenen Erwiderung; und Ausgeben der gesprochenen Erwiderung durch Abspielen der Tondatei.System according to one of the Claims 11 to 14 wherein the execution module is configured to perform the action by: identifying a spoken response associated with the appropriate voice command; Providing a spoken reply text string for a text-to-speech service; receiving a spoken response audio file from the text-to-speech service; and outputting the spoken response by playing the sound file. System nach einem der Ansprüche 11 bis 15, wobei das Durchführungsmodul dafür konfiguriert ist, die Handlung durchzuführen durch: Identifizieren eines Page-Übergangs, der dem passenden Stimmbefehl zugeordnet ist, wobei der Page-Übergang eine zusätzliche visuelle Page des App-Prototyps identifiziert; und Anzeigen der anderen visuellen Page des App-Prototyps.System according to one of the Claims 11 to 15 , wherein the implementation module is configured to perform the action by: identifying a page transition associated with the appropriate voice command, the page transition identifying an additional visual page of the app prototype; and display the other visual page of the app prototype. System nach einem der Ansprüche 11 bis 16, wobei die gespeicherten Stimmbefehle vor der Testphase als in dem nichtphonetischen Alphabet gegebene nichtphonetische Textstrings empfangen werden.System according to one of the Claims 11 to 16 , wherein the stored voice commands are received before the test phase as non-phonetic text strings given in the non-phonetic alphabet. System nach Anspruch 17, wobei die gespeicherten Stimmbefehle in einem Speicher als nichtphonetische Textstrings der gespeicherten Stimmbefehle vorgehalten werden und wobei der phonetische Sprachübersetzer des Weiteren dafür konfiguriert ist, die nichtphonetischen Textstrings der gespeicherten Stimmbefehle in die phonetischen Textstrings der gespeicherten Stimmbefehle während der Testphase zu übersetzen.System according to Claim 17 , wherein the stored voice commands are held in a memory as non-phonetic text strings of the stored voice commands and wherein the phonetic speech translator is further configured to translate the non-phonetic text strings of the stored voice commands into the phonetic text strings of the stored voice commands during the test phase. System nach Anspruch 17 oder 18, wobei der phonetische Sprachübersetzer des Weiteren dafür konfiguriert ist, die nichtphonetischen Textstrings der gespeicherten Stimmbefehle in die in dem phonetischen Alphabet gegebenen phonetischen Textstrings der gespeicherten Stimmbefehle vor der Testphase zu übersetzen und wobei die gespeicherten Stimmbefehle in einem Speicher als phonetische Textstrings der gespeicherten Stimmbefehle vorgehalten werden.System according to Claim 17 or 18th , wherein the phonetic speech translator is further configured to translate the non-phonetic text strings of the stored voice commands into the phonetic text strings of the stored voice commands given in the phonetic alphabet prior to the test phase, and wherein the stored voice commands are stored in a memory as phonetic text strings of the stored voice commands . System nach einem der Ansprüche 11 bis 19, wobei der phonetische Sprachübersetzer dafür konfiguriert ist, nichtphonetische Textstrings in Sprachen mit nichtphonetischen Alphabeten zu übersetzen, indem er die nichtphonetischen Textstrings in lateinischer Schrift romanisiert.System according to one of the Claims 11 to 19th , wherein the phonetic language translator is configured to translate non-phonetic text strings into languages with non-phonetic alphabets by romanizing the non-phonetic text strings in Latin script.
DE102019007797.0A 2019-01-18 2019-11-11 Matching voice commands while testing voice-assisted app prototypes for languages with non-phonetic alphabets Active DE102019007797B4 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201962794466P 2019-01-18 2019-01-18
US62/794,466 2019-01-18
US16/420,829 US11017771B2 (en) 2019-01-18 2019-05-23 Voice command matching during testing of voice-assisted application prototypes for languages with non-phonetic alphabets
US16/420,829 2019-05-23

Publications (2)

Publication Number Publication Date
DE102019007797A1 true DE102019007797A1 (en) 2020-07-23
DE102019007797B4 DE102019007797B4 (en) 2023-11-30

Family

ID=69063144

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102019007797.0A Active DE102019007797B4 (en) 2019-01-18 2019-11-11 Matching voice commands while testing voice-assisted app prototypes for languages with non-phonetic alphabets

Country Status (2)

Country Link
DE (1) DE102019007797B4 (en)
GB (1) GB2580755B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102023104306A1 (en) * 2023-02-22 2024-08-22 Rheinmetall Electronics Gmbh METHOD AND DEVICE FOR COMMUNICATION WITH A TECHNICAL DEVICE USING VOICE INPUTS

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2270956A1 (en) 1996-11-05 1998-05-14 Kanji Software, Inc. Method for converting non-phonetic characters into surrogate words for inputting into a computer
KR101086550B1 (en) 2009-06-24 2011-11-23 엔에이치엔(주) Japanese automatic recommendation system and method using roman conversion
CN110162789B (en) * 2019-05-13 2023-07-21 北京一览群智数据科技有限责任公司 Word representation method and device based on Chinese pinyin
CN110570858A (en) * 2019-09-19 2019-12-13 芋头科技(杭州)有限公司 Voice awakening method and device, intelligent sound box and computer readable storage medium

Also Published As

Publication number Publication date
GB2580755B (en) 2021-12-29
GB2580755A (en) 2020-07-29
DE102019007797B4 (en) 2023-11-30
GB201916764D0 (en) 2020-01-01

Similar Documents

Publication Publication Date Title
JP7111682B2 (en) Speech command matching during testing of a speech-assisted application prototype for languages using non-phonetic writing systems
US12147732B2 (en) Analyzing graphical user interfaces to facilitate automatic interaction
US10489112B1 (en) Method for user training of information dialogue system
TWI684881B (en) Method, system and non-transitory machine-readable medium for generating a conversational agentby automatic paraphrase generation based on machine translation
TWI510965B (en) Input method editor integration
US9691381B2 (en) Voice command recognition method and related electronic device and computer-readable medium
US20150025885A1 (en) System and method of dictation for a speech recognition command system
US20140258892A1 (en) Resource locator suggestions from input character sequence
DE202017105669U1 (en) Modality learning on mobile devices
TW200900967A (en) Multi-mode input method editor
US7669122B2 (en) Using input of rhyming characters for computer text entry of Chinese characters
EP2891041B1 (en) User interface apparatus in a user terminal and method for supporting the same
KR20090058409A (en) System and method for providing and utilizing editable personal dictionaries
DE102014101026A1 (en) Stylus shorthand
DE102014101027A1 (en) Stylus with encyclopedia sharing
RU2631975C2 (en) Method and system for user input command processing
Lee Voice user interface projects: build voice-enabled applications using dialogflow for google home and Alexa skills kit for Amazon Echo
DE102019007797B4 (en) Matching voice commands while testing voice-assisted app prototypes for languages with non-phonetic alphabets
US20150088486A1 (en) Written language learning using an enhanced input method editor (ime)
CN118410134A (en) Method, device, apparatus and storage medium for creating a digital assistant
US20250054496A1 (en) Method and apparatus for fixing a voice query
JP2013168158A (en) Exemplar descriptions of homophones to assist visually impaired users
CN119990088A (en) Information processing method, electronic device, storage medium and product
CN119227643A (en) Text information processing method, device, electronic device and storage medium
PINA Conversational web browsing: a heuristic approach to the generation of chatbots out of websites

Legal Events

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

Free format text: PREVIOUS MAIN CLASS: G06F0003160000

Ipc: G10L0015220000

R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G10L0015220000

Ipc: G10L0015260000

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