Neuca DevDay: Speech to Text

Neuca DevDay to inicjatywa organizowana kilka razy w roku, podczas której wszyscy programiści Neuki dzielą się między sobą na zespoły i mają cały dzień na wymyślenie tematu oraz opracowanie go. Jest to idealny czas żeby skonfrontować z rzeczywistością swoją umiejętność pracy w skrajnie zróżnicowanym technologicznie zespole. Jaki temat może wybrać grupa osób zlepiona z programistów .NET, Java, PHP i ABAP? No właśnie! Jest to niezłe wyzwanie z bardzo ograniczonym czasem!

Wybraliśmy temat który umożliwił nam podzielenie się pracą, pomimo różnych stosów technologicznych. Każdy z zespołu otrzymał do opracowania jeden z serwisów poznawczych znajdujących się w chmurze Azure. Nasz cel to – stworzyć POC’a i opracować realne scenariusze wdrożenia w firmie takiej jak Neuka. Wybrałem jeden z serwisów odpowiedzialnych za tłumaczenie mowy na tekst. Wziąłem ten temat z pełną premedytacją, ponieważ jako jedyny w swojej kategorii nie posiadał żadnej dokumentacji oraz przykładów dla języka PHP. Moje zadanie polegało na zapoznaniu się z dokumentacją innych języków, weryfikacją co robi SDK w .NET i stworzeniu własnej klasy umożliwiającej realizację celu, jakim był „przetłumaczyć mowę”. Udało się osiągnąć cel a jego wyniki możecie sprawdzić na publicznym repo GitHuba.

Przejdź do: POC – Microsoft Azure Cognitive Services: Speech to Text

 

W jaki sposób to działa?

Front odpowiedzialny za nagranie dźwięku rozpoczyna swoją pracę w momencie wciśnięcia przycisku „record”. Następnie nasza próbka głosu zapisywana jest do blob’a w pamięci naszej przeglądarki. Zatrzymanie nagrywania wysyła ajaxem bloba w celu zapisania go na dysku twardym. Z tego miejsca nagranie przekazywane jest do funkcji która odpowiedzialna jest za przekazanie go do chmury Azure. Otrzymaną odpowiedź wyświetlana jest użytkownikowi jako javascript alert().

Kasztelan Paweł

Programista samouk, zakochany w ZF i Laravel, szerzący opinię że PHP + JS + HTML + CSS to są języki w których może zostać stworzona aplikacja równie dobra, a nawet lepsza od twardego klienta.