Программное обеспечение для распознавания голоса для разработчиков [закрыто]

StackOverflow https://stackoverflow.com/questions/87999

Вопрос

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

ПОСТСКРИПТ:Я снова восстановил свою руку до такой степени, что программирование двумя руками не является проблемой.Дракон, естественно, работал достаточно хорошо, но был медленнее, в отличие от клавиатуры, на которой я программировал быстрее, чем думал.

Это было полезно?

Решение

Оно есть и оно работает...

Существует довольно много программ распознавания речи, из которых Дракон ЕстественноГоворящий Я думаю, что это один из наиболее широко используемых.Я сам пользовался им и был впечатлен его качеством.Это было пару лет назад, и я думаю, что к настоящему времени ситуация улучшилась еще больше.

...но это непросто...

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

...специально для программистов!

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

В чем проблема?Большая часть программного обеспечения SR создана для распознавания обычного языка.Программисты пишут очень загадочные вещи, и трудно, если не невозможно, найти программное обеспечение, которое выполняет преобразование между обычным языком и кодом.Например, как бы вы диктовали:

if (somevar == 'a')
{
   print('You pressed a!');
}

Используя команды обычной программы SR, это огромная проблема:«если пробел в левой скобке, знак равенства, знак равенства, апостроф, пишется апостроф ...».И я даже не говорю о навигация ваш код.Вы когда-нибудь замечали, как часто вы используете клавиатуру во время программирования и насколько это использование отличается от того, как «обычный» пользователь использует клавиатуру?

Как сделать это максимально эффективно

До сих пор я работал только с Dragon NaturallySpeaking (DNS), поэтому могу говорить только об этом продукте.Есть несколько интересных дополнений и веб-сайтов, предназначенных для таких людей, как программисты:

  • Вокола — неофициальный плагин, который позволяет легко добавлять в DNS свои собственные команды.По сути, я нашел это необходимым.Вы также сможете найти наборы команд, написанные другими программистами, например.навигационный код.Он основан на программном пакете, написанном на Python, поэтому существуют и более продвинутые и модные пакеты.Также посетите Vocola's Страница ресурсов.(Предупреждение:когда я им пользовался, были проблемы с установкой Vocola;загляните в группу новостей ниже для получения информации!)
  • SpeechComputing.com это форум/группа новостей с множеством интересных дискуссий.Хорошее место для начала.

Заключительные замечания

Кажется, что лучшее решение этой проблемы действительно:

  • Найдите способы обойти фактическое кодирование.
  • Попробуй восстановиться.Я несколько неохотно рекомендую эту книгу, но, похоже, она очень хорошо помогает людям с синдромом RSI/запястного канала и другими хроническими болями: Дж.Э.Сарно, рецепт Mindbody.Я работаю над этим прямо сейчас и думаю, что это определенно стоит прочитать.

Другие советы

Я диктую VB.net и TSQL, используя Dragon NaturallySpeaking 10 Professional.VB.net по своей сути ближе к «разговорному» языку, но я не вижу причин, по которым он не мог бы работать на C# или других языках.Я начинаю с совершенно пустого словарного запаса и создаю его с нуля в соответствии со своими потребностями (именно поэтому я использую профессиональную версию).

Вот основные шаги (предполагается, что вы уже создали и обучили пользователя):

  1. Создайте новый словарь на основе «Базовый общий – Пустой диктант».
  2. Не заставляйте его сканировать ваши документы или электронную почту.
  3. Добавляйте списки ключевых слов с произношением, специфичным для вашего языка программирования (Dim, ByVal\by-val и т. д.).
  4. Создайте документ .txt, содержащий весь ваш код без комментариев.
  5. Соберите слова из этого документа и дополните их произношением.
  6. Используйте документ для тренировки языковой модели словаря.

Я напишу что-нибудь более подробно, когда у меня будет возможность, если кому-то интересно.

Редактировать:

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

Другая идея — найти другого хорошего разработчика для совместной программы.Это сработало для меня очень хорошо.Я могу дать отдых своим рукам, не обязательно замедляясь, и в конечном итоге создаю код более высокого качества - или, по крайней мере, мне не придется пересматривать его так много.

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

http://en.wikipedia.org/wiki/Dvorak_Simplified_Keyboard

Я попробовал Dragon пару лет назад, и это был кошмар, состоящий из беспорядочных слов и фраз — не рекомендуется.Я понимаю, что это было лучшее, что происходило на тот момент, поэтому я не настроен оптимистично.

Как товарищ по несчастью, рекомендации будут такими:

  1. Найдите работу, которая требует как можно меньше ОТ
  2. Попробуйте различные клавиатуры.По моему опыту, лучше всего работать полный рабочий день за ноутбуком.
  3. Начните программу поднятия тяжестей с низким или умеренным стрессом.

Что касается проблемы с запястьем, то около 10 лет назад я научился пользоваться мышью обеими руками.

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

Будь осторожен.Эти проблемы могут длиться намного дольше, чем можно было бы подумать.


п.с.вы можете добавить тег «эргономика» или что-то в этом роде — видно, что в заголовке речь идет о развивающийся для распознавания голоса.

Золотым стандартом голосового программирования является Голосовой код.Если я правильно помню, они поддерживают C++ и Python.

Как упоминалось выше, Dragon Naturally Speaking — лучшее программное обеспечение для распознавания речи, однако Microsoft Speech Recognition не сильно отстает и поставляется в комплекте с Vista.

Vocola недавно была перенесена на MSR и имеет функцию интеграции с .Net.

Несколько советов

  1. Обучение диктовке занимает некоторое время.Тот факт, что вы умеете говорить, не означает, что вы умеете использовать программное обеспечение для распознавания речи.
  2. Освоить сочетание SR и клавиатуры/мыши гораздо проще, чем работать в режиме громкой связи.
  3. Используйте CodeRush или его аналог, чтобы печатать меньше.

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

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

Dragon Naturally Speaking Preferred и Vocola.Autohotkey для максимальной автоматизации.Хотя программировать не так просто.Я пытался;почти невозможно.Посмотрите книгу Джона Сарно «Исцеление боли в спине».Это сделало меня лучше.Я снова занимаюсь программированием на весь день!

Еще немного не по теме: я обнаружил, что разделение кеборда на две части и другие специальные клавиатуры помогают, просто проверьте kinesis.Информацию о таком железе я собрал на diigo:

Что насчет прямых ссылок:

  • http://www.fentek-ind.com/ergo.htm - разные вещи
  • http://www.kinesis-ergo.com/contoured.htm - Контурные клавиатуры Kinesis Advantage (программируемые!)
  • http://www.kinesis-ergo.com/foot.htm некоторые ножные переключатели можно подключить к клавиатуре (например, для переключения окон)
  • http://www.kinesis-ergo.com/freestyle.htm - На данный момент я пришел к выводу, что даже использование двух обычных клавиатур лучше, чем одной, поэтому я думаю, что разделенный фристайл тоже может сработать.
  • http://www.typematrix.com/ - другое решение
  • http://www.maltron.com/ - иногда, когда одна рука страдает больше, чем другая при наборе текста одной рукой
  • http://www.keybowl.com/ - это тоже выглядит интересно
  • Я думаю, есть много других интересных решений.

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

Скотт Хансельман использует распознавание голоса немного.

Я использовал Dragon Dictate в 1996 году по той же причине, что и вы.Это шло медленно, но лучше, чем не работать.Мне стало проще писать код, заполнив кодом доску размером 4x8, а затем попросив кого-нибудь его напечатать.Затем я использовал DD для отладки.

И пока вы этим занимаетесь, вы можете посмотреть на Дебора Квилтер книги о RSI.Они очень информативны.

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

Если найду ссылку, постараюсь вам написать.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top