나는 몇 년 전에 아주 짧게 Dragon Naturally Speaking을 사용했고 이것이 프로그래밍을위한 실용적인 솔루션이 될 것이라고 생각하고 있었습니까?
팔을 부러 뜨리거나 프로그래밍에 큰 걸림돌이 될 수 있다면 더 많이 생각하고있었습니다.
SO에 대한 동일한 질문 이지만 대답하지 않았습니다.
나는 몇 년 전에 아주 짧게 Dragon Naturally Speaking을 사용했고 이것이 프로그래밍을위한 실용적인 솔루션이 될 것이라고 생각하고 있었습니까?
팔을 부러 뜨리거나 프로그래밍에 큰 걸림돌이 될 수 있다면 더 많이 생각하고있었습니다.
SO에 대한 동일한 질문 이지만 대답하지 않았습니다.
답변:
나는 개인적인 경험에서 이것에 대답 할 수 있습니다. 몇 년 전, 나는 사고로 두 팔을 부러 뜨 렸습니다 . 내 직업은 풀 타임 프로그래밍 이었기 때문에 문제가되었습니다. 도움을 받으면 랩톱에 Dragon이 설치되었습니다.
시간 낭비였습니다.
코드는 자연어와 크게 다르지 않습니다. 주로 말하지 않고 쓰여졌습니다. 나는 정확히 무슨 y_z = (x < 0 ? -x : x) + 2;
뜻 인지 알지만 , 어떻게 발음하는지, 나도 신경 쓰지 않습니다.
서면 전용 언어이므로 코드는 문자 수준에서 매우 정확합니다. (x+2)*3
와 사이에는 큰 차이가 (x+2*3)
있습니다. Speech-to-Text 프로그램은 문자가 아닌 단어에주의를 기울입니다. 특정 문자를 추가하려면 "왼쪽 괄호, x, 더하기 부호, 2, 오른쪽 괄호"와 같은 많은 말이 필요합니다.
코딩 할 때 많은 이동과 재 작성을합니다. 텍스트 음성 변환은 단일 언어 스트림에 적합합니다. 이곳 저곳을 오가는 것은 좋지 않습니다.
코딩에있어 많은 분량의 작업은 타이핑과 동등하지 않습니다. 이는 모든 텍스트에 적합합니다. 다른 코드 모듈을보기 위해 탭을 변경하는 빈도 또는 편집기에서 함수를 접거나 펼치는 빈도를 생각하십시오.
따라서 음성 텍스트 프로그램을 사용하는 경우 직접 시도해보십시오. 나는 당신이 너무 감명받을 것이라고 생각하지 않습니다.
또한 두 팔을 동시에 부수 지 마십시오. 한 번에 하나씩 중단하면 훨씬 쉽습니다.
팔이 부러진 경우, 모든 코딩을 한 손으로 수행했을 것입니다. 텍스트 음성 변환 소프트웨어를 사용하는 것보다 여전히 빠릅니다.
다음은 Tavis Rudd가 Python 플러그인 구조를 사용하여 Dragon Naturally Speaking을 커스터마이즈하여 Emacs, vim 및 터미널에서의 프로그래밍 및 편집에 적합한 어휘를 만드는 방법을 설명하는 Python Convention의 비디오 링크입니다. 프로그래밍 및 개발 영역에서 음성 인식의 가능성을 고무적으로 엿볼 수 있습니다.
2 년 전, 나는 Emacs Pinkie (RSI)의 사례를 개발하여 손이 마비되어 더 이상 타이핑하거나 일할 수 없었습니다. 필사적으로 음성 인식을 시도했습니다. 처음에는 프로그래밍이 고통 스럽지만 입력 할 수 없으므로 인내했습니다. 파이썬과 이맥스 리스프에서 몇 달 간의 vocab tweaking과 duct-tape 코딩 후, 나는 손으로하는 것보다 더 빠르고 효율적으로 음성으로 코딩 할 수있는 시스템을 가졌습니다.
빠르게 진행되는 라이브 데모에서는 Python을 사용하여 작은 시스템과 몇 가지 다른 언어를 사용하여 측정하고 키보드를 건드리지 않고 배포합니다. 데모 신들은 예정된 모습을 보일 것입니다. 음성 인식이 더 이상 장애인의 목발이 아니거나 평범한 산문에 국한된 것이 아니라고 확신합니다. 이제 모든 프로그래머에게 도움이되는 매우 효과적인 도구입니다 ...
실제로 Dragon NaturallySpeaking을 사용하여 음성 솔루션으로 프로그래밍을 작성할 수 있지만 Dragon NaturallySpeaking은 전체 솔루션의 일부일뿐입니다.
음성으로 프로그램하기 위해서는 단순히 음성을 단어로 바꾸는 것 이상의 많은 기술이 필요합니다. 해결해야 할 문제의 몇 가지 예 :
ostreambuf_iterator와 같이 발음 할 수없는 단어를 어떻게 입력합니까? 프로그래밍 언어에서 높은 수준의 구두점을 어떻게 처리합니까? 창 사이를 어떻게 전환합니까?
일반적으로 음성 솔루션으로 프로그래밍을 작성하고 배우는 데 몇 개월이 걸립니다. 하루나 이틀 안에 무언가를 얻을 것으로 예상되는 Joe와 같은 사람들은 크게 실망 할 것입니다.
합리적인 명령 세트가 주어지면 음성으로 앞뒤로 움직입니다. 예를 들어, 표시된 행 번호 mod 100을 사용하여 대상 행을 쉽게 지정할 수 있습니다. 단어 또는 문장 부호 문자로 이동하면 행 내에서 이동하기위한 프로그래밍 언어와 잘 작동합니다.
http://vocola.net/programming-by-voice-FAQ.html 에있는 음성 FAQ를 통한 프로그래밍에서 이러한 문제에 대한 자세한 정보를 찾을 수 있습니다.
문제는 당신이 앞뒤로 갈 수 없다는 Joe의 대답을 바탕으로 합니다.
시선 추적을 추가로 사용하여이 문제를 해결할 수 있습니다.
프로그래밍 언어를 읽을 수 있습니다. 스몰 토크는 읽을 수 있습니다.
10 timesRepeat: [
Transcript show:'hello'.
Transcript cr.
].
말하기에 최적화 된 프로그래밍 언어를 상상해보십시오. 할 수 있습니다.
고객에게 원하는 것을 물었다면 더 빠른 말을했을 것입니다. - 헨리 포드
다음과 같은 용어 : 음성 텍스트 입력이 아닐 수 있습니다. 그러나 프로그래밍 가능한 특성을 가진 음성 제어 환경은 한 단계 더 발전 할 것입니다.