음성 인식 소프트웨어를 사용한 프로그래밍 [닫기]


10

나는 몇 년 전에 아주 짧게 Dragon Naturally Speaking을 사용했고 이것이 프로그래밍을위한 실용적인 솔루션이 될 것이라고 생각하고 있었습니까?

팔을 부러 뜨리거나 프로그래밍에 큰 걸림돌이 될 수 있다면 더 많이 생각하고있었습니다.

SO에 대한 동일한 질문 이지만 대답하지 않았습니다.


5
이것은 흥미로운 생각이지만, 언어 구문은 그 언어를 위해 일하는 데 전념하지 않은 모든 것을
넘어 뜨릴

1
구두점 문제 코딩 외에는 편집이 엄청나게 수반되는데, 음성 제어가 잘되지 않는 것입니다.
Loren Pechtel

1
대부분의 프로그래밍 언어에 공통적 인 구두점 남용으로 이것을 시도하면 Victor Borge의 Phonetic Punctuation 코미디 스키트가 떠 오릅니다.
hotpaw2

VS로 자동 완성 작업을 상상할 수 있습니까?
채드 해리슨

1
컴파일, 컴파일 된 앱 실행, 전자 메일 작성 / 응답, 실제 코딩을 방해하거나 지연시킬 수있는 몇 가지 일반적인 사항과 같은 실제 코딩 이외의 용도로는 Dragon Dictate를 사용하는 것이 좋습니다.
Gortron

답변:


18

나는 개인적인 경험에서 이것에 대답 할 수 있습니다. 몇 년 전, 나는 사고로 팔을 부러 뜨 렸습니다 . 내 직업은 풀 타임 프로그래밍 이었기 때문에 문제가되었습니다. 도움을 받으면 랩톱에 Dragon이 설치되었습니다.

시간 낭비였습니다.

코드는 자연어와 크게 다르지 않습니다. 주로 말하지 않고 쓰여졌습니다. 나는 정확히 무슨 y_z = (x < 0 ? -x : x) + 2;뜻 인지 알지만 , 어떻게 발음하는지, 나도 신경 ​​쓰지 않습니다.

서면 전용 언어이므로 코드는 문자 수준에서 매우 정확합니다. (x+2)*3와 사이에는 큰 차이가 (x+2*3)있습니다. Speech-to-Text 프로그램은 문자가 아닌 단어에주의를 기울입니다. 특정 문자를 추가하려면 "왼쪽 괄호, x, 더하기 부호, 2, 오른쪽 괄호"와 같은 많은 말이 필요합니다.

코딩 할 때 많은 이동과 재 작성을합니다. 텍스트 음성 변환은 단일 언어 스트림에 적합합니다. 이곳 저곳을 오가는 것은 좋지 않습니다.

코딩에있어 많은 분량의 작업은 타이핑과 동등하지 않습니다. 이는 모든 텍스트에 적합합니다. 다른 코드 모듈을보기 위해 탭을 변경하는 빈도 또는 편집기에서 함수를 접거나 펼치는 빈도를 생각하십시오.

따라서 음성 텍스트 프로그램을 사용하는 경우 직접 시도해보십시오. 나는 당신이 너무 감명받을 것이라고 생각하지 않습니다.


또한 두 팔을 동시에 부수 지 마십시오. 한 번에 하나씩 중단하면 훨씬 쉽습니다.

팔이 부러진 경우, 모든 코딩을 한 손으로 수행했을 것입니다. 텍스트 음성 변환 소프트웨어를 사용하는 것보다 여전히 빠릅니다.


양팔을 꺾었을 때 어떻게 프로그램을 진행할 것인지에 대한 우려는 없을 것
같습니다

3
처음에는 그렇지 않습니다. 그러나 기분이 나아질 때 집에 랩톱을 가지고 있지만 몇 달 동안 자동차를 운전할 수 없다면 몇 가지 작업을 수행하고 싶습니다.
Joe

13

심한 손목 관절이나 손 부상 등을 겪고있는 실무 전문가 프로그래머 (시간이 돈인 곳)의 경우, 주니어 / 인턴 "페어 프로그래머"를 고용하고 "음성 인식"및 타자.


이것은 좋은 생각입니다. 페어 프로그래밍을 사용하면 입력 방법과 코드 작성 방법을 알고있는 파트너와 함께 작업하는 한 두 개의 팔이 부러진 상태에서도 생산성을 유지할 수 있습니다.
Kyralessa

4

다음은 Tavis Rudd가 Python 플러그인 구조를 사용하여 Dragon Naturally Speaking을 커스터마이즈하여 Emacs, vim 및 터미널에서의 프로그래밍 및 편집에 적합한 어휘를 만드는 방법을 설명하는 Python Convention의 비디오 링크입니다. 프로그래밍 및 개발 영역에서 음성 인식의 가능성을 고무적으로 엿볼 수 있습니다.

파이썬을 사용하여 음성으로 코딩

2 년 전, 나는 Emacs Pinkie (RSI)의 사례를 개발하여 손이 마비되어 더 이상 타이핑하거나 일할 수 없었습니다. 필사적으로 음성 인식을 시도했습니다. 처음에는 프로그래밍이 고통 스럽지만 입력 할 수 없으므로 인내했습니다. 파이썬과 이맥스 리스프에서 몇 달 간의 vocab tweaking과 duct-tape 코딩 후, 나는 손으로하는 것보다 더 빠르고 효율적으로 음성으로 코딩 할 수있는 시스템을 가졌습니다.

빠르게 진행되는 라이브 데모에서는 Python을 사용하여 작은 시스템과 몇 가지 다른 언어를 사용하여 측정하고 키보드를 건드리지 않고 배포합니다. 데모 신들은 예정된 모습을 보일 것입니다. 음성 인식이 더 이상 장애인의 목발이 아니거나 평범한 산문에 국한된 것이 아니라고 확신합니다. 이제 모든 프로그래머에게 도움이되는 매우 효과적인 도구입니다 ...


1
무엇을하는지 더 자세히 설명해 주시겠습니까? 그리고 질문에 대한 답변으로 추천하는 이유는 무엇입니까? "링크 전용 답변" 은 Stack Exchange에서 환영받지 못합니다
gnat

1
gnat-게시물이 관련이 있고 유용한 리소스라고 생각하는 이유를 반영하여 업데이트되었습니다. 링크가 형식에 적합하지 않으면 제거하겠습니다.
starsinmypockets 2013 년

1

실제로 Dragon NaturallySpeaking을 사용하여 음성 솔루션으로 프로그래밍을 작성할 수 있지만 Dragon NaturallySpeaking은 전체 솔루션의 일부일뿐입니다.

음성으로 프로그램하기 위해서는 단순히 음성을 단어로 바꾸는 것 이상의 많은 기술이 필요합니다. 해결해야 할 문제의 몇 가지 예 :

ostreambuf_iterator와 같이 발음 할 수없는 단어를 어떻게 입력합니까? 프로그래밍 언어에서 높은 수준의 구두점을 어떻게 처리합니까? 창 사이를 어떻게 전환합니까?

일반적으로 음성 솔루션으로 프로그래밍을 작성하고 배우는 데 몇 개월이 걸립니다. 하루나 이틀 안에 무언가를 얻을 것으로 예상되는 Joe와 같은 사람들은 크게 실망 할 것입니다.

합리적인 명령 세트가 주어지면 음성으로 앞뒤로 움직입니다. 예를 들어, 표시된 행 번호 mod 100을 사용하여 대상 행을 쉽게 지정할 수 있습니다. 단어 또는 문장 부호 문자로 이동하면 행 내에서 이동하기위한 프로그래밍 언어와 잘 작동합니다.

http://vocola.net/programming-by-voice-FAQ.html 에있는 음성 FAQ를 통한 프로그래밍에서 이러한 문제에 대한 자세한 정보를 찾을 수 있습니다.


0

문제는 당신이 앞뒤로 갈 수 없다는 Joe의 대답을 바탕으로 합니다.

시선 추적을 추가로 사용하여이 문제를 해결할 수 있습니다.

프로그래밍 언어를 읽을 수 있습니다. 스몰 토크는 읽을 수 있습니다.

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

말하기에 최적화 된 프로그래밍 언어를 상상해보십시오. 할 수 있습니다.

고객에게 원하는 것을 물었다면 더 빠른 말을했을 것입니다. - 헨리 포드

다음과 같은 용어 : 음성 텍스트 입력이 아닐 수 있습니다. 그러나 프로그래밍 가능한 특성을 가진 음성 제어 환경은 한 단계 더 발전 할 것입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.