Lập trình với phần mềm nhận dạng giọng nói [đã đóng]


10

Tôi đã sử dụng Dragon Natatural Talking rất ngắn gọn vài năm trước và đang suy nghĩ liệu nó có phải là một giải pháp khả thi cho lập trình không?

Tôi đã suy nghĩ nhiều hơn vì vậy nếu bạn bị gãy tay hoặc điều gì đó sẽ gây trở ngại lớn cho lập trình.

Câu hỏi tương tự trên SO nhưng không bao giờ được trả lời.


5
Đây là một ý tưởng thú vị, nhưng tôi nghĩ cú pháp ngôn ngữ sẽ thực sự
vấp

1
Ngoài vấn đề về dấu câu, mã hóa liên quan đến rất nhiều chỉnh sửa, điều mà điều khiển bằng giọng nói sẽ không tốt.
Loren Pechtel

1
Thử điều này với mức độ lạm dụng dấu chấm câu phổ biến đối với hầu hết các ngôn ngữ lập trình mang đến cho tâm trí tiểu phẩm hài về ngữ âm của Victor Borge.
hotpaw2

Bạn có thể tưởng tượng làm việc với autocomplete với VS không?
Chad Harrison

1
Có thể là ý tưởng sử dụng Dragon Dictate cho những thứ khác ngoài mã hóa thực tế, như biên dịch, khởi chạy ứng dụng đã biên dịch, soạn / trả lời email, một số điều phổ biến có thể làm mất tập trung hoặc trì hoãn mã hóa thực tế.
Gortron

Câu trả lời:


18

Tôi có thể trả lời câu hỏi này từ kinh nghiệm cá nhân. Vài năm trước, tôi bị gãy cả hai cánh tay trong một tai nạn. Vì công việc của tôi là lập trình toàn thời gian, đây là một vấn đề. Với một số trợ giúp, tôi đã cài đặt Dragon trên máy tính xách tay của mình.

Đó là một sự lãng phí thời gian.

Mã không giống ngôn ngữ tự nhiên; nó chủ yếu được viết, không được nói Tôi biết chính xác y_z = (x < 0 ? -x : x) + 2;nghĩa là gì , nhưng tôi không biết tôi đã phát âm nó như thế nào, tôi cũng không quan tâm.

Là một ngôn ngữ chỉ viết, mã rất chính xác ở cấp độ ký tự. Có một sự khác biệt lớn giữa (x+2)*3(x+2*3). Các chương trình nói thành văn bản rất tốt trong việc chú ý đến từ ngữ, không phải ký tự. Thêm các ký tự cụ thể đòi hỏi rất nhiều câu nói như "ngoặc đơn trái, x, dấu cộng, hai, dấu ngoặc đơn phải".

Khi tôi viết mã, tôi làm rất nhiều việc di chuyển và viết lại. Nói thành văn bản là tốt cho một dòng ngôn ngữ. Nó không tốt cho việc đi lại khắp nơi.

Rất nhiều tác vụ phút trong mã hóa không tương đương với việc gõ, tất cả các bài phát biểu thành văn bản đều phù hợp. Hãy suy nghĩ về tần suất bạn thay đổi các tab để xem xét một số mô-đun mã khác hoặc tần suất bạn gấp và mở một chức năng trong trình soạn thảo của mình.

Vì vậy, nếu bạn có một chương trình nói thành văn bản, hãy thử và tự mình xem. Tôi không nghĩ bạn sẽ quá ấn tượng.


Ngẫu nhiên, không phá vỡ cả hai cánh tay cùng một lúc. Phá vỡ một lần, cách đó dễ dàng hơn nhiều.

Nếu tôi chỉ có một cánh tay bị gãy, tôi đã hoàn thành tất cả mã hóa bằng một tay. Nó vẫn sẽ nhanh hơn so với sử dụng phần mềm chuyển văn bản thành văn bản.


Tôi nghĩ làm thế nào tôi sẽ tham gia chương trình sẽ không nằm trong danh sách quan tâm của tôi nếu tôi bị gãy cả hai tay ...
Ryathal

3
Không phải lúc đầu, chắc chắn. Nhưng khi bạn cảm thấy tốt hơn, hãy để máy tính xách tay ở nhà, nhưng bạn sẽ không thể lái xe trong vài tháng, bạn muốn hoàn thành công việc.
Joe

13

Đối với một lập trình viên chuyên nghiệp đang làm việc (trong đó thời gian là tiền bạc) với đường hầm ống cổ tay nghiêm trọng hoặc chấn thương tay (v.v.), việc thuê một "lập trình viên" cơ sở / thực tập viên có thể hiệu quả hơn nhiều và để họ thực hiện "nhận dạng giọng nói" và đánh máy.


Đây là một suy nghĩ tốt. Với lập trình cặp, bạn vẫn có thể làm việc hiệu quả với hai cánh tay bị gãy miễn là bạn đang làm việc với một đối tác biết cách gõ và cách viết mã.
Kyralessa

4

Đây là một liên kết đến một video từ Công ước Python, trong đó Tavis Rudd giải thích cách anh ấy tùy chỉnh Dragon Natatural Talking bằng cách sử dụng cấu trúc plugin Python của họ để tạo từ vựng phù hợp với lập trình và chỉnh sửa trong Emacs, vim và thiết bị đầu cuối. Một cái nhìn đầy cảm hứng về khả năng nhận dạng giọng nói trong lĩnh vực lập trình và phát triển.

Sử dụng Python để Code bằng giọng nói

Hai năm trước tôi đã phát triển một trường hợp Emacs Pinkie (RSI) nghiêm trọng đến nỗi tay tôi bị tê và tôi không thể gõ hay làm việc được nữa. Tuyệt vọng, tôi đã thử nhận dạng giọng nói. Lúc đầu lập trình với nó rất chậm, nhưng vì không thể gõ, tôi đã kiên trì. Sau vài tháng điều chỉnh vocab và mã hóa băng từ trong Python và Emacs Lisp, tôi đã có một hệ thống cho phép tôi viết mã nhanh hơn và hiệu quả hơn bằng giọng nói hơn bao giờ hết.

Trong bản demo trực tiếp có nhịp độ nhanh, tôi sẽ tạo một hệ thống nhỏ bằng Python, cộng với một vài ngôn ngữ khác để đo lường tốt và triển khai nó mà không cần chạm vào bàn phím. Các vị thần demo sẽ xuất hiện theo lịch trình. Tôi hy vọng thuyết phục bạn rằng nhận dạng giọng nói không còn là một cái nạng cho người khuyết tật hoặc giới hạn trong văn xuôi đơn giản. Giờ đây nó là một công cụ hiệu quả cao có thể mang lại lợi ích cho tất cả các lập trình viên ...


1
bạn có phiền giải thích thêm về những gì nó làm không và tại sao bạn lại đề nghị nó như trả lời câu hỏi được hỏi? "Câu trả lời chỉ liên kết" không được chào đón tại Stack Exchange
gnat

1
gnat - Tôi đã cập nhật bài đăng để phản ánh lý do tại sao tôi nghĩ rằng đó là một tài nguyên hữu ích và có liên quan. Nếu các liên kết không phù hợp với định dạng, tôi sẽ xóa nó.
starinmypockets

1

Bạn thực sự có thể xây dựng một chương trình bằng giải pháp giọng nói bằng cách sử dụng Dragon NataturalSpeaking, nhưng Dragon NataturalSpeaking sẽ chỉ là một phần nhỏ của giải pháp tổng thể.

Bạn cần rất nhiều công nghệ ngoài việc đơn giản là biến giọng nói thành lời nói để lập trình bằng giọng nói thành công. Một số ví dụ về các vấn đề phải được giải quyết:

Làm thế nào để bạn nhập các từ không thể phát âm như Ostreambuf_iterator? Làm thế nào để bạn xử lý các mức độ nặng của dấu câu trong ngôn ngữ lập trình? Làm thế nào bạn sẽ chuyển đổi giữa các cửa sổ?

Nói chung, phải mất vài tháng để xây dựng và học lập trình bằng giải pháp thoại. Những người như Joe mong đợi có được thứ gì đó làm việc trong một hoặc hai ngày sẽ thất vọng vô cùng.

Di chuyển qua lại hoạt động tốt với giọng nói được cung cấp một bộ lệnh hợp lý. Ví dụ: bạn có thể dễ dàng chỉ định dòng đích bằng cách sử dụng số dòng mod được hiển thị 100. Di chuyển bằng các từ hoặc ký tự dấu chấm câu hoạt động tốt với các ngôn ngữ lập trình để di chuyển trong một dòng.

Bạn có thể tìm thấy nhiều thông tin hơn về các vấn đề này trong lập trình bằng câu hỏi thường gặp bằng giọng nói tại http://vocola.net/programming-by-voice-FAQ.html


0

Dựa trên câu trả lời của Joe trong đó Vấn đề là bạn không thể qua lại:

Bạn có thể sử dụng theo dõi mắt bổ sung để giải quyết vấn đề này.

Ngôn ngữ lập trình có thể đọc được. Smalltalk khá dễ đọc.

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

Hãy tưởng tượng một ngôn ngữ lập trình được tối ưu hóa để nói. Nó có thể được thực hiện.

Nếu tôi hỏi khách hàng của họ những gì họ muốn thì họ sẽ nói một con ngựa nhanh hơn. - Henry Ford

Trong các điều khoản này: Một đầu vào văn bản nói có thể không phải là nó. Nhưng một môi trường kiểm soát lời nói với những đặc điểm có thể lập trình sẽ là một bước tiến xa hơn.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.