Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Speech Api- texte vorlesen (https://www.delphipraxis.net/115407-speech-api-texte-vorlesen.html)

vsilverlord 11. Jun 2008 17:04


Speech Api- texte vorlesen
 
Hallo, mit
Delphi-Quellcode:
uses ComObj;

// ...

procedure TForm1.Button1Click(Sender: TObject);
var
  oleVoice: OLEVariant;
begin
  oleVoice := CreateOLEObject('SAPI.SpVoice');
  oleVoice.Speak('Hello World!', 0);
end;
aus der CodeLibrary kann man Texte vorlesen lassen. (Texte vorlesen lassen)
Ich habe aber nicht das Sprachpaket gefunden, mit dem ich das auf Deutsch umstellen kann (also dass die Stimme deutsch vorließt) Wie kann ich das machen? :spin2: :spin:

Mikescher 11. Jun 2008 17:14

Re: Speech Api- texte vorlesen
 
Ich bin ein Link ;-)

:arrow: Die Seite wollte ich schon immer mal verwenden :mrgreen:
Nicht so ernst nehmen :zwinker:

blackdrake 11. Jun 2008 18:27

Re: Speech Api- texte vorlesen
 
Wenn ich ehrlich bin, habe ich die selbe Frage auch. Ich habe nach 10 Minuten suche keinen Deutschen "Sam" gefunden. Ein Link zu Microsoft mit dem möglichen deutschen Sprachpaket ist mittlerweile inaktiv. :?

Mikescher 11. Jun 2008 19:21

Re: Speech Api- texte vorlesen
 
Oh Sorry ich hab da was verwechselt (dachte er wollte nur ein Programm das TTTS(Text-To-Speech) beherrscht) :oops:
Liegt wohl an der späten Stunde *gähn* :mrgreen:

rotfc 11. Jun 2008 19:56

Re: Speech Api- texte vorlesen
 
Der deutsche Sam von Vista heisst Steffi ;-)

Dateiname: RSSolo4GermanSteffi.exe (22 MB)

Link: http://www.winfaq.de/faq_html/Conten...?h=tip2406.htm

vsilverlord 12. Jun 2008 13:21

Re: Speech Api- texte vorlesen
 
´so ich hab diese Steffi jetzt installiert. Wie benutze ich sie nun in delphi bzw. wie änder ich die Stimme von Sam auf Steffi?

hathor 12. Jun 2008 18:19

Re: Speech Api- texte vorlesen
 
Z.B. so:

Delphi-Quellcode:
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics,
  Controls, Forms, Dialogs, StdCtrls, ExtCtrls,
  SpeechLib_TLB, OleServer, ComCtrls, OleCtrls, ShellApi;
//--------------------------------------------------------------

procedure TForm1.FormCreate(Sender: TObject);
var I: Integer; SOTokens: ISpeechObjectTokens;
begin
  SOTokens := SpVoice1.GetVoices('', '');
  for I := 0 to SOTokens.Count - 1 do
  ListBox1.Items.Add(SOTokens.Item(I).GetDescription(0));
  ListBox1.ItemIndex := ListBox1.Items.IndexOf(SpVoice1.Voice.GetDescription(0));
  ListBox1.OnClick(ListBox1);
  SpVoice1.Volume:= 60;
  SpVoice1.Voice := SpVoice1.GetVoices('', '').Item(1);
  Label1.Caption:= 'Ausgewählte Stimme : '+ SpVoice1.Voice.GetDescription(0);
end;

procedure TForm1.ListBox1Click(Sender: TObject);
begin
  SpVoice1.Voice := SpVoice1.GetVoices('', '').Item(ListBox1.ItemIndex);
  Label1.Caption:= 'Ausgewählte Stimme : '+ SpVoice1.Voice.GetDescription(0);
  SpVoice1.Speak('test', SVSFlagsAsync);
end;

vsilverlord 13. Jun 2008 13:54

Re: Speech Api- texte vorlesen
 
Mein Delphi kennt das SOTokens: ISpeechObjectTokens nicht! Ich hab Delphi 7 enterprise :?

Apollonius 13. Jun 2008 14:45

Re: Speech Api- texte vorlesen
 
OleVariant müsste auch gehen, obwohl es deutlich langsamer ist.

hathor 13. Jun 2008 16:31

Re: Speech Api- texte vorlesen
 
Das hat nichts mit Deiner DELPHI-Version zu tun: ISpeechObjectTokens sind in SpeechLib_TLB.pas definiert.
Ich habe oben noch 'uses ...SpeechLib_TLB,...' hinzugefügt - vielleicht fehlt bei Dir etwas.
(Type Lib: C:\Program Files\Common Files\Microsoft Shared\Speech\sapi.dll)

http://www.blong.com/Conferences/DCo...I51/SAPI51.htm


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:50 Uhr.

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