Voice coding, czyli programowanie głosem

26.03.2021
Internet

Od jakiegoś czasu używamy komend głosowych, które stają się poleceniami dla komputera lub telefonu. Wypowiadanie komend może stać się poleceniem programistycznym. Czy można programować bez użycia rąk i czym jest voice coding?

Alexa, Siri, Apple CarPlay i Android Auto – tych poleceń głosowych używamy do obsługi wielu gadżetów. Istnieją również aplikacje mobilne, reagujące na polecenia głosowe. Funkcjonuje również opcja, żeby głosowo “pisać” kod programistyczny. Wydawałoby się to niemożliwe – podstawowym narzędziem pracy programisty jest przecież język programowania, wpisywany ręcznie.

Voice coding: czym jest?

Kodowanie głosowe to nie lada wyzwanie – zawiera specjalne znaki i wyrażenia, które trzeba znać, żeby móc je wypowiadać. Istnieje wiele rodzajów składni i konwencji oraz słów spoza słownika. Poza tym kod źródłowy jest tekstem trudniejszym do przepisywania „ze słuchu” niż tekst literacki – znajduje się w nim wiele nawiasów, wcięć na różnych poziomach, duża liczba znaków interpunkcyjnych. Kolejna rzecz to dbałość o dokładność – literówka w kodzie zablokuje dalsze przetwarzanie danych wejściowych. W efekcie operacja nie powiedzie się.

Aplikacja do programowania głosowego

Programowanie głosowe jest możliwe za pomocą aplikacji Serenade, której działanie opiera się na silniku speech-to-text, zamieniającym mowę w kod programistyczny. W uproszczeniu: gdy programista mówi komendę na głos, silnik oprogramowania przekazuje ją do swojej warstwy przetwarzania języka naturalnego. W dalszej kolejności modele uczenia maszynowego identyfikują i tłumaczą typowe konstrukcje na poprawny pod kątem składni kod i w ten sposób powstaje kod głosowy. Zatem nie działa to tak jak Google Asistant, który przetwarza mowę, a dokładnie “tłumaczy” język naturalny na głosowe programowanie.

Voice coding: ciekawostki

Serenade pozyskała w 2020 roku 2,1 mln dolarów dofinansowania na dalszy rozwój. Współzałożyciel aplikacji był podobno tak zmęczony pisaniem kodu, że nie mógł dłużej pisać. W pewnym momencie stanął przed ultimatum: wybór innej ścieżki zawodowej albo… zupełnie inne rozwiązanie. Wybrał to drugie i stworzył  oprogramowanie, które pozwala mu realizować się w ulubionej dziedzinie.

Programowanie bez użycia rąk

Podobna historia wiązała się z twórcą platformy Talon, Ryanem Hilemanem. Odszedł z etatu programisty ze względu na coraz silniejszy ból ręki. Talon działa na zasadzie rozpoznawania mowy, śledzenia wzroku oraz wychwytywania hałasu. Funkcjonowanie platformy bazuje na Wav2letter Facebooka, a Hileman rozwinął o wykrywanie komend programistycznych. W aplikacji funkcjonuje dodatkowo nowatorska nawigacja za pomocą myszy (ruch kursora po ekranie poprzez ruch gałek ocznych i klikanie za pomocą ruszanie ustami).  

Voice coding: przyszłość

Mimo tych nowinek, trudno uwierzyć, że programowanie bez użycia rąk stanie się wiodącym kierunkiem rozwoju w IT. Większość programistów pozostanie przy rozwiązaniach dla nich wygodniejszych. Jednak ta nisza ma potencjał do wykorzystania dla tych, którzy z jakichś powodów nie mogą korzystać z tradycyjnych narzędzi programistycznych lub …żądnych nowych wrażeń.