[gelöst] Lazarus mit Sprach Ein- und Ausgabe

Für Probleme bezüglich Grafik, Audio, GL, ACS, ...
Antworten
Benutzeravatar
juelin
Beiträge: 267
Registriert: Sa 24. Jul 2021, 18:03
OS, Lazarus, FPC: Linux Ubuntu 22. Windows 10 Delphi 11.3 (L 0.9.xy FPC 2.2.z)
CPU-Target: 64Bit
Wohnort: Mannheim

[gelöst] Lazarus mit Sprach Ein- und Ausgabe

Beitrag von juelin »

Hallo zusammen,
ich möchte gerne ein Lazarusprogramm machen, welches mit Sprach Ein- Und Ausgabe arbeitet.
Also Sprache zu Text und Text zu Sprache.
In Windows gibt es ja SPEECH.
Habe Windows 11 und Lazarus 3.8 mit FPC 3.2.2
Habe aber noch nie was mit Sprache gemacht.
Wer hat schon mal was mit Sprache in Lazarus gemacht und kann mir
Hinweise geben, wie ich SPEECH in Lazarus integriere.
Ein Beispielprogramm wäre natürlich hervorragend.
Habe MikrosoftSpeechPlatformSDK installiert.
Danke und Gruß
Jürgen
Zuletzt geändert von juelin am So 18. Mai 2025, 23:25, insgesamt 1-mal geändert.

Benutzeravatar
Jorg3000
Lazarusforum e. V.
Beiträge: 375
Registriert: So 10. Okt 2021, 10:24
OS, Lazarus, FPC: Win64
Wohnort: NRW

Re: Lazarus mit Sprach Ein- und Ausgabe

Beitrag von Jorg3000 »

Hi!
Sprachausgabe und Spracheingabe sind unter Windows sehr einfach nutzbar.

Für die Spracheingabe in ein beliebiges Textfeld drückt der Benutzer einfach [Win]+H und es geht los (ab Windows 10).

Und für die Sprachausgabe gibt es ein OLE-Objekt für das SpVoice Interface (Speech API = SAPI)
https://learn.microsoft.com/en-us/previ ... 2(v=vs.85)

Code: Alles auswählen

 
 uses Variants, ComObj;

procedure SpeakText(const Text: string);
var
  SpVoice: OleVariant;
begin
  SpVoice := ComObj.CreateOleObject('SAPI.SpVoice');
  SpVoice.Speak(Text, 0); 
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  SpeakText('Hallo Welt!');
end;
 
Grüße, Jörg

Benutzeravatar
juelin
Beiträge: 267
Registriert: Sa 24. Jul 2021, 18:03
OS, Lazarus, FPC: Linux Ubuntu 22. Windows 10 Delphi 11.3 (L 0.9.xy FPC 2.2.z)
CPU-Target: 64Bit
Wohnort: Mannheim

Re: Lazarus mit Sprach Ein- und Ausgabe

Beitrag von juelin »

Hallo Jörg3000,
danke für Deine Antwort.
Wenn ich in meinem Lazarusprogramm im TEdit auf eine Eingabe warte
und jetzt WIN+H drücke geht auch ein Fenster auf mit Mikrophon (Blau).
Aber ich kann ins Mikrophon sagen was ich will, es kommt nichts im Textfeld an.
Was mache ich falsch?
Danke und Gruß
Jürgen
Entschuldigung: nehme alles zurück.
Hatte mich vertan.
Gruß
Jürgen

Antworten