![]() |
Speech Api- texte vorlesen
Hallo, mit
Delphi-Quellcode:
aus der CodeLibrary kann man Texte vorlesen lassen. (
uses ComObj;
// ... procedure TForm1.Button1Click(Sender: TObject); var oleVoice: OLEVariant; begin oleVoice := CreateOLEObject('SAPI.SpVoice'); oleVoice.Speak('Hello World!', 0); end; ![]() 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: |
Re: Speech Api- texte vorlesen
![]() :arrow: Die Seite wollte ich schon immer mal verwenden :mrgreen: Nicht so ernst nehmen :zwinker: |
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. :?
|
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: |
Re: Speech Api- texte vorlesen
Der deutsche Sam von Vista heisst Steffi ;-)
Dateiname: RSSolo4GermanSteffi.exe (22 MB) Link: ![]() |
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?
|
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; |
Re: Speech Api- texte vorlesen
Mein Delphi kennt das SOTokens: ISpeechObjectTokens nicht! Ich hab Delphi 7 enterprise :?
|
Re: Speech Api- texte vorlesen
OleVariant müsste auch gehen, obwohl es deutlich langsamer ist.
|
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) ![]() |
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