Deutsch
Quelltexte/ Codesnippets

Sapi Sprachausgabe

 

Frank
Abbing
Ein kleines Testprogramm von mir. Happert es noch irgendwo?

5 kB
Hochgeladen:17.06.2006
Ladeanzahl373
Herunterladen
 
17.06.2006  
 




Torsten
Rümker
Tja wenn ich jetzt eine deutsche Stimme installiert hätte

Funktioniert auf jeden Fall (außer das bei mir natürlich Sam vorliest).

MfG
Torsten

PS: woher bekommt man eigentlich andere Stimmen? Direkt von Microsoft denke ich mal.
Gleich mal nachschauen.
 
Ich lerne, ob ich will oder nicht!
Betriebssystem:
- Ubuntu 15.x
- Windows (diverse)
XProfan Version: X2
17.06.2006  
 




Frank
Abbing
Ja, bei Microsoft: [...] 
 
17.06.2006  
 




Torsten
Rümker
Danke für die flinke antwort
gleich mal installieren.

Bin ehrlich gesagt schon ganz gespannt.

MfG
Torsten

[EDIT] PS: Mir gefällt Stefan besser. [/EDIT]
 
Ich lerne, ob ich will oder nicht!
Betriebssystem:
- Ubuntu 15.x
- Windows (diverse)
XProfan Version: X2
17.06.2006  
 




Torsten
Rümker
Mmmh, sag mal, wo finde ich denn wohl eine Hilfe für die SAPI?

Mir schwebt gerade so vor meinem Chat (in Entwicklung) eine optionale Sprachausgabe mitzugeben

MfG
Torsten
 
Ich lerne, ob ich will oder nicht!
Betriebssystem:
- Ubuntu 15.x
- Windows (diverse)
XProfan Version: X2
17.06.2006  
 




Frank
Abbing
Die Hilfe dazu findest du [...] .
 
17.06.2006  
 




Torsten
Rümker
tse, das liegt daran, wenn man die falschen Suchbegriffe eingibt um sowas zu finden.
danke dir.
 
Ich lerne, ob ich will oder nicht!
Betriebssystem:
- Ubuntu 15.x
- Windows (diverse)
XProfan Version: X2
17.06.2006  
 




Jac
de
Lad
Hallo Frank!

Kannste für die SAPI vielleicht ne INC oder so für Einsteiger machen? (also Leute wie mich) Dann könnten wir das auch in Profan nutzen!

Jac
 
Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE)
Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP
17.06.2006  
 




Uwe
''Pascal''
Niemeier
Hallo Leute!

Hier ein Versuchscode von mir:
!
window 50,50-500,200
 $H Messages.ph
 $H Windows.ph
declare a#,b#
dim a#,1024
dim b#,16

proc MultiToWide--------------------------------------------------------------

    parameters Text$,Ziel&
    return ~MultiByteToWideChar(0,0,addr(Text$),-1,Ziel&,250)
    endproc-----------------------------------------------------------------------

    proc StringToGUID-------------------------------------------------------------

        parameters GUID$,GUID&
        declare Temp$
        Temp$=space$(80)
        ~MultiByteToWideChar(1,1,addr(GUID$),-1,addr(Temp$),80)
        external("ole32","CLSIDFromString",addr(Temp$),GUID&)
        endproc-----------------------------------------------------------------------

        proc CallMethod---------------------------------------------------------------

            parameters IFace&,Method&
            declare VTable&
            VTable&=long(IFace&,0)
            Method&=long(VTable&,Method&*4)
            case %pcount=2:return call( Method&,IFace& )
            case %pcount=3:return call( Method&,IFace&,&(3) )
            case %pcount=4:return call( Method&,IFace&,&(3),$(4) )
            case %pcount=5:return call( Method&,IFace&,&(3),&(4),&(5) )
            endproc-----------------------------------------------------------------------
            declare ISpVoice&,Text$,Error&
            external("ole32","CoInitialize",0)
            StringToGUID("{96749377-3391-11D2-9EE3-00C04F797396}",a#)
            StringToGUID("{6C44DF74-72B9-4992-A1EC-EF996E0422D4}",b#)
            Error&=external("ole32","CoCreateInstance",a#,0,23,b#,addr(ISpVoice&))
            print "Error CoCreateInstance",Error&
            print "ISpVoice",ISpVoice&
            print
            Text$="Hallo Test"
            MultiToWide(Text$,a#)
            Error&=CallMethod(ISpVoice&,20,a#,0,0)
            print "Error ISpVoice::Speak",Error&
            print
            Text$="<pitch middle=+20/> Hallo Test"
            MultiToWide(Text$,a#)
            Error&=CallMethod(ISpVoice&,20,a#,8,0)
            print "Error ISpVoice::Speak",Error&
            print
            Error&=CallMethod(ISpVoice&,2)
            print "Error ISpVoice::Release",Error&
            external("ole32","CoUninitialize")
            waitkey

Da wäre sicher mehr rauszuholen, wenn ich irgendwo eine Sapi-Headerdatei finden könnte;
in welchem Package von MS ist die drin?? (Habe keine Lust, auf Verdacht 30 MB runterzuladen)

PS: Da macht sich wieder die fehlende COM-Unterstützung bemerkbar...

SeeYou
Pascal
 
17.06.2006  
 




RGH
[quote:034943faec=Uwe Pascal Niemeier]PS: Da macht sich wieder die fehlende COM-Unterstützung bemerkbar...
[/quote:034943faec]
Hallo Pascal,
wie könnte oder sollte Deiner Meinung nach eine solche Unterstützung aussehen?

Gruß
Roland
 
Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4
17.06.2006  
 




Uwe
''Pascal''
Niemeier
Hallo Roland!

Ähh...
Eigendlich hatte ich meinen Vorschlag zur Mehrfachdeklaration in Headern im Kopf, aber das würde ja gerade hier nichts bringen (wo nichts ist...)
Aber war nicht irgendwann mal irgendeine Unterstützung für WideChar im Gespräch? Es gibt ja auch normale APIs ,die man damit füttern muss (ein deutlicher Trend seit XP).
Und vielleicht eine PH mit den wichtigsten Funktionen und Konstanten für oleaut32, ole32 und Verwande.

Mehr weis ich jetzt aus dem Steggreif eigentlich auch nicht

SeeYou
Pascal
 
17.06.2006  
 




Frank
Abbing
[quote:dfb4c32d43]Kannste für die SAPI vielleicht ne INC oder so für Einsteiger machen? (also Leute wie mich) Dann könnten wir das auch in Profan nutzen![/quote:dfb4c32d43]
Ich denke eher an eine kleine Dll oder einen XPIA-Code. Wie Pascal schon erwähnt, ist mit Profan nicht alles möglich.

@Pascal: Ja, dein Code ist meinem sehr ähnlich
Vielleicht hilft dir die Asm-SAPI-Inc:
; SAPI 5.1
; GUIDS ---------------------------------------------------------------------------
.data
CLSID_SpVoice  GUID {096749377h,03391h,011D2h,<09Eh,0E3h,000h,0C0h,04Fh,079h,073h,096h>}
IID_ISpVoice   GUID {06C44DF74h,072B9h,04992h,<0A1h,0ECh,0EFh,099h,06Eh,004h,022h,0D4h>}
.const
TEXT_ MACRO your_text:VARARG
LOCAL text_string
.data
text_string db your_text,0
.code
EXITM <addr text_string>
ENDM
; INTERFACES ---------------------------------------------------------------------------
_vtISpVoice MACRO Name:REQ
;; IUnknown Methods
_vtIUnknown Name
;; ISpVoice Methods
&Name&_SetNotifySink                CoMethod1      ?
&Name&_SetNotifyWindowMessage       CoMethod5      ?
&Name&_SetNotifyCallbackFunction    CoMethod4      ?
&Name&_SetNotifyCallbackInterface   CoMethod4      ?
&Name&_SetNotifyWin32Event          CoMethod1      ?
&Name&_WaitForNotifyEvent           CoMethod2      ?
&Name&_GetNotifyEventHandl          CoMethod1      ?
&Name&_SetInterest                  CoMethod3      ?
&Name&_GetEvents                    CoMethod4      ?
&Name&_GetInfo                      CoMethod2      ?
&Name&_SetOutput                    CoMethod3      ?
&Name&_GetOutputObjectToken         CoMethod2      ?
&Name&_GetOutputStream              CoMethod2      ?
&Name&_Pause                        CoMethod1      ?
&Name&_Resume                       CoMethod1      ?
&Name&_SetVoice                     CoMethod2      ?
&Name&_GetVoice                     CoMethod2      ?
&Name&_Speak                        CoMethod4      ?
&Name&_SpeakStream                  CoMethod4      ?
&Name&_GetStatus                    CoMethod3      ?
&Name&_Skip                         CoMethod4      ?
&Name&_SetPriority                  CoMethod2      ?
&Name&_GetPriority                  CoMethod2      ?
&Name&_SetAlertBoundary             CoMethod2      ?
&Name&_GetAlertBoundary             CoMethod2      ?
&Name&_SetRate                      CoMethod2      ?
&Name&_GetRate                      CoMethod2      ?
&Name&_SetVolume                    CoMethod2      ?
&Name&_GetVolume                    CoMethod2      ?
&Name&_WaitUntilDone                CoMethod2      ?
&Name&_SetSyncSpeakTimeout          CoMethod2      ?
&Name&_GetSyncSpeakTimeout          CoMethod2      ?
&Name&_SpeakCompleteEvent           CoMethod1      ?
&Name&_IsUISupported                CoMethod5      ?
&Name&_DisplayUI                    CoMethod6      ?
ENDM
ISpVoice struct dword
_vtISpVoice ISpVoice
ISpVoice ends
SpVoice    TYPEDEF PTR ISpVoice
SPF_DEFAULT            equ 0
SPF_ASYNC              equ 1
SPF_PURGEBEFORESPEAK   equ 2
SPF_IS_FILENAME        equ 4
SPF_IS_XML             equ 8
SPF_IS_NOT_XML         equ 16
SPF_PERSIST_XML        equ 32
SPF_NLP_SPEAK_PUNC     equ 64
SPF_NLP_MASK           equ SPF_NLP_SPEAK_PUNC
SPF_VOICE_MASK         equ SPF_ASYNC or SPF_PURGEBEFORESPEAK or SPF_IS_FILENAME or SPF_IS_XML or SPF_IS_NOT_XML or SPF_NLP_MASK or SPF_PERSIST_XML
SPF_UNUSED_FLAGS       equ NOT SPF_VOICE_MASK
 
17.06.2006  
 




Zum Quelltext


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

35.364 Betrachtungen

Unbenanntvor 0 min.
Walter28.11.2022
OliverJung28.11.2021
Uwe ''Pascal'' Niemeier24.11.2021
p.specht18.11.2021
Mehr...

Themeninformationen



Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie