Кіріспе

Microsoft Windows үшін қолданбалы бағдарламалау интерфейсі

Сөйлеу API

Сөйлеу қолданбалы бағдарламалау интерфейсі немесе SAPI – Microsoft компаниясы жасаған, Windows қолданбаларында сөзді тану және сөзді синтездеуді пайдалануға мүмкіндік беретін API. Бүгінгі күнге дейін API-нің бірнеше нұсқасы шығарылды, олар Speech SDK жиынтығының немесе Windows операциялық жүйесінің бір бөлігі ретінде таратылды. SAPI-ді пайдаланатын қолданбаларға Microsoft Office, Microsoft Agent және Microsoft Speech Server жатады. Жалпы, API-дің барлық нұсқалары бағдарламалық жасақтаманы әзірлеушіге әртүрлі бағдарламалау тілдерінен қолжетімді стандартты интерфейстер жиынтығын пайдаланып, сөзді тану және синтездеуді жүзеге асыруға мүмкіндік береді. Сонымен қатар, үшінші тарап компаниялары өздерінің сөзді тану және мәтінді сөзге айналдыру қозғалтқыштарын жасауға немесе SAPI-мен жұмыс істеу үшін қолданыстағы қозғалтқыштарды бейімдеуге болады. Егер бұл қозғалтқыштар анықталған интерфейстерге сәйкес келсе, оларды Microsoft ұсынған қозғалтқыштардың орнына пайдалануға болады. Жалпы, Сөйлеу API – бұл еркін таратылатын компонент, оны сөзді тану технологиясын пайдаланғысы келетін кез келген Windows қолданбасымен бірге таратуға болады. Көптеген нұсқалар (бірақ барлығы емес) сөзді тану және синтездеу қозғалтқыштарын да еркін қайта таратуға болады. Microsoft Сөйлеу API-нің екі негізгі "отбасысы" болды. SAPI 1-ден 4-ке дейінгі нұсқалары бір-біріне ұқсас, әрбір жаңа нұсқада қосымша мүмкіндіктер бар. Алайда, SAPI 5 – 2000 жылы шығарылған мүлдем жаңа интерфейс болды. Содан бері осы API-нің бірнеше кіші нұсқалары шығарылды.

Негізгі архитектура

Сөйлеу API-ін қолданбалар мен сөйлеу қозғалтқыштары (танылған және синтезделген) арасындағы интерфейс немесе аралық бағдарламалық құрал ретінде қарастыруға болады. SAPI нұсқалары 1-ден 4-ке дейін қолданбалар қозғалтқыштармен тікелей байланыса алатын. API абстрактілі интерфейс анықтамасын қамтыды, оған қолданбалар мен қозғалтқыштар сәйкес келуі керек еді. Қолданбалар қозғалтқыштардағы әдістерді тікелей шақырудың орнына қарапайым, жоғары деңгейдегі объектілерді де пайдалана алатын. Алайда, SAPI 5-те қолданбалар мен қозғалтқыштар бір-бірімен тікелей байланыспайды. Олардың орнына, әрқайсысы орындалу уақыты компонентімен (sapi.dll) байланысады. Бұл компонент қолданбалар пайдаланатын API-ні және қозғалтқыштарға арналған интерфейстер жиынтығын іске асырады. SAPI 5 қолданбалары әдетте API арқылы шақырулар жасайды (мысалы, тану грамматикасын жүктеу; тануды бастау; немесе синтезделуге тиіс мәтінді беру). Sapi.dll орындалу уақыты компоненті осы командаларды түсіндіреді және қажет болған жағдайда қозғалтқыш интерфейстері арқылы қозғалтқыштарды шақырады (мысалы, файлдан грамматиканы жүктеу орындалу уақытында жүзеге асырылады, бірақ грамматикалық деректер тану қозғалтқышына тану үшін жіберіледі). Тану және синтез қозғалтқыштары өңдеу кезінде оқиғаларды да тудырады (мысалы, сөйлеуді тануды көрсету үшін немесе синтезделген сөйлеудегі сөз шекараларын көрсету үшін). Бұл оқиғалар кері бағытта, қозғалтқыштардан, орындалу уақыты DLL арқылы және қолданбадағы оқиғаны қабылдағышқа (event sink) өтеді. Нақты API анықтамасымен және орындалу уақыты DLL-мен қатар, SAPI-нің барлық нұсқаларымен бірге толық Сөйлеу бағдарламалық құралдарды әзірлеу жиынтығы (Speech Software Development Kit) жеткізіледі. Сөйлеу SDK-ның көптеген нұсқаларында келесі компоненттер бар: MIDL форматындағы API анықтамасы файлдары және C немесе C++ бас файлдары. Орындалу уақыты компоненттері, мысалы, Sapi.dll. Әдепкі сөйлеуді тану және синтезаторды таңдау және конфигурациялау үшін Басқару тақтасы құралы (Control Panel applet). Көптеген тілдерде мәтінді сөйлеуге айналдыру қозғалтқыштары. Көптеген тілдерде сөйлеуді тану қозғалтқыштары. Әзірлеушілерге қозғалтқыштар мен орындалу уақытын олардың қолданбалық кодымен бірге біріктіріп, бір орнатылатын қолданба жасауға мүмкіндік беретін қайта таратылатын компоненттер. Үлгілік қолданба коды. Үлгілік қозғалтқыштар – қажетті қозғалтқыш интерфейстерінің іске асырылуы, бірақ нақты сөйлеуді өңдемейтін, SAPI-ге қозғалтқышты көшіруді жоспарлап отырғандар үшін үлгі ретінде пайдаланылуы мүмкін. Құжаттама.

Нұсқалар

Сюэдун Хуан Microsoft компаниясының SAPI-ді дамытудағы бастапқы қадамдарының маңызды жетекшісі болды.

SAPI 1

SAPI-нің алғашқы нұсқасы 1995 жылы шығарылды және Windows 95 және Windows NT 3.51 жүйелерінде қолданады. Бұл нұсқаға төменгі деңгейдегі тікелей сөйлеуді тану және тікелей мәтіннен сөйлеуге арналған API-лер кірді, оларды қолданбалар қозғалтқыштарды тікелей басқару үшін пайдалана алады, сондай-ақ "жоғары деңгейдегі" дауыстық командалар мен дауыстық сөйлеу API-лері қарапайымдастырылған.

SAPI 3

SAPI 3.0 1997 жылы жарық көрді. Ол диктант сөйлеуді тануға (үзіліспен айтылатын, үздіксіз емес) және қосымша мысалдар мен аудио көздерге шектеулі қолдау қосты.

SAPI 5.0

Бұл нұсқа 2000 жылдың соңында Speech SDK 5.0 нұсқасының бір бөлігі ретінде, 5.0 нұсқасының тану және синтездеу қозғалтқыштарымен бірге шығарылды. Тану қозғалтқыштары үздіксіз диктанттау және командалық басқаруды қолдады және АҚШ ағылшын, жапон және қарапайым қытай тілдеріндегі нұсқаларымен шығарылды. АҚШ ағылшын тіліндегі жүйеде балалардың сөйлеуі және телефон арқылы сөйлеу үшін арнайы акустикалық модельдер қолжетімді болды. Синтездеу қозғалтқышы ағылшын және қытай тілдерінде қолжетімді болды. Бұл API және тану қозғалтқыштарының нұсқасы 2001 жылы Microsoft Office XP-де де шығарылды.

SAPI 5.1

Бұл нұсқа 2001 жылдың соңында Speech SDK 5.1 нұсқасының құрамында шығарылды. Visual Basic, JScript сияқты сценарийлік тілдер мен басқарылатын кодтан пайдалануға мүмкіндік беру үшін API-ға автоматтандыру талаптарына сәйкес келетін интерфейстер қосылды. Осы API және TTS қозғалтқыштарының нұсқасы Windows XP жүйесімен бірге жеткізілді. Windows XP Tablet PC Edition және Office 2003-те де осы нұсқа бар, бірақ 6-шы нұсқаның тану қозғалтқышы және дәстүрлі қытай тілі едәуір жақсартылған.

SAPI 5.2

Бұл 2004 жылы шыққан Microsoft Speech Server-де ғана қолданылатын API-нің ерекше нұсқасы болды. Ол SRGS және SSML белгілеу тілдерін, сондай-ақ қосымша серверлік мүмкіндіктерді және өнімділікті арттыруды қамтамасыз етті. Сөйлеу сервері 6-шы нұсқадағы десктоптық тану қозғалтқышымен және 7-ші нұсқадағы серверлік тану қозғалтқышымен бірге жеткізілді.

SAPI 5.4

Бұл Windows 7 жүйесімен бірге келетін API-нің жаңартылған түрі.

SAPI 5 дауыстар

Microsoft Sam (Speech Articulation Module) – SAPI 5 дауыстық жүйесі. Бұған қоса, Microsoft Office XP және Office 2003 L&H Майкл мен Мишель дауыстарын орнатты. SAPI 5.1 SDK тағы екі дауыс – Майк пен Мэриді орнатады. Windows Vista Microsoft Anna дауысын қамтиды, ол Microsoft Sam-ді алмастырып, көбірек табиғи және түсінікті естіледі. Бұл дауыс Microsoft Streets & Trips 2006 және одан кейінгі нұсқалары арқылы Windows XP-ге де орнатылады. Vista-ның қытай тіліндегі нұсқасы және Windows клиенттерінің кейінгі нұсқалары Microsoft Lili деп аталатын әйел дауысын да қамтиды.

Басқарылатын код Speech API

Басқарылатын кодтық API NET Framework 3.0 құрамында жеткізіледі. Ол SAPI 5-ке ұқсас функционалдыққа ие, бірақ басқарылатын кодты қолданбалар үшін көбірек қолайлы. Жаңа API Windows XP, Windows Server 2003, Windows Vista және Windows Server 2008 жүйелерінде қолжетімді. Ескі SAPI 5 API-ді басқару кодтан COM Interop кодын (COM интерфейстері мен сыныптарына қол жеткізуге көмектесетін кодты) жасау арқылы белгілі бір шектеулермен пайдалануға болады. Бұл кейбір жағдайларда жақсы жұмыс істейді, бірақ жаңа API кез келген басқа басқарылатын код кітапханасын пайдалану сияқты біркелкі тәжірибе ұсынуы тиіс. Дегенмен, COM Interop-тан өтуге басты кедергі – басқарылатын нұсқаудағы елеусіз жад ақаулары, олар жадтың фрагментациясына әкеліп, кітапхананы күрделі емес қолданбаларда пайдалануға мүмкіндік бермейді. Шешім ретінде Microsoft дауыстар саны аз басқа API-ді пайдалануды ұсынды.