Sprechen statt tippen mit Windows 10 Spracheingabe

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Sprechen statt tippen mit Windows 10 Spracheingabe

    Hallo Experten!

    Habe ein kleines Problem mit der Win 10 Spracheingabe:
    Ich möchte ein Leseübungsprogramm machen, in welchem Texte gezeigt (gedrawt) werden, dann sollen diese Text in ein Mikrofon gesprochen werden und danach wird der Vorgabetext mit dem gesprochenen Text verglichen und ausgewertet.
    Das lässt sich auch gar nicht so schwer bewerkstelligen, es hat nur einen Haken: Man kann den gesprochenen Text während der Eingabe mitlesen! Dies soll aber nicht sein!
    Gibt es eine Möglichkeit der nicht sichtbaren Spracheingabe?

    Hier ein kleines Programm:
    Create:

    GML-Quellcode

    1. global.satz = ""
    2. global.vorgabe = "Konrad hat viele Bücher gelesen"


    Left Pressed:

    GML-Quellcode

    1. msg = get_string_async("Lies den Text laut und sage abschließend OKEY ins Mikrofon.","");


    Dialog:

    GML-Quellcode

    1. var i_d = ds_map_find_value(async_load, "id");
    2. if i_d == msg
    3. {
    4. if ds_map_find_value(async_load, "status")
    5. {
    6. if ds_map_find_value(async_load, "result") != ""
    7. {
    8. global.satz = ds_map_find_value(async_load, "result");
    9. }
    10. }
    11. }
    Alles anzeigen


    Draw:

    GML-Quellcode

    1. draw_sprite(sprite0,-1,x+0,y+0)
    2. draw_set_font(font1)
    3. draw_set_halign(fa_center)
    4. if global.satz = global.vorgabe
    5. {
    6. draw_text(500,400,"Richtig!#Der gesprochene Satz lautet:#" + string(global.satz))
    7. }
    8. if global.satz != global.vorgabe
    9. {
    10. if global.satz != "" draw_text(500,400,"Falsch!#Klicke nochmals auf Start.")
    11. }
    12. draw_set_font(font0)
    13. draw_text(500,0,"Schalte das Mikrofon auf Zuhören und klicke auf START")
    14. draw_text(x+50,y+12,"START")
    15. draw_set_font(font1)
    16. draw_text(500,50,"Konrad hat viele Bücher gelesen")
    Alles anzeigen


    Vielleicht hat jemand von euch schon so was ähnliches programmiert und kann mir hier weiterhelfen.

    Mit freundlichen Grüßen
    Hubsl
  • Der gesprochene Text wird in "global.satz" gespeichert?
    Ich sehe in deinem Code keine Zeile in der dieser ausgegeben wir außer wenn er mit "global.vorgabe" übereinstimmt. Entsprechend dürfte der gesprochene Text nicht zu sehen sein, außer dieser wird über ein anderes Objekt gedrawt.
  • Das ist korrekt, jedoch geht es mir um das Texteingabefeld, welches mit get_string_async aufgerufen wird. Dieses Feld möchte ich so verstecken, dass es der Anwender (Schüler beim laut Vorlesen) nicht sehen kann.

    Zur Demo habe ich ein kurzes Leseübungsprogramm auf meiner Webseite members.aon.at/hubert_burboeck/projekte.html ganz unten platziert.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von hubsl ()

  • Achso, du nutzt das standard texteingabefeld in kombination mit einer externen spracheingabe software.
    In dem Fall könntest du vielleicht mit "keyboard_string" arbeiten und auf ein Eingabefenster verzichten.
    Oder funktioniert die Windows Spracheingabe nur bei aktiven Textfeldern? Dann wäre evtl. eine Spracheingabe-Extension speziell für GameMaker eine Lösung.
  • Ideal wäre natürlich eine Spracheingabe-Extention speziell für GameMaker. Die Windows Spracheingabe funktioniert nur bei aktiven Textfeldern. ;(
    Ich habe auch schon überlegt, mit GM8.1 BASS.dll eine Mikrofonaufnahme zu machen, diese als MP3 zu speichern und dann mit einer MP3 zu Text-Extension den gesprochenen Text in die Übung zu bekommen.
    Leider habe ich weder eine Spracheingebe-Extension noch eine MP3 zu Text_Extension.
    Wo könnte ich so was herbekommen? ?( Sollte nicht allzu teuer sein, denn alle meine Programme mache ich für das LRS-Institut Graz natürlich unentgeltlich.

    Wie schon erwähnt, geht es in meinem Programm um Folgendes:
    Schüler müssen eine vorgegebenen Text laut vorlesen. Die Schüler sollen aber während des laut Vorlesens den gesprochenen Text nicht sehen.
    Dieser vorgelesene Text soll dann im Programm mit dem vorgegebenen Text verglichen und auf Fehler überprüft werden.