I denne artikel vil jeg komme lidt ind på den geniale sapi sdk 5.1 fra
Microsoft .
Denne sdk fra ms, bruges til at tilføje stemme aktivering, og til at tilføje tale til sine programmer, dette er en genial måde, på at tilføje flere brugervenlige funktioner, og flere muligheder til sine programmer.
Nåmen skal vi så komme igang, med det vigtige i denne artikel:-)
Først vil jeg vise jer, hvordan man installere denne sdk, for derefter at komme med et par kode eksempler på hvordan man kan bruge den i sine delphi programmer( jeg har kun installeret disse komponenter på delphi 5 +6).
For at få fat i sapi 5.1, skal vi lige en tur forbi Microsofts
Speech.net
hjemmeside, som vi finder via
Speech.net .
Følg linket til deres download side, og hent programmet Speech SDK 5.1 ( det fylder 68 mb, så det kan godt tage lang tid på en alm. forbindelse)
Læs lige Release notes, da der står mange vigtige ting her i. Lige for at få alle med, skal det siges at denne pakke allerede er installeret under de gængse windows xp realeses.
I denne sdk pakke, finder vi alle de smarte ting, vi finder den engelske version af speech modulet, som selvfølgelig kun kan snakke/modtage engelske kommandoer..
desuden finder vi en seriøst stor hjælpe fil, som virklig kan svare på alt som vi nu går og mangler svar på:-)
Nu regner jeg med du har hentet denne fil ned, og er klar til at installere, tryk da på speechsdk51.exe for at installere den under dit styresystem, og genstart en gang, så skulle vi være klar, til at få alle komponenter osv, registreret inde i delphi.
I første omgang, skal vi have delphi til at forstå at vi gerne vil have nogle nye objecter installeret, dette gør du ved at gøre følgende:
Start delphi
Gå ind i Project | Import Type Library
Find og marker Microsoft Speech Object Library
Hvis du ikke finder dette libarary, er der en fejl i din install af sapi.
Delphi vil smidde dine sapi komponenter ind under activex paletten, jeg vil stærkt anbefale at du smidder disse komponenter ind under en ny palette, f.eks. sapi i stedet( da vi snakker om 19 forskellige komponenter).
Husk at afkrydse Generate Component Wrapper
I installations dialogen skal du vælge into new package, og i fil navn kunne du f.eks. vælge SAPI5.dpk, tryk på "browse", og vær sikker på at dine componenter og din dpk fil ligger samme sted( det gør det meget nemmere)
I Install dialog’s Description skal du give en beskrivelse af disse componenter, f.eks. sapi tools f.eks.
Tryk ok.
Tryk yes, i confirm dialog , og nu vil dine componenter blive installeret.
Jeg har her i min artikel valgt at undlade nogle ting, som i kan læse vidre om hos
Delphi3000
Nu skal vi til det sjove, vi skal teste om det vi lige har lavet virker:-)
Først skal vi have oprettet en ny app ( File/new/application/
Smid en tbutton på din form, og under din sapi5 palette, skal du vælge komponentet spvoice, som ligger som nummer 5 fra læseretningen.
Nu har vi altså en button og et spvoice på vores form, nu skal vi have lidt kode på:
Opret en Onclick event for din knap, men følgende kode:
procedure TForm1.Button1Click(Sender: TObject);
begin
SpVoice1.Speak('Hello stranger, this is udvikleren.dk', SVSFDefault);
end;
Kør programmet, og hør efter, fedt ikke? :-)
Dette var en af de 1000 vis af muligheder som disse komponenter giver os delphi udviklere...Dette er et produkt ms kan være stolte af :-)
Hvis du har teste første eksempel, kan jeg kan lige komme med et par stykker mere, som du kan lege med....here goes..
SpVoice1.Speak('http://www.o2a.com', SVSFIsFilename);
Denne kode kan læse en hjemmeside titel op, prøv selv.
Desuden vil jeg lige adde noget simpelt kode, så programmet kan læse fra en tmemo1.
SpVoice1.Speak(memo1.text, SVSFDefault);
Jeg håber at denne artikel kan få dig igang med endnu flere og sjove programmer, og at du kan bruge dette til noget :-)
Lige som en slut bemærkning vil jeg lige advare om at folk uden msagent ( jeres brugere), ikke kan høre disse ting, MAN skal have installeret msagent som minimum, find den via
msagent
Jeg kommer snart med en ny artikel om stemme aktivering via delphi og sapi( så hvis du vil lære, hvordan man f.eks. åbner cs, med en stemme kommando, skal du kigge her på siden:-) )
Held og lykke, og god kodning
Kommentarer (13)
Klart det fedeste
Fedest, omend stemmen er alt for mekanisk! Vil bruge det i min forskning t. virtuelle læringsmiljøer
Haløjsa gode skribent!
det er nok det fedeste jeg nogensinde har set !!! coool nok du re for sej skriv nogen fler artikler
I din nye artikel om stemmeaktivering må du godt forklare hvordan man "reparerer" SAPI 5.1 i Delphi 6, for der virker det nemlig ikke!
Ja, og skriv om mulighederne for at ændre stemmen til dansk og evt til mandlig stemme.
Rigtig god artikel
For fee......
Det er bare dejligt..
Kan ikke få hentet kompo...
Og det er også lige meget, da jeg ikke kan installere det. (Der er en fejl i delphi 7 enterprice som gør at det er umuligt...)
Ellers lyder det godt
Theis... jeg synes hele tiden du siger der er fejl i Delphi 7 Enterprice) der er bare en ting som jeg ikke kan forstå? Det virker fint ved mig.... Tror du ikke du skulle til at styrer dig med dine kommentare!!!
Ellers MaX God artikel!
Og ja den virker fint på Delphi 7 EnterPrice!!!
Er der en der vil sende mig kompo igennem e-mail til mig?
Min mail er theisf@stofanet.dk
Har fået ny:
Shafh@stofanet.dk
ok.
Så er det lige meget
Må jeg spørge:
Som du skriver SKAL DU HAVE speech på pc'en før at du kan høre lydene. Det ødelægger sådan set det hele, da jeg så ikke kan bruge det på andre pc'er.
Men så har jeg tænkt på noget:
Jeg ved at microsoft sam hører til windows XP.
Kan jeg så godt bruge funktionen vis jeg bare vælger Microsoft Sam? (altså på pc'er med XP)
Og hvordan skifter jeg stemme?
Du kan også få den til at sige tiden med en meget simpel kommando og den siger det i timer, minutter og sekunder:
SpVoice1.Speak(TimeToStr(NOW), SVSFDefault);
Du skal være
logget ind for at skrive en kommentar.