Weil ich heute darauf angesprochen und darum gebeten wurde kenntlich zu machen, wie es sich mit den hier vorgestellten Befehlen und Skripten bei den verschiedenen Versionen (Standard, Preferred, Professional) jeweils verhält, dazu ein allgemeiner Hinweis.
Wenn hier von "Skripten" die Rede ist, sind damit immer die so genannten "Advanced Scripting"-Makros gemeint, die erst ab der Version Professional und aufwärts verwendet werden können. In diesen Versionen kann man daneben noch "Schritt für Schritt"-Befehle definieren oder auch den eingebauten Makrorekorder verwenden.
In der Preferred Edition kann man lediglich die so genannten "Text & Grafik"-Befehle (Textbausteine) definieren. In der Standard-Version geht beides nicht.
Rüdiger Wilke
_______________________________________
Dragon Professional 16 auf Windows 10 Pro und Windows 11 SpeechMike Premium (LFH3500); Office 2019 Pro + Office 365 (monatliches Abo) HP ZBook Fury 17 G8 - i7-11800H - 24 MB SmartCache - 32 GB RAM - 1 TB SSD
Die Begriffe Sprachbefehl, Befehl, Makro, Sprachmakro, Skript werden leider in ziemlicher Unordnung verwendet, was wohl auf fehlende Definitionen und fachlich unsaubere Übersetzungen zurückzuführen ist. Das gilt nicht nur für Dragon. Die Entwicklung der Informationsverarbeitung entzieht sich ist nun mal auf Grund ihrer ungestümen Ausbreitung einer wissenschaftlichen, strengen Systematisierung.
Wir sollten generell von Sprachbefehlen sprechen, wenn das Ergebnis eines Diktates nicht der Text, sondern eine Aktion sein soll. Auch im Falle von Text&Grafik-Befehlen oder der Anweisung "Sendkeys" wird zuerst eine Aktion veranlasst, die ihrerseits Text erzeugt. Im gleichen Sinne könnte man auch von Makros (Sprachmakros) sprechen - in Angleichung an Word- und dergleichen-Makros. Im Unterschied dazu würde ich mit Skript den Inhalt, also den Code-Bestandteil, der Sprachbefehle bezeichnen, die vom Typ "Skripterstellungsbefehle" sind. Bestandteil der Skripte sind dann Definitionen, Anweisungen, etc., wie das in der Programmierung üblich ist. Diese Skripte sind ja eigentlich kurze, in sich abgeschlossene Programme. "Advanced scripting" beinhaltet die Dragon-eigenen Anweisungen wie AppBringUp, SendDragonKeys,..., aus denen anfangs die DVC-Sprachbefehle bestanden und die spätere Erweiterung hinsichtlich Visual Basic, was die Verbindung zu ActiveX herstellt. Und damit fast unbegrenzte Möglichkeiten für Sprachsteuerung geschaffen hat.
ja es stimmt, man kommt unweigerlich durcheinander beim Versuch, eine einheitliche Terminologie zu verwenden oder durchzusetzen, und wie Sie sagen, fängt es schon bei der Übersetzung vom - wie immer - amerikanischen Vorbild an. Wo beispielweise im englischen Profil als Befehlstyp "Advanced Scripting" verwendet wird, steht im deutschen "Skripterstellung". So war mein Versuch denn auch zu verstehen, die bisher hier vorgestellten "Skripte" einzuordnen, dies aber mehr hinsichtlich ihrer Verwendbarkeit in den jeweiligen Versionen von Dragon, auf Wunsch eines Mitgliedes, da offensichtlich Unklarheit darüber bestand.
Und wenn Sie mal über den großen Teich schauen, werden Sie feststellen, dass die Terminologie auch dort alles andere als stringent zum Einsatz kommt. Vielleicht wird unser angehender Graduierter der IT-Wissenschaften (Lindsay) dazu etwas sagen können. Aber ich fürchte fast, es ist ihm egal. Mal sehen...
Grüße Rüdiger Wilke
_______________________________________
Dragon Professional 16 auf Windows 10 Pro und Windows 11 SpeechMike Premium (LFH3500); Office 2019 Pro + Office 365 (monatliches Abo) HP ZBook Fury 17 G8 - i7-11800H - 24 MB SmartCache - 32 GB RAM - 1 TB SSD
I recommend reading the German translation of the following (which hopefully will be provided by Rüdiger) if required as I expect the Google translation will be very confusing due to the amount of similar terms and terminology used.
Perhaps as a supplement to what has already been said above here is a breakdown of the "Voice Command" structure within DNS. I agree that the term script, macro, command, natural language command , active accessibility commands etc etc are often misused and even more often confused. If we can use the generic term "VOICE COMMAND" to cover all voice instructions/actions (as opposed to dictation) then a breakdown follows:
1. SCRIPT (Text & Graphics, Step-by-step, Macro Recorder, Advanced Script, DVC Script, DVC Keys) - all of these are voice commands that your can directly edit or add to your voice commands available. They are contained in the My Cmds.dat file under your usernameCurrent folder. When typically setting up a new user there are 35 of these commands already in your MyCmds.dat file. DVC script and DVC Keys are also known as legacy commands and were replaced by the newer technologies Text & Graphics and Advanced Script (although DNS still supports these legacy type commands). Probably the most functional and most used of these types of commands is Advanced Script, the advanced scripting engine is based on the WinWrap Basic (COM) scripting engine and these types of scripts allows incorporation of ActiveX/COM components, Windows API functions etc. It would be nice in the next version of DNS if the scripting engine also allowed incorporation of .NET libraries as well as COM (perhaps by using the WinWrap Basic .NET scripting engine).
2. ACTIVE ACCESSIBILITY/UIAUTOMATION - these commands are picked up by DNS directly from a program interface where the specific program (e.g. Microsoft Word, Internet Explorer etc) supports the MSAA (Microsoft Active Accessibility) API. The MSAA API has been replaced in recent years by the UIAUTOMATION API. Using these Apis is how for example Microsoft have implemented the ShowNumbers technique with Windows speech recognition. These commands cannot be edited in any way. These Microsoft APIs are how DNS, for example, implements the "click link", "click " etc.
3. NATURAL LANGUAGE COMMANDS - these commands are integrated using the SAPI 4 Microsoft speech API and include commands such as "colour it black", "set size 20" etc as seen in the Microsoft office suite. These commands cannot be edited in any way.
4. OTHER HARDCODED COMMANDS - this is a generic section to cover all other commands that are hardcoded (non-editable) within DNS. These commands are implemented using various technologies including C++ and would include commands like "start Windows Explorer" , "start menu" etc.
Terms such as AppBringUp , ShellExecute , Sendkeys etc are what I would describe as methods or functions and these are individual scripting methods/functions available within the advanced script and DVC script engines.
As you can see from the length of the explanation above the generic term VOICE COMMANDS include quite a few different technologies and implementation methods for bringing voice instruction to your voice-activated application and therefore it is not surprising to me there is such confusion in the use of these technologies and terms.
thanks, it is much appreciated. I will provide the translation, but it will take me some time. Perhaps this evening.
Rüdiger
_______________________________________
Dragon Professional 16 auf Windows 10 Pro und Windows 11 SpeechMike Premium (LFH3500); Office 2019 Pro + Office 365 (monatliches Abo) HP ZBook Fury 17 G8 - i7-11800H - 24 MB SmartCache - 32 GB RAM - 1 TB SSD
Let me start by saying thanks once again for the effort that you have made to help us come to grips with the basic terms and technologies being used in the Dragon NaturallySpeaking command set, and for providing a lot of useful background information along the way. I am particularly fond of the approach that you have taken, in terms of concentrating on the ones that are relevant in Dragon, and thus putting aside other programming languages, which makes a lot of sense, in my opinion.
I'm also glad that you decided not to refer to some of the commands as "Mickey Mouse scripts", as usual, but I can see the reason why you did it and I won't let on which they are. Just as an aside, to me it seems, that this is one of the first chapters of the book that you are definitely going to write, aren't you?
Now, onto the translation:
*******************************************
Als mögliche Ergänzung zu den bisherigen Ausführungen möchte ich den Aufbau der Sprachbefehle in DNS skizzieren. Ich bin auch der Meinung, dass die Begriffe "Skript, Makro, Befehl, Natürlicher Sprachbefehl, Active Accessibility Befehle", usw. oft falsch verwendet und noch öfter miteinander verwechselt werden. Unter der Voraussetzung, dass wir den Oberbegriff "Sprachbefehl" (voice command) verwenden können, um damit sämtliche sprachgesteuerten Anweisungen/Aktionen zu erfassen, im Unterschied zum Textdiktat, ergibt sich folgende Struktur:
1. SKRIPT (Text & Grafik, Schritt-für-Schritt, Makrorecorder, Advanced Script, DVC Skript, DVC Tasten) - all dies sind Sprachbefehle, die direkt bearbeitet werden können oder selbst definiert (hinzugefügt) werden können. Sie sind alle in der Datei "MyCmds.dat" im Ordner des Benutzerprofil als "Benutzernamecurrent" enthalten. Bei der Erstellung eines Benutzerprofils sind bereits 35 solcher Befehle in dieser Datei angelegt.
DVC Skripte und DVC Tasten, auch "legacy commands" genannt, wurden durch neuere Technologien ersetzt, nämlich Text & Grafik Befehle und Advanced Scripts (obwohl DNS noch den alten Befehlstyp der "legacy commands" unterstützt).
Der wohl funktionellste und am meisten verwendete Befehlstyp davon sind die Advanced Scripts, der Advanced Skript Engine basiert auf dem WinWrap Basic (COM) Engine, und diese Skript-Typen ermöglichen die Einbindung von ActiveX/COM Komponenten, Windows API Funktionen usw. Es wäre schön, wenn es bei der nächsten Version von DNS auch möglich wäre, .NET Bibliotheken und COM Objekte einzubinden (möglicherweise durch Verwendung der WinWrap Basci .NET scripting engine).
2. ACTIVE ACCESSIBILITY/UI AUTOMATION - diese Befehle werden direkt von DNS aus einer Programmschnittstelle herausgelesen, wo das jeweilige Programm (zum Beispiel Microsoft Word, Internet Explorer usw.) die MSAA (Microsoft Active Accessibility) API unterstützt. Die MSAA API ist in den letzten Jahren durch UIAUTOMATION API ersetzt worden. Durch die Verwendung dieser API, beispielsweise, hat Microsoft die ShowNumbers Technik in die Windows Spracherkennung eingebaut. Diese Befehle können nicht bearbeitet werden. Die Microsoft API zum Beispiel wird verwendet, wenn DNS solche Befehle wie "klick Link", "klick " usw. ausführt.
3. NATÜRLICHE SPRACHBEFEHLE - diese Befehle sind integriert durch Verwendung der SAPI 4 Microsoft Sprach-API und umfasst solche Befehle wie "färb das schwarz" oder "mach das Schriftgröße 18", wie sie zum Beispiel in der Microsoft Office Suite verwendet werden. Es gibt keine Möglichkeit, diese Befehle zu bearbeiten.
4. ANDERE FEST EINGEBAUTE BEFEHLE - bei diesem Oberbegriff handelt es sich um alle diejenigen Befehle, die in DNS fest eingebaut sind und nicht bearbeitet werden können. Sie werden implementiert unter Verwendung verschiedener Technologien, einschließlich C++ und umfassend solcher Befehle wie "starte Windows Explorer" usw.
Begriffe wie "AppBringUP, ShellExecute, SendKeys" usw. würde ich beschreiben als Methoden oder Funktionen, und es handelt sich hierbei um einzelne Skript-Methoden/Funktionen, die innerhalb der Advanced Skript und DVC Skript Engine zur Verfügung stehen.
Wie aus dem Umfang der Darstellung bereits hervorgeht, umfasst der Oberbegriff "Sprachbefehle" eine Reihe verschiedener Technologien und Implementierungsmethoden, mithilfe derer Anwendungen sprachaktiviert werden können. Aus diesem Grund überrascht es mich nicht, dass es dabei zur Vermischung der Konzepte und Terminologien kommen kann.
Lindsay Adam
_______________________________________
Dragon Professional 16 auf Windows 10 Pro und Windows 11 SpeechMike Premium (LFH3500); Office 2019 Pro + Office 365 (monatliches Abo) HP ZBook Fury 17 G8 - i7-11800H - 24 MB SmartCache - 32 GB RAM - 1 TB SSD