Распознавание речи и программирование

У кого-то был успех с программным обеспечением распознавания голоса Dragon Naturally Speaking, когда дело доходит до программирования?

Мне интересно, потому что я думаю, что это будет намного быстрее, чем я набираю вручную, и проще на моем туннеле с карполем.

Я программирую изо дня в день в visual basic 6 ide, visual studio 2008 ide + team explorer, пишет электронные письма и общаюсь с Windows Live IM.

Мне нужен командный интерфейс, где я могу привязывать голосовые команды к нажатиям клавиш, переключаться между словами/словами/словами без пробелов и т.д.

Любые комментарии очень ценятся.

Ответ 1

Я думаю, что "голосовое программирование" и "программирование по голосу" лучше ищут "программирование распознавания речи". Он был опробован, но еще не пойман.

Первые учетные записи, которые я прочитал, похоже, согласны с тем, что программирование по голосу может быть жестким для голосовых связок. Затем они продолжают говорить, как все становится лучше, и действительно полезная система может быть за углом. Впервые я прочитал, что был в конце 1990-х годов...

Ответ 2

Я пытался программировать с использованием распознавания речи общего назначения и пришел к выводу, что программирование слишком далека от обычного разговорного языка. Вам нужна специальная грамматика, которая предназначена для кодирования (не обязательно для конкретного языка). В результате этого опыта я изучил программирование, используя распознавание речи. Это все еще только доказательство концепции, но в какой-то степени я считаю, что это выполнимо.

Что нужно учитывать:

  • Если вы здоровы и можете обезопасить себя на полной скорости, вы будете быстрее с помощью клавиатуры/мыши. Я печатаю около 60 wpm, и я не могу идти быстрее с голосом. Тем не менее, я очень медленный типер с одной рукой. Я считаю, что вы можете значительно уменьшить нагрузку на руки, если вам помогают голосовые команды, а не только голос.
  • В программной среде IDE есть действия, которые не кодируются и не печатаются. Возможность выполнения многих из этих задач с использованием голоса должна еще больше снизить нагрузку.
  • Не все работают в среде, где возможно сидеть и разговаривать с компьютером.

Короткий видеоролик POC находится на Youtube. http://www.youtube.com/watch?v=x3Lm9nrFeMk

Ответ 3

Диктовка обычно работает с использованием языковой модели (сопоставление между фонемами и строками). К сожалению, языковая модель программирования просто не соответствует английскому, поэтому коэффициент ошибок распознавания будет довольно высоким.

Интерполяция и навигация - это наименьшее из ваших забот; вы можете создать набор макросов, чтобы использовать знания Visual Studio вашего кода (метод goto и т.д.).

IM и электронные письма будут хорошо обработаны DNS (или распознаванием речи Windows, если на то пошло).

Ответ 4

Я разработал RSI (tenosynovitis), похожий на кистевой туннель в обеих запястиях несколько лет назад, поэтому я, конечно, могу понять, что вам нужно переключиться на речь для кодирования.

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

Я лично использовал Dragon Naturally Speaking около 3 месяцев, но в конце концов решил, что он просто не будет работать в качестве долгосрочного решения. Мне предложили физиотерапевту попробовать эргономичную клавиатуру, Maltron (с малтроновой компоновкой). Учитывая, что я калечу от боли со стандартной клавиатурой, я могу теперь безболезненно кодировать весь день. Они делают (или привыкли) модель проката, чтобы вы могли попробовать ее. Даже если вы не в состоянии использовать клавиатуру сейчас, ее можно было бы рассмотреть в будущем.

Ответ 5

Я считаю, что распознавание голоса может помочь уменьшить количество нажатий клавиш, необходимых для программирования. Я использую Dragon NaturallySpeaking для написания PHP-кода, и я создал несколько команд для вывода часто используемых операторов. Как упоминалось другими, навигация внутри кода является трудностью. Я бы посоветовал всем, у кого была повторяющаяся травма напряжения, попытаться свести к минимуму их программирование в максимально возможной степени. Например, подумайте о том, что вы хотите сделать, прежде чем садиться за монитор. Используйте ручку и карандаш для записи псевдокода. Сделайте свой код как можно более многоразовым. Придерживайтесь лучших методов программирования. Отойдите от экрана; читать книги. Меняйте свое рабочее положение; Я лежу на полу с iPad. Попробуйте распознать голоса в Android для ответа на короткие электронные письма или текстовые сообщения; он бесплатный и многоязычный и довольно точный в спокойной обстановке. Встань и хочешь. Подумайте о том, чтобы заставить кого-то сделать ваши программы для вас.

Ответ 6

Я разработал тенозивит на обоих запястьях, и я использовал дракон около двух лет, чтобы сделать базовую типизацию. У меня есть базовые возможности программирования, но я счел чрезвычайно громоздким использовать дракон для кодирования, что привело к тому, что я выбрал другой путь карьеры. Я использую эргономичную клавиатуру Microsoft и эволюционную мышь, которые помогают, но не позволяют часами бесконечной типизации и мыши.

Я думаю, что библиотека команд для дракона может быть написана (для каждого языка), но она не может стать настоящей заменой клавиатуры.

Ответ 7

Я не уверен, что распознавание речи сможет реально решить вашу проблему - нет слишком много символов, которые редко используются на естественном языке, но распространены для программирования (фигурные скобки, полуколония, кавычки )?

Но то, что, вероятно, будет препятствовать самому опыту, состоит в том, что - в отличие от обычного текстового кода редко записывается линейным образом, но включает прыжки между строками, методами и классами (по крайней мере, то, что я часто делаю). Конечно, для этого можно было бы найти и дополнительные устные команды, но я думаю, что общий опыт не будет слишком удовлетворительным.

Ответ 8

Пожалуйста, перейдите по следующей ссылке для получения более подробной информации о PSPD. http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=5072009

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