Documentație tehnică

În acest articol voi încerca să vă explic cum se instalează SAPI 5.1 SDK. Apoi, vom analiza modul de utilizare a setului SDK într-o aplicație Delphi pentru a converti textul în discursul sintetizat. Discursul sintetizat va fi redat prin difuzor. Toate acestea au fost testate în Delphi 5 și 6.







Dacă utilizați versiunea beta a sistemului de operare XP, este posibil să întâmpinați unele probleme. Problemele sunt cauzate de faptul că majoritatea versiunilor beta ale XP includ versiuni timpurii ale SAPI 5.1. Deci, nu încercați să instalați versiunea lansată a SAPI 5.1 pe XP, nu va funcționa.

Deci, după descărcarea SAPI 5.1 SDK, rulați speechsdk51.exe pentru ao instala pe computer.

Acum trebuie să lăsăm Delphi să știe despre noile obiecte de automatizare SAPI. Pentru a face acest lucru, rulați Delphi 5 sau 6 (nu am încercat versiuni anterioare) și deschideți Project | Tip de bibliotecă de import. În fereastra de dialog Bibliotecă de tip import, selectați "Microsoft Speech Object Library (Versiunea 5.1)". Dacă nu ați găsit-o în listă, atunci au existat unele erori în timpul instalării SAPI 5.1.

Delphi va sugera introducerea componentelor SAPI pe pagina ActiveX. Vă recomandăm să le plasați într-o pagină nouă numită "SAPI 5", deoarece numărul componentelor este destul de mare (19). De asemenea, vă recomandăm să selectați "Nume dir unitate" diferită de cea sugerată implicit. Asigurați-vă că "Generate Component Wrapper" este bifată și faceți clic pe> Install<.

În caseta de dialog Instalare, selectați fila „într-un nou pachet“ și în „File name:“ introduceți numele pachetului, cum ar fi „SAPI5.dpk“, faceți clic pe (Browse) și asigurați-vă că DPK creat în același director în cazul în care „Browse.“ componentele au fost create. În caseta de dialog Instalare, în câmpul Descriere, specificați o descriere, de exemplu "componentele automatizării SAPI 5". Faceți clic pe OK.







În dialogul de confirmare, apăsați da. După aceasta, vor fi instalate componente noi.

Acum, dacă te uiți în directorul specificat pentru instalarea unei componente, veți găsi acolo fișier SpeechLib_TLB.pas (și dcr), care conține toate componentele de cod (interfays, constante, tipuri, precum și alte informații utile). Acest director conține și (dacă ați urmat instrucțiunile de mai sus) SAPI5.dpk care este sursa pachetului.

Și acum cea mai interesantă parte.

Să creați o aplicație care să sintetizeze vorbirea. În Delphi, creați o nouă aplicație și puneți un buton pe formular. Pe pagina componentei SAPI5, găsiți SpVoice și trageți-o pe formular.

Acum creați un eveniment onClick pentru butonul dvs., care ar trebui să arate astfel:

procedura TForm1.Button1Click (expeditor: TObject);
începe
SpVoice1.Speak ("Salut lume!", SVSFDefault);
se încheie;

Rulați programul și faceți clic pe buton. Mare?

Metoda Speak a obiectului SPVoice oferă o mulțime de posibilități. Aceste posibilități pot fi utilizate dacă jucați cu al doilea parametru. În exemplul de mai sus, am folosit un mod implicit, care permite funcției să returneze controlul numai după redarea sunetului. Puteți evita acest lucru prin introducerea de etichete XML speciale în text.

Documentația SDK conține fișierul sapi.chm care poate fi găsit în directorul \ Program Files \ Microsoft Speech SDK 5.1 \ Docs \ Help.

Sapi.chm conține o mulțime de informații. Iată principalele caracteristici adesea folosite ale componentei și ale steagurilor corespunzătoare care sunt transmise în al doilea parametru:
• Redați textul în fișier. (SVSFIsFilename)
• Deconectați asincron modul de redare a sunetului. Permite funcțiilor să revină imediat controlul, în timpul redării. (SVSFlagsAsync)
• Vă permite să controlați redarea prin intermediul etichetelor XML (vedeți secțiunea sub titlul "Tutorial XML TTS"). Etichetele vă permit să reglați tonul sunetului, viteza de redare și multe altele (SVSFIsXML)

Unul dintre cele mai interesante lucruri (nu documentate) este că poate articula pagina web antet prin setarea pavilion în SVSFIsFilenam și numele de fișier în URL-ul. Dacă sunteți conectat la Internet, încercați să executați următoarea linie:

De asemenea, cu acest steag puteți reda fișiere wav:

SpVoice1.Speak ("C: \ WINNT \ MEDIA \ Windows Logon Sound.wav"; SVSFIsFilename);

De fapt, acest SIPI are mult mai multe oportunități decât am aici. Data viitoare vom examina în detaliu alte posibilități.







Articole similare

Trimiteți-le prietenilor: