Всичко за модула за разпознаване на глас EasyVR (бивш VRbot)

глас

Днес най-накрая ще взема и епично ще откъсна кориците на тези много EasyVR модули, тъй като темата за циците, искам да кажа, на практика не е разкрита. Ще "откъсна напълно корицата, ще я откъсна напълно", така че пригответе се:)

И така, започна с факта, че исках да добавя гласово управление към колата (системата comfot) и към стаята у дома. Въпреки че, повече, разбира се, исках да "играя" и да видя какво ще излезе от него. Вече бях чувал за VRBot някъде, но не го държах в ръцете си, така че вече знаех, че има някои готови решения.

Ровенето в интернет показа, че като такива VRBots вече не съществуват и ме доведе до сайта на техния производител и наследник VeeaR. Наследникът на VRBot е модул, който практически не се различава от своя предшественик - EasyVR. Също така се появи и неговата „по-хладна“ версия - SmartVR, която ви позволи да напишете свои собствени приложения за някакъв вид вградена виртуална машина. Но за SmartVR беше необходимо да се завърши поне малко, но външният комплект за тяло (или да се купи скъпа платка за разработчици), така че за начало, без никакво колебание, поръчах чифт EasyVR за "бране", дори и без мислейки си, че моите дрънкания ще стигнат толкова далеч ...

След като модулите дойдоха при мен, започнах да играя с тях. Инсталирах стандартния софтуер, свързах го, научих го, разгледах възможностите. Разбира се, функционалността на тези модули извън кутията е доста тясна - разпознаването на определен брой команди за управление на робота (IMHO, те вече не са подходящи за нищо), включени във фърмуера на няколко европейски езика + възможност за добавете до 32 от вашите собствени команди (т.е. за които са поръчани модулите). Също така имаше много примамлива възможност да се направи „къща за говорене“ - да се включат в модула набори от звуци, които след това да се възпроизведат чрез него като отговори.
Разпознаването на твърди кабелни команди беше „независимо от човека“, тоест всъщност модулът не се интересуваше кой и какъв глас нарича командите - той уверено ги разпознаваше (само беше необходимо да се гарантира правилното произношение). От друга страна, персонализираните екипи първо са се нуждаели от обучение за конкретен потребител. Имаше и възможност за разпознаване на конкретен човек по характеристиките на гласа му - „гласова парола“, което работеше доста добре и беше също доста интересна характеристика.

Всичко изглеждаше добре, но бях много обезпокоен от въпроса: „защо мога да напиша свои програми за SmartVR, но не и за EasyVR?“ И по дяволите ме дръпна да копая цялата тази кухня по-дълбоко.
Започнах с намирането на такъв момент - и двата модула работят на абсолютно еднакви чипове, RSC-4128 от Sensory. Нещо, което чух отдавна, ми каза, че чипът е добър, използваем, стабилен и е използван в куп роботизирани играчки като Furby. И така се оказа.
С големи трудности бяха намерени и изтеглени различни докове на сайта на разработчика - лист с данни на чип, описание на технологични библиотеки, SDK, примери и много, много други боклуци. След като изучих всички добри неща, аз се влюбих в този чип:) Всъщност неговите възможности се оказаха уникални: нямаше други специализирани решения с един чип (с изключение на по-старото семейство на същата компания) то беше. И така, по ред.

FluentChip

Това е набор от обектни файлове, които съдържат цялата магическа функционалност на синтеза и разпознаването, тъй като чипът всъщност е гол диск с периферията и сам не може да направи нищо. Внедрена е следната функционалност:

  • Възпроизвеждане на звук: използвайки специалната програма QuickSynthesys, можете да подготвите библиотеки от звуци, думи и изречения от тях; музика за вградения MIDI секвенсор. С помощта на прости библиотечни функции можете да възпроизвеждате звуци, думи, миди с вашите инструменти и дори с думи върху музика; можете да играете DTMF, бипкане и да изпращате токени SonicNet във всяка комбинация. Има много добра компресия за говор - SX.
  • Запис на звук: всъщност звукозапис с последващо възпроизвеждане. Ние не сме от значение, защото за това ви е необходима специална монтирана RAM памет или приличен обем флаш устройство, което не може да бъде свързано към модулите.
  • Разпознаване на реч: отделен разговор. За тази функционалност ще говорим по-долу.
  • SonicNet: ви позволява да изпращате през високоговорителя и да слушате микрофона специални токени за изпращане, които не се чуват от човек и по този начин комуникират между няколко устройства.
  • "Анимация": набор от функции за интерактивна обратна връзка. Детектор на ритъм и предиктор, детектор на височина или нота, "синхронизиране на устните" както за предварително окабелени библиотеки за звук, така и в реално време от микрофон.
  • Източник на звука: с помощта на малък комплект за тяло е възможно да се построят „електронни уши“, да се разпознае положението на източника на звука и например да се обърне устройството или неговата „глава“ към високоговорителя. За съжаление няма да можем да използваме прелестите поради ограничения брой изходни GPIO на модула.
  • Помощни функции, като функции за настройка на таймери, достъп до буфери в RAM, управление на захранването, генериране на закъснения и др. Има готов софтуер за драйвери на UART.