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


10

Я дуже коротко використовував Dragon Naturally Speaking кілька років тому і думав, чи це буде життєздатним рішенням для програмування?

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

Це ж запитання щодо ТА, але так і не було відповіді.


5
це цікава ідея, але я думаю, що синтаксис мови справді
вирішить

1
Поза межами пунктуаційної проблеми кодування передбачає дуже багато редагування, те, в чому голосовий контроль не буде хорошим.
Лорен Печтел

1
Спробуючи це з використанням кількості пунктуаційних зловживань, характерних для більшості мов програмування, пам’ятаємо про комедію комедії Віктора Борге з фонетичної пунктуації.
hotpaw2

Чи можете ви уявити собі роботу з автозаповненням з VS?
Чад Гаррісон

1
Можливо, ідея використовувати Dragon Dictate для речей, що не є фактичним кодуванням, наприклад, для компіляції, запуску компільованого додатка, складання / відповіді на електронні листи, деяких поширених речей, які можуть відволікати чи затримувати фактичне кодування.
Гортрон

Відповіді:


18

На це я можу відповісти з особистого досвіду. Кілька років тому я зламав обидві руки в ДТП. Оскільки моя робота була програмуванням на повний робочий день, це була проблема. З деякою допомогою я встановив Дракона на свій ноутбук.

Це було марною тратою часу.

Код не дуже схожий на природну мову; це в першу чергу написане, а не розмовне. Я точно знаю, що y_z = (x < 0 ? -x : x) + 2;означає, але я поняття не маю, як я це вимовляв, і мені це все одно.

Будучи мовою лише для письма, код є дуже точним на рівні символів. Існує велика різниця між (x+2)*3та (x+2*3). Програми з промовою в текст добре звертають увагу на слова, а не на символи. Додавання конкретних символів вимагає багато слів, таких як "ліва дужка, х, плюс знак, два, права дужка".

Коли я кодую, я багато рухаюсь і переписую. Мовлення в текст добре для одного потоку мови. Це не добре для того, щоб повертатися туди-сюди.

Багато хвилинних завдань з кодування не є еквівалентними введенню тексту, для чого добре говорити текст. Подумайте, як часто ви змінюєте вкладки, щоб переглянути якийсь інший модуль коду, або як часто ви складаєте та розгортаєте функцію у своєму редакторі.

Тож якщо у вас є програма з промовою в текст, спробуйте переконатися в цьому. Я не думаю, що ти будеш надто вражений.


Між іншим, не ламайте обох рук одразу. Розбийте один на один, так набагато простіше.

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


Я думаю, як я буду програму, не буде в моєму переліку проблем, якщо я зламав обидві руки ...
Рятхал

3
Спочатку, звичайно. Але коли ви почуваєте себе краще, майте ноутбук вдома, але кілька місяців не зможете керувати автомобілем, ви хочете трохи виконати роботу.
Джо

13

Для працюючого професійного програміста (де час - гроші) із тяжкими травмами кистьового каналу чи руки (тощо) може бути набагато ефективніше найняти молодшого / стажерського «програміста на пару», і дозволити їм зробити «розпізнавання голосу» та набравши текст.


Це гарна думка. За допомогою програмування пар ви все ще можете бути продуктивними з двома зламаними руками, поки працювали з партнером, який знав, як вводити та як писати код.
Kyralessa

4

Ось посилання на відео з конвенції Python, де Тавіс Радд пояснює, як він налаштував Dragon Naturally Speaking, використовуючи їх структуру плагінів Python, щоб створити словник, придатний для програмування та редагування в Emacs, vim та терміналі. Надихаючий погляд на можливості розпізнавання голосу в області програмування та розробки.

Використання Python для коду за допомогою голосу

Два роки тому я розробив випадок Emacs Pinkie (RSI) настільки важкий, що руки оніміли, і я вже не міг набирати чи працювати. Відчайдушно я спробував розпізнати голос. Спочатку програмування було болісно повільним, але, оскільки я не міг набрати, я наполягав. Після декількох місяців налаштування вокабу та кодування стрічкових стрічок у Python та Emacs Lisp у мене з’явилася система, яка дозволила мені кодувати швидше та ефективніше голосом, ніж я коли-небудь мав від руки.

У швидко розвивається демо-версії я створити невелику систему за допомогою Python, а також кілька інших мов на користь, і розгорнути її, не торкаючись клавіатури. Демо-боги зроблять заплановану появу. Я сподіваюсь переконати вас, що розпізнавання голосу - це вже не милиця для інвалідів або обмежується простою прозою. Зараз це високоефективний інструмент, який може принести користь усім програмістам ...


1
Ви не проти пояснити, що це робить, і чому ви рекомендуєте це відповісти на поставлене запитання? "Листові відповіді" не дуже вітаються на Stack Exchange
gnat

1
gnat - я оновив публікацію, щоб відобразити, чому я вважаю, що це відповідний і корисний ресурс. Якщо посилання не відповідають формату, я його видалю.
starsinmypockets

1

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

Вам потрібно багато технологій, крім простого перетворення голосу на слова, щоб успішно програмувати голос. Деякі приклади питань, які необхідно вирішити:

Як ви вводите такі незрозумілі слова, як ostreambuf_iterator? Як ви справляєтесь із високими знаками пунктуації в мовах програмування? Як ви будете перемикатися між вікнами?

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

Переміщення вперед і назад працює добре з голосом, отримуючи розумний набір команд. Наприклад, ви можете легко вказати цільову лінію, використовуючи її відображений номер рядка mod 100. Переміщення словами або знаками пунктуації добре працює з мовами програмування для переміщення в межах рядка.

Ви можете знайти набагато більше інформації про ці проблеми в програмі голосовими питаннями, розміщеними на веб-сайті http://vocola.net/programming-by-voice-FAQ.html


0

Виходячи з відповіді Джо, де проблема полягає в тому, що ви не можете повертатися вперед і назад:

Ви можете додатково використовувати спостереження очей, щоб вирішити цю проблему.

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

10 timesRepeat: [
    Transcript show:'hello'.
    Transcript cr.
].

Уявіть мову програмування, оптимізовану для розмови. Це можна зробити.

Якби я запитав своїх клієнтів, чого вони хочуть, вони відповіли б швидшим конем. - Генрі Форд

У цих термінах: розмовне введення тексту може бути не таким. Але навколишнє мовленнєве середовище з програмованими ознаками було б кроком далі.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.