Программное обеспечение для распознавания голоса для разработчиков [закрыто]
-
01-07-2019 - |
Вопрос
Что ж, врачи наконец-то сказали, что мне нужно поберечь запястье на несколько месяцев.Поскольку я являюсь разработчиком .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# или других языках.Я начинаю с совершенно пустого словарного запаса и создаю его с нуля в соответствии со своими потребностями (именно поэтому я использую профессиональную версию).
Вот основные шаги (предполагается, что вы уже создали и обучили пользователя):
- Создайте новый словарь на основе «Базовый общий – Пустой диктант».
- Не заставляйте его сканировать ваши документы или электронную почту.
- Добавляйте списки ключевых слов с произношением, специфичным для вашего языка программирования (Dim, ByVal\by-val и т. д.).
- Создайте документ .txt, содержащий весь ваш код без комментариев.
- Соберите слова из этого документа и дополните их произношением.
- Используйте документ для тренировки языковой модели словаря.
Я напишу что-нибудь более подробно, когда у меня будет возможность, если кому-то интересно.
Редактировать:
Вот как диктовать SQL-код.Созданный здесь список слов можно включить в другие словари, если вы разработчик баз данных.
Другая идея — найти другого хорошего разработчика для совместной программы.Это сработало для меня очень хорошо.Я могу дать отдых своим рукам, не обязательно замедляясь, и в конечном итоге создаю код более высокого качества - или, по крайней мере, мне не придется пересматривать его так много.
Для всех пользователей Linux я хотел бы поделиться некоторыми ссылками.
Начнем с Саймон - программное обеспечение для распознавания речи с открытым исходным кодом:
- Саймон слушает - некоммерческая организация исследований и обучения
- Саймон:Распознавание речи с открытым исходным кодом - связанный блог
- Набор инструментов для распознавания речи HTK - двигатель используется внутри
- Механизм CSR с большим словарем с открытым исходным кодом Julius
- Не на shlashdot о будущем Саймона
и некоторые другие:
- Голосовое управление гнома
- https://wiki.ubuntu.com/SpeechRecognition
- http://en.wikipedia.org/wiki/Speech_recognition_in_Linux
- Голосовой код
и
Я знаю, что немного не по теме и ничего не знаю о программном обеспечении для распознавания голоса;однако вам может быть полезно изучить возможность изменения раскладки клавиатуры на раскладку Дворжака, которая, как я слышал, намного приятнее для запястий.
Я попробовал Dragon пару лет назад, и это был кошмар, состоящий из беспорядочных слов и фраз — не рекомендуется.Я понимаю, что это было лучшее, что происходило на тот момент, поэтому я не настроен оптимистично.
Как товарищ по несчастью, рекомендации будут такими:
- Найдите работу, которая требует как можно меньше ОТ
- Попробуйте различные клавиатуры.По моему опыту, лучше всего работать полный рабочий день за ноутбуком.
- Начните программу поднятия тяжестей с низким или умеренным стрессом.
Что касается проблемы с запястьем, то около 10 лет назад я научился пользоваться мышью обеими руками.
Это на удивление легко и существенно снимает напряжение.Сейчас я использую ноутбук, и нажатие кнопки сенсорной панели напрягает мой большой палец.
Будь осторожен.Эти проблемы могут длиться намного дольше, чем можно было бы подумать.
п.с.вы можете добавить тег «эргономика» или что-то в этом роде — видно, что в заголовке речь идет о развивающийся для распознавания голоса.
Золотым стандартом голосового программирования является Голосовой код.Если я правильно помню, они поддерживают C++ и Python.
Как упоминалось выше, Dragon Naturally Speaking — лучшее программное обеспечение для распознавания речи, однако Microsoft Speech Recognition не сильно отстает и поставляется в комплекте с Vista.
Vocola недавно была перенесена на MSR и имеет функцию интеграции с .Net.
Несколько советов
- Обучение диктовке занимает некоторое время.Тот факт, что вы умеете говорить, не означает, что вы умеете использовать программное обеспечение для распознавания речи.
- Освоить сочетание SR и клавиатуры/мыши гораздо проще, чем работать в режиме громкой связи.
- Используйте CodeRush или его аналог, чтобы печатать меньше.
Я начал использовать левую руку для мыши, это не только мне немного помогло, но и позволило мне более свободно использовать правую руку, если вы пишете много чего, пока кодируете, это вам очень помогает..можно пролистывать и записывать одновременно...
Когда у меня начались проблемы, я положил под запястье мешок с водой, мне это понравилось!Сумка у меня была идеальная, она была длинная, и я положил ее перед клавиатурой, чтобы можно было положить туда запястья....пока однажды я не наступлю на него...
Dragon Naturally Speaking Preferred и Vocola.Autohotkey для максимальной автоматизации.Хотя программировать не так просто.Я пытался;почти невозможно.Посмотрите книгу Джона Сарно «Исцеление боли в спине».Это сделало меня лучше.Я снова занимаюсь программированием на весь день!
Еще немного не по теме: я обнаружил, что разделение кеборда на две части и другие специальные клавиатуры помогают, просто проверьте kinesis.Информацию о таком железе я собрал на diigo:
- http://www.diigo.com/user/wierzowiecki/keyboard%20ergonomics
- http://www.diigo.com/user/wierzowiecki/keyboard%20rsi .
Что насчет прямых ссылок:
- 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/ - это тоже выглядит интересно
- Я думаю, есть много других интересных решений.
Еще кое-что!Помните о перерывах для занятий.Регулярные упражнения (например, небольшие упражнения - каждые половину часа разные) делают действительно действительно лучше!
- http://www.workrave.org/ - это напомнит вам о перерывах ;)
Скотт Хансельман использует распознавание голоса немного.
Я использовал Dragon Dictate в 1996 году по той же причине, что и вы.Это шло медленно, но лучше, чем не работать.Мне стало проще писать код, заполнив кодом доску размером 4x8, а затем попросив кого-нибудь его напечатать.Затем я использовал DD для отладки.
И пока вы этим занимаетесь, вы можете посмотреть на Дебора Квилтер книги о RSI.Они очень информативны.
Ссылку на одну найти не могу (смотрел), но есть клавиатуры всего с 5 клавишами, позволяющими печатать одной рукой, предполагаю, что у вас только одно плохое запястье.
Если найду ссылку, постараюсь вам написать.