Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   FreePascal Sprachsteuerung (https://www.delphipraxis.net/188242-sprachsteuerung.html)

alexkneo 12. Feb 2016 13:21

Sprachsteuerung
 
Hallo, ich arbeite mit der neusten Version von Lazarus da ich kein Delphi habe, ich möchte mein Programm sprachsteuern, z.B sage ich:"Hallo" und der Pc (Lazarus) antwortet mir:"Hallo User" oder ähnliches. Wie ich eine den Pc zum sprechen bringe habe ich schon herausgefunden.
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
   SpVoice := CreateOleObject('SAPI.SpVoice');

  SavedCW := Get8087CW;
  try
    Set8087CW(SavedCW or $4);
    SpVoice.Speak('Hallo',0);
  finally

    Set8087CW(SavedCW);
end;
Das Problem ist wie der Pc(Lazarus) meine Stimme erkennt oder das Wort erkennt und mir dann was zurücksagt.
Ich will das ganze nicht per Microsoft Speech oder so machen sondern wirklich mit Pascal(Lazarus). Danke im vorraus:)

Da ich noch nicht gerade der Pro in Pascal bin (ich hab es jetzt seid einem halben Jahr in der Schule, bin 9.Klasse) wäre es nett wenn ihr das ganze ausführlich erklärt, da ich es ansonsten vielleicht nicht verstehe. Danke :-D

haentschman 12. Feb 2016 17:20

AW: Sprachsteuerung
 
Moin...

Schau mal hier... Schnipp... Sollte der Link bei dir nicht funktionieren, gebe einfach "Spracherkennung" in die dp_reference ein. :thumb:

alexkneo 13. Feb 2016 09:15

AW: Sprachsteuerung
 
Leider funktioniert der Link nicht und was meinst du mit dp_reference? Ich bin noch nicht lang hier und in der Spracherkennung gibt es einiges in der Suche. Sry

haentschman 13. Feb 2016 11:31

AW: Sprachsteuerung
 
Moin...:P
Zitat:

was meinst du mit dp_reference?
...die geilste Suchmaschine wenn es um Delphi geht. :cheer:

dp_reference: http://www.delphipraxis.net/dp_reference.php
dp_reference + Spracherkennung: http://www.delphipraxis.net/dp_refer...pracherkennung
...und dann klickst du auf die Delphipraxis und halleluja 52 Themen mit Spracherkennung. :thumb:

Nachtrag:
Zitat:

gibt es einiges in der Suche
Dann hast du ja so ziemlich das Ergebnis schon gesehen. Auch das Beispiel in der Codelibrary?

alexkneo 13. Feb 2016 15:39

AW: Sprachsteuerung
 
Ja aber die meisten schreiben es sei zu schwer für einen einzelnen und man bräuchte jahre und ein team dafür. Der einzige der des richtig hingekriegt hat war obama aber das ist sehr kompliziert, so dass ich es nicht verstehen und ich denke dass ich von delphi ein bisschen ahnung hab. Problem: In der Schule lernen wir nur wie man mathe formeln in delphi macht aber dass ist meiner Meinung nach zu einfach. Das schwerste was ich bis jetzt dort hatte (es war eig. leicht) war es Pac Man zu programmieren und das war für fortgeschrittene laut lehrer.:cry:

jobo 13. Feb 2016 15:47

AW: Sprachsteuerung
 
Langweiliger Unterricht ist natürlich doof.

Was möchtest Du denn machen? "OK, google"...?
Ich glaube, das kannst Du vergessen. Der Lerneffekt dürfte sich vermutlich auch da sein, wenn Du fertige API nutzt.

Wenn Matheformeln einfach sind, wie sieht es dann mit einem Formel Parser aus?
Dem kannst Du dann nachher Formeln diktieren.

alexkneo 13. Feb 2016 15:59

AW: Sprachsteuerung
 
Ich hab Info erst ein halbes ja und weiß nicht was Parser sind (bin 9.Klasse) aber wenn du es mir erklärst könnte ich es mal probieren.
Aber nochmal zu meiner Frage:
Wäre es möglich einen Sound aufzunehmen und Lazarus überprüft dann ob der Sound im Micro dem aufgenommenen Sound zu z.B 90% gleicht, wenn dies der Fall ist führt es einen Befehl aus.
Code z.B
If //der aufgenommene Sound = Sound.a then //der Befehl
Das ist nur eine grobe Vorstellung.
Könnte mir jemand vielleicht so einen code sagen oder erklären

jobo 13. Feb 2016 22:44

AW: Sprachsteuerung
 
Ich will Dir die Idee nicht vermiesen, aber das ist wirklich nicht einfach.
Vielleicht kannst Du Dir ganz einfach eine kleine Vorstellung davon machen, was auf Dich zukommt.
Nimm Dir den Audiorekorder von Windows und sprich etwas rein, "Hallo". Dann spiel es wieder ab und schau es Dir an, also die Visualisierung der Frequenzen.
Dann mach das nochmal, 1, 2, 3 Aufnahmen und vergleiche die Aufzeichnung.
Du wirst sicher einige Dinge dabei feststellen.
unterschiedliche Länge der Aufnahme
unterschiedliche Lautstärke
Störgeräusche
Und schon an der Visualisierung sieht man einiges davon, ohne das man es sich anhören muss.
Wenn Du also die Lautstärke vereinheitlicht hast, die Pausen rausgeschnitten, die Störgeräusche gefiltert hast, dann kannst Du Dich daran machen, die Audiodaten zu vergleichen. Dann geht der Spaß erst los.

Ein Handy macht es idR auch nicht selbst, sondern schickt diese Daten an google/apple, dort rechnen Server das durch. Die Mechanismen dahinter kenne ich nicht ansatzweise. Ich vermute(!) es ist einerseits ein Rechenzeitproblem und andererseits die Methodik, die vermutlich zu einem guten Teil auf statistischen Verfahren beruht.
Es ist noch nicht so viele Jahre her, da musste Spracherkennung am PC noch trainiert werden, also der Sprecher trainierte das Erkennungsprogramm.

jaenicke 14. Feb 2016 07:35

AW: Sprachsteuerung
 
Du findest hier eine Möglichkeit so etwas über die Windows API zu lösen. Schon das ist nicht so einfach...
http://edn.embarcadero.com/article/029583
Wenn du die Quelltexte verstehst und anwenden kannst, die in dem Artikel erklärt werden, bist du schon echt gut.

Das ganze selbst zu machen, ist im Vergleich so ähnlich als wüsstest du wie du eine Mikrowelle anwendest, möchtest sie jetzt aber selbst ohne Vorlage bauen. ;-)

Codehunter 15. Feb 2016 07:34

AW: Sprachsteuerung
 
Ich habe selbst grade vor zwei Wochen zwei Schülerpraktikanten gehabt. Darum kann ich gewissermaßen aus Erfahrung sprechen. Die Lehrer an unseren Schulen vermitteln anscheinend nicht wirklich ein Gefühl für die "Kleinfuddeligkeit" der Softwareentwicklung. Dann nehmen sich die Schüler Ideen vor, die sie aus ihrem Alltag kennen. Bei "meinen" Praktikanten war es ein 3D-Spiel, in deinem Fall eine Sprachsteuerung.

Beide Beispiele sind für Schüler nicht unbedingt das richtige Ziel, denn die Arbeit ist mühsam, der erforderliche Zeitaufwand sprengt wahrscheinlich den Rahmen der Freizeit die man als Schüler hat (man muss ja auch noch andere Hausaufgaben machen), Erfolgserlebnisse kommen sehr spät und auf dem Weg dahin ist das Risiko groß, dass man enttäuscht hinschmeißt.

Mein Rat: Versuche nicht, Dinge nachzubauen die es anderswo schon gibt. Denn woran du vermutlich noch gar nicht gedacht hast ist, dass hinter Sprachsteuerungen wie Siri und Cortana große Firmen mit sehr vielen, gut ausgebildeten Programmierern stecken. Schau dich lieber mal in deiner persönlichen Umgebung um, ob es da irgendwo ein Problem gibt dass man mit Software lösen könnte, die es noch nicht gibt. Meistens sind das spezifische Problemstellungen aus dem Alltag. Wenn du da eine Lösung präsentierst haben deine Freunde und deine Lehrer auch einen konkreten Bezug zur Praxis und der "Wow-Effekt" ist größer.


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:26 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz