W dwóch najbliższych wpisach chciałbym krótko nawiązać do dwóch technik umożliwiających konwersję tekstu na mowę, a więc możliwości odczytania tekstu przez generatora mowy dostępnego w środowisku Office.
Zacznijmy od wersji prostej- generatora mowy dołączonego do pakietu MS Office, a konkretnie aplikacji Excel. I tu warto od razu podkreślić- poniższy przykład działa wyłącznie w aplikacji Excel i nie jest dostępny dla innych aplikacji pakietu.
Proponowane rozwiązanie opiera się o wykorzystanie obiektu Speech:
oraz jego właściwości Speak:
1 | Application.Speech.Speak (Text, SpeakAsync, SpeakXML, Purge) |
gdzie wśród parametrów szczególnie zainteresują nas:
Text który wskazuje tekst do odczytania oraz
ApeakAsync informujący kompilatora o tym, czy wstrzymać dalsze wykonywanie procedury do zakończenia czytania (domyślne działanie, wartość False parametru) czy też kontynuować procedurę bez oczekiwania na zakończenie odczytu (wartość True parametru). Przeanalizujmy poniższy przykład:
01 | Sub Konwersja_Tekstu_Na_Mowę() |
06 | txtPL = "To jest teks do odczytania przez generator mowy." |
07 | txtEN = "This is text to read by speach generator." |
09 | Application.Speech.Speak txtPL |
10 | Application.Speech.Speak txtEN |
Po wykonaniu powyższej procedury przekonamy się, że tylko jeden z tekstów zostanie odczytany prawidłowo. Zależy to od wersji pakietu Office i częściowo od jego wersji językowej. W aplikacji Excel 2010 PL prawidłowo zostanie odczytany tekst angielski i niepoprawnie tekst polski. W wersji aplikacji Excel 2013 PL efekt będzie odwrotny i uzyskamy prawidłową wymogę dla tekstu w języku polskim.