Microsoft Speech SDK

14
Microsoft Speech SDK Text To Speech Autor: Damian Turula

description

Text To Speech Autor: Damian Turula. Microsoft Speech SDK. Plan Prezentacji. Microsoft Speech API 5.4 (SAPI 5.4) Czym jest Text To Speech Microsoft Voices Text To Speech w SAPI 5.4 (Windows 7) Omówienie niektórych dostępnych metod Koniec (+ pytania na kolokwium). Microsoft Speech API 5.4. - PowerPoint PPT Presentation

Transcript of Microsoft Speech SDK

Page 1: Microsoft Speech SDK

Microsoft Speech SDK

Text To Speech

Autor: Damian Turula

Page 2: Microsoft Speech SDK

Plan Prezentacji

Microsoft Speech API 5.4 (SAPI 5.4) Czym jest Text To Speech Microsoft Voices Text To Speech w SAPI 5.4 (Windows 7) Omówienie niektórych dostępnych metod Koniec (+ pytania na kolokwium)

Page 3: Microsoft Speech SDK

Microsoft Speech API 5.4

SAPI 5.4 jest jedynie zaktualizowaną wersją SAPI 5.3 spod Windows Vista wbudowaną w Windows 7. Od tej pory jest częścią Windows SDK

Wersja 5.3 Wprowadza wsparcie dla W3C XML speech grammars for recognition and synthesis. Innymi słowy wprowadza możliwość ustalania cech głosu takich jak szybkość, głośność, wysokość, wymowę.

Wprowadzona zostaje wersja 8 silnika do rozpoznawania mowy

Page 4: Microsoft Speech SDK

Text To Speech

Text To Speech – Jest to część Microsoft Speech SDK odpowiedzialna za syntezę mowy. Wykorzystując dostępne metody jesteśmy w stanie „przeczytać“ tekst bądź zawartość pliku tekstowego który chcemy usłyszeć. Wykorzystuje się do tego któryś z dostępnych głosów dostarczanych przez Microsoft.

Page 5: Microsoft Speech SDK

Microsoft Voices

Microsoft Sam – Domyślny męski głos w Microsoft Windows XP

Microsoft Mike and Mary – opcjonalne głosy męski i damski, do ściągnięcia ze strony Microsoftu.

Wszystkie z 3 powyższych nie działają dla Windows Vista i nowszych systemów.

Microsoft Anna – dostępna jedynie w Speech SDK 5.x jest domyślnym, damskim głosem w Windows Vista i 7

Microsoft Lili – Chiński głos dostępny w chińskiej wersji językowej Windows Vista i wyżej. Dostępny dla innych wersji językowych jeśli używamy Windows Vista/7 wersję Ultimate

Microsoft David(male), Hazel(female), Zera(female) – nowe głosy dostępne dla Text to Speech w Windows 8

Page 6: Microsoft Speech SDK

TTS w SAPI 5.4

Aplikacje wykorzystują Text To Speech korzystając z interfejsu ISpVoice COM. Po stworzeniu obiektu ISpVoice wystarczy wywołać metodę ISpVoice::Speak by wygenerować prosty output z tekstu.

Interfejs ISpVoice dostarcza szereg metod do zmian pewnych ustawień takich jak głośność, szybkość odtwarzania a także możliwość wyboru głosu.

Ponadto jest możliwość wrzucania w tekst znaczników XML do zmian niektórych parametrów w trakcie przetwarzania.

Page 7: Microsoft Speech SDK

ISpVoice::Speak

HRESULT Speak( LPCWSTR *pwcs, DWORD dwFlags, ULONG *pulStreamNumber); *pwcs – tekst który ma zostać zamieniony na mowę dwFlags – flagi modyfikujące sposób w jaki przeprowadzana jest

synteza, przykłady flag: SPF_ASYNC – sprawia, że wywołanie metody Speak jest

asynchroniczne SPF_IS_FILENAME – determinuje, że *pwcs jest ścieżką do pliku

tekstowego, który ma zostać przetworzony SPF_PURGEBEFORESTREAM – czyści wszystkie zapytania z

kolejki pozostawiając tylko to *pulStreamNumber – wskaźnik na ULONG do którego zostanie

zwrócony numer strumienia skojarzony z tym zapytaniem

Page 8: Microsoft Speech SDK

ISpVoice::Pause

HRESULT Pause ( void ); Zwiększa licznik Pauzy, jeśli jest większy od

0 to przetwarzanie jest wstrzymane. Zawołane gdy przetwarzanie jest

wstrzymane, będzie się sumować, i zostanie zdjęte dopiero, gdy metoda ISpVoice::Resume zostanie zawołana dokładnie taką samą ilość razy

Page 9: Microsoft Speech SDK

ISpVoice::Resume

HRESULT Resume ( void ); zmniejsza licznik pauzy, który jest

zwiększany przez metodę ISpVoice::Pause Przetwarzanie jest wznawiane gdy licznik

pauzy zejdzie do 0

Page 10: Microsoft Speech SDK

ISpVoice::Skip

HRESULT Skip( LPCWSTR *pItemType, long lNumItems, ULONG *pulNumSkipped); *pItemType – określa typ elementu, jaki ma być

pomijany Obecnie wspierany jest tylko „SENTENCE“ lNumItems – określa liczbę elementów do pominięcia >0 – przesuwa do przodu względem obecnej pozycji <0 – cofa względem obecnej pozycji 0 – cofa do początku obecnego elementu *pulNumSkipped – wskaźnik na element typu ULONG

do którego zwracana jest liczba ominiętych elementów

Page 11: Microsoft Speech SDK

ISpVoice::SetRate

HRESULT SetRate( long RateAdjust); RateAdjust – Wartość określająca tempo

mówienia. Wspierane są wartości z zakresu -10 do +10

Można to regulować za pomocą tej metody, jak i wklejając w tekst znacznik XML

Page 12: Microsoft Speech SDK

ISpVoice::SetVolume

HRESULT SetVolume(USHORT usVolume); usVolume – wartość określająca poziom

dźwięku jaki chcemy ustawić Wartość z zakresu 0 – 100 określająca

procentowo poziom dźwięku względem obecnego

Page 13: Microsoft Speech SDK

ISpVoice::SetVoice

HRESULT SetVoice( ISpObjectToken *pToken);

*pToken – wskaźnik na Token opisujący głos, który chcemy wybrać

w przypadku NULL użyty zostanie domyślny głos

Page 14: Microsoft Speech SDK

Pytania na kolokwium

Jaką flagę trzeba ustawić by ISpVoice::Speak czytało z pliku .txt

Jak się nazywa standardowy głos TTS w Windows 7