Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Spracherkennung via Google (https://www.delphipraxis.net/191286-spracherkennung-via-google.html)

erich.wanker 29. Dez 2016 15:37

Spracherkennung via Google
 
Hallo Leute ..

Ich hätte eine Frage:

ich hab online folgendes gefunden (Spracherkennung via Google mit Delphi)
https://xiko94.wordpress.com/2012/12...h-recognition/

Danach hab ich mir das Beispiel downgeloadet:
https://github.com/xthunder94/Voice-Dictionary

Danach das "SuperObject" und die "ffmpeg" aktualisiert ..



Problem:
Leider sind die verwendeten Google-Dienst nicht mehr gültig??

-> HttpObject.Get('http://www.google.com/dictionary/json? -->GoogleSpeechApi.pas

-> IdHTTP.Post('http://www.google.com/speech-api/v1/recognize?xjerr=1&client=chromium&lang=en-US', SendStream, sResponse); -->GoogleSpeechApi.pas


.. ich hab mich dann bei Google Angemeldet .. eine Api aktiviert (Google Cloud Speech Api - Testzugang 300$/60 Tage)

Anscheinend ist die richtige Adresse: HttpObject.Get('https://speech.googleapis.com/v1beta1/speech:syncrecognize?key=AIzaSrBdK**************** ***HpVi9fQGwrA' + Url_Encode(TextIn), FSpeechMp3);


.. aber egal was ich mache oder tu .. da läuft nix :-(


Wie bring ich das Teil zum laufen ? ;-)

Vielen Dank

Erich

haentschman 29. Dez 2016 16:24

AW: Spracherkennung via Google
 
Hallöle...:P
[OT]
Zitat:

Testzugang 300$/60 Tage
...wenn meine Software auch so gut bezahlt wäre. :roll:
[/OT]

erich.wanker 29. Dez 2016 17:26

AW: Spracherkennung via Google
 
.. ich vermute mal, das hier der fehler liegen könnte ..

Delphi-Quellcode:
  SendStream:=TFileStream.Create(GetTempDirectory + RandomQ + 'Record.flac', fmOpenRead);
  SendStream.Position:=0;
  sResponse:=TStringStream.Create;
  IdHTTP:=TIdHttp.Create(nil);
  try
    IdHTTP.Request.accept:='*/*';
    IdHTTP.Request.ContentType:='audio/x-flac; rate=16000';
    IdHTTP.Request.Connection:='Keep-Alive';
    IdHTTP.Request.ContentLength:=SendStream.Size;
    IdHTTP.Post('https://speech.googleapis.com/v1beta1/speech:syncrecognize?key=AI***********************************uA', SendStream, sResponse);
             

    sResponse.Position:=0;
    szResponse:=sResponse.ReadString(sResponse.Size);

  except
    szResponse:='ERROR';
  end;

szResponse ist immer 'ERROR' ...

Der SendStream passt..
Die Temp-Ordner-Angaben passen auch ...
Die FLAC-Datei (bei mir "C:\Users\erich\AppData\Local\Temp\48446178_Record .flac") existiert und funktioniert ...
hmmmm ....




p.S.: Ein Perl-Example wäre hier: http://pastebin.com/iqnEdS4p


LiGrü
erich

zeras 29. Dez 2016 18:53

AW: Spracherkennung via Google
 
Ich kann zwar keine Tests machen, da ich die 300 $ nicht ausgeben will.
Kann es sein, dass du nicht wartest, bis das Ergebnis da ist?
Es wird wohl einige Zeit (mehrere sek?) dauern, bis das Ergebnis vorliegt.
Ich weiß nicht, ob das Post so lange wartet?
Nur rein theoretisch betrachtet.


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:39 Uhr.

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