Все чаще мы взаимодействуем с нашими гаджетами, разговаривая с ними. К старым друзьям, таким как Алекса и Сири, теперь присоединяются автомобильные помощники, такие как Apple CarPlay и Android Auto, и даже приложения, чувствительные к голосовой биометрии и командам. Но что, если бы сама технология могла быть построена с использованием голоса?

Это предпосылка голосового кодирования, подхода к разработке программного обеспечения с использованием голоса вместо клавиатуры и мыши для написания кода. С помощью платформ голосового кодирования программисты произносят команды для управления кодом и создания пользовательских команд, которые обслуживают и автоматизируют их рабочие процессы.

Голосовое кодирование не так просто, как кажется, за ним стоит множество сложных технологий. Например, приложение для голосового кодирования Serenade имеет механизм преобразования речи в текст, разработанный специально для кода, в отличие от API преобразования речи в текст Google , который предназначен для разговорной речи. Когда инженер-программист произносит код, движок Serenade передает его на свой уровень обработки естественного языка, чьи модели машинного обучения обучены определять и преобразовывать общие программные конструкции в синтаксически допустимый код.

Serenade, которая собрала 2,1 миллиона долларов в рамках раунда посевного финансирования в 2020 году , родилась из-за необходимости, когда соучредителю Мэтту Уитхоффу в 2019 году поставили диагноз повторяющееся растяжение. «Я оставил свою работу инженером-программистом в Quora, потому что не мог этого сделать. работа больше, - говорит он. «Нужно было либо выбрать другую карьеру, не требующую такого большого набора текста, либо найти какое-то решение».

Это был тот же путь, по которому пошел Райан Хайлман, оставив свою постоянную работу в качестве инженера-программиста в 2017 году после того, как годом ранее он почувствовал сильную боль в руке. Именно тогда Хилман начал создавать Talon , платформу для программирования без помощи рук. «Смысл Talon в том, чтобы полностью заменить клавиатуру и мышь для всех, - говорит он.

В Talon есть несколько компонентов: распознавание речи, отслеживание взгляда и распознавание шума. Механизм распознавания речи Talon основан на системе автоматического распознавания речи Wav2letter от Facebook , которую Хилман расширил для поддержки команд для кодирования голоса. Между тем, возможности Talon по отслеживанию взгляда и распознаванию шума имитируют навигацию с помощью мыши, перемещение курсора по экрану на основе движений глаз и выполнение щелчков на основе щелчка во рту . «Этот звук сделать легко. Это не требует больших усилий и требует малой задержки для распознавания, поэтому это гораздо более быстрый невербальный способ щелкнуть мышью, не вызывающий вокального напряжения », - говорит Хилман.

Кодирование с помощью Talon звучит как разговор на другом языке, как демонстрирует инженер-программист и кодировщик голоса Эмили Ши в своем выступлении на конференции в 2019 году . Ее видео заполнено голосовыми командами, такими как «пощечина» (возврат по нажатию), «отменить» (удаление), «пружина 3» (переход к третьей строке файла) и «имя фразы op равно слову« змея, извлекает »слово paren mad» (которое приводит к этой строке кода: name = extract_word (m)).

С другой стороны, кодирование с помощью Serenade следует более естественному способу озвучивания кода. Вы можете сказать «удалить импорт», чтобы удалить инструкцию импорта в верхней части файла, или «построить», чтобы запустить пользовательскую команду сборки. Вы также можете сказать «добавить факториал функции», чтобы создать функцию, которая вычисляет факториал, например, в JavaScript, и приложение позаботится о синтаксисе, включая ключевое слово «функция», круглые и фигурные скобки, поэтому вы не должны явно указать каждый элемент.

Инфографика серенады.
Иллюстрация: IEEE Spectrum
Кодирование голоса требует приличного микрофона, особенно если вы хотите устранить фоновый шум, хотя модели Serenade обучаются звуку, создаваемому микрофонами ноутбука. Вам также понадобится оборудование для отслеживания взгляда, если вы хотите запустить Talon с отслеживанием взгляда. (Talon, однако, прекрасно работает и без него.) Платформы голосового кодирования с открытым исходным кодом, такие как Aenea и Caster , бесплатны, но обе полагаются на движок распознавания речи Dragon , который пользователям придется покупать самостоятельно. Тем не менее, Caster предлагает поддержку Kaldi , набора инструментов для распознавания речи с открытым исходным кодом, и функции распознавания речи Windows, которая предустановлена ​​в Windows.

По словам соучредителя Serenade Labs Томми МакВильямса, результаты говорят сами за себя. «Намного легче описать то, что вы хотите сделать, - говорит он. «Гораздо удобнее сказать« переместите эти три строки вниз »или« продублируйте этот метод », чем вводить его или нажимать сочетания клавиш».

Голосовое кодирование также позволяет людям с травмами или хроническими болями продолжить свою карьеру. «Возможность использовать голос и просто убрать руки из уравнения открыла гораздо менее ограничительный способ использования моего компьютера», - говорит Ши.

Кодирование с помощью голоса также может снизить барьеры для входа в разработку программного обеспечения. «Если они смогут думать о коде, который они хотят написать, логично и структурированно, - говорит МакУильям, - тогда мы сможем заставить машинное обучение сделать последнюю милю и превратить эти мысли в синтаксически достоверный код».

Голосовое кодирование все еще находится в зачаточном состоянии, и его потенциал для широкого распространения зависит от того, насколько инженеры-программисты привязаны к традиционной модели написания кода с использованием клавиатуры и мыши. Но голосовое кодирование открывает возможности, возможно, даже будущее, в котором интерфейсы мозг-компьютер напрямую преобразуют то, о чем вы думаете, в код или само программное обеспечение.