1

Thema: Befehlsmodus Sound-File

Hallo liebe Community!

Ich habe mir vor ein paar Wochen die Professional-Version von Dragon Naturally Speaking gekauft und mich ein wenig mit Scripten beschäftigt. Gemeinsam mit der Software "EventGhost" lassen sich nun so gut wie alle möglichen Dinge auf meinem Computer über Sprachbefehl steuern.

Da ich die Dragonleiste allerdings immer im Hintergrund habe, weiß ich oft nicht, ob Dragon (im Befehlsmodus) meinen Befehl auch verstanden hat? Daher hätte ich gerne, dass Dragon zB eine Sounddatei abspielt, wenn der gesprochene Text keinem Befehl zugeordnet werden konnte. Dann würde ich nämlich wissen, dass ich den Befehl noch einmal wiederholen muss. Beim Aufwachbefehl lässt sich das ja recht einfach mittels einer WAV-Datei und einer kleinen Änderung in der system.dvc machen.

Ist sowas in der Art möglich?

2

Re: Befehlsmodus Sound-File

trentacid schrieb:

Ist sowas in der Art möglich?

Da ich das Thema schon oft und intensiv erforscht habe, kann ich nach bestem Wissen und Gewissen sagen: es geht nicht.

DPI 15 (15.00.000.076) auf Windows 8.1 (64-bit)
SpeechMike Premium (LFH3500) mit Philips Device Control Center (3.0)
Intel i7 2600 QuadCore - 3.4 GHz - 8 MB L3-Cache - 6 GB RAM

3

Re: Befehlsmodus Sound-File

Hallo trentacid,
so allgemein und unspezifisch, wie die Aufgabe gestellt ist, kann die Antwort auch nur allgemein heißen: Geht nicht. Eine Prüfung, ob erkannter Text einem Befehl entspricht, ist nicht möglich. Außerdem macht das ja schon der Befehlsmodus.

Aber was genau ist Ihr Anliegen? Es geht doch wohl eher darum zu kontrollieren, ob ein Befehl AUSGEFÜHRT wurde. Wollen Sie nun ALLE (also auch die implementierten) Befehle kontrollieren oder nur die von Ihnen selbst geschriebenen, benutzerdefinierten? Und geht es im letzten Fall eigentlich nur um diejenigen, deren Aktion nicht unmittelbar erlebbar ist? (Einen Befehl "Licht an" braucht man nicht zusätzlich zu überwachen, das Licht geht an oder eben nicht).

Eine mögliche Lösung haben Sie doch schon für "Wach auf"-Befehls genannt: da lassen Sie doch auch nicht signalisieren, dass wach-auf nicht erkannt wurde, sondern im Fall der Erkennung sagt Dragon etwas wie "Mikrofon ist wieder an". Oder?
Falls Sie also einige (oder auch alle) Ihrer benutzerdefinieren Befehle kontrollieren wollen, dann beenden Sie doch jedes Skript (Sie müssen selbstverständlich alle Befehle als Skripte schreiben) mit der TTSPlayString-Anweisung (Playsound ist nicht so performant).

Gruß, Pascal   
,

4

Re: Befehlsmodus Sound-File

Erstmal vielen Dank für die prompte Beantwortung meiner Frage. So wie es aussieht, gibt es also dafür leider wirklich keine Möglichkeit - schade.

Es ist schon richtig, dass man bei 90% der Befehle sofort erkennt, ob der Befehl angenommen wurde oder nicht (siehe Ihr Beispiel mit "Licht an"), allerdings handelt es sich dabei um mehrere verschachtelte Skripte, die über EventGhost gesteuert werden und teilweise eben nur funktionieren, wenn der Befehl vorher erfolgreich ausgeführt wurde. Aber Sie haben recht, ich werde den Spieß jetzt einfach umdrehen und stattdessen bei jedem Befehl eine Sprachausgabe einfügen, wenn er entsprechend angenommen wurde.

Vielen Dank für eure Hilfe.

5

Re: Befehlsmodus Sound-File

Es dürfte alllerdings möglich sein, mittels Skript zwischen dem Befehls- und dem Diktiermodus zu wechseln? Gibt es da Vorlagen? Ich habe in der Forumsuche nichts dazu gefunden.

6

Re: Befehlsmodus Sound-File

Ja, das ist möglich, "Vorlagen" in dem Sinne gibt es hier nicht, aber weil ich gute Laune habe, und Sie für talentiert halte, hier ein Beispiel. Mit dem unten stehenden Skript kann man zwischen Normal- und Befehlsmodus hin- und herschalten:

Sub Main
    Dim EngineControl As New DgnEngineControl
    If ( EngineControl.RecognitionMode = dgnrecmodeNormal ) Then
        EngineControl.RecognitionMode = dgnrecmodeCommand
    Else
        EngineControl.RecognitionMode = dgnrecmodeNormal
    End If
End Sub

DPI 15 (15.00.000.076) auf Windows 8.1 (64-bit)
SpeechMike Premium (LFH3500) mit Philips Device Control Center (3.0)
Intel i7 2600 QuadCore - 3.4 GHz - 8 MB L3-Cache - 6 GB RAM