Pemrograman dengan perangkat lunak pengenalan suara [tertutup]

10

Saya menggunakan Dragon Naturally Speaking sangat singkat beberapa tahun yang lalu dan berpikir apakah itu akan menjadi solusi untuk pemrograman?

Saya berpikir lebih lagi jika Anda mematahkan lengan Anda atau sesuatu yang akan menjadi penghalang utama bagi pemrograman.

Pertanyaan yang sama pada SO tetapi tidak pernah dijawab.

Jim
sumber
5
ini adalah ide yang menarik, tetapi saya pikir sintaksis bahasa akan benar-benar membuat tersandung sesuatu yang tidak didedikasikan untuk bekerja untuk bahasa itu
Ryathal
1
Di luar masalah tanda baca, pengkodean melibatkan banyak sekali pengeditan, sesuatu yang tidak bisa dikuasai oleh kontrol suara.
Loren Pechtel
1
Mencoba ini dengan jumlah penyalahgunaan tanda baca yang umum untuk sebagian besar bahasa pemrograman mengingatkan saya pada komedi komedi Tanda Baca Fonetik Victor Borge.
hotpaw2
Bisakah Anda bayangkan bekerja dengan autocomplete dengan VS?
Chad Harrison
1
Mungkin ide untuk menggunakan Dragon Dictate untuk hal-hal selain dari pengkodean yang sebenarnya, seperti mengkompilasi, meluncurkan aplikasi yang dikompilasi, menyusun / membalas email, beberapa hal umum yang mungkin mengganggu atau menunda pengkodean yang sebenarnya.
Gortron

Jawaban:

18

Saya bisa menjawab ini dari pengalaman pribadi. Beberapa tahun yang lalu, saya patah kedua lengan karena kecelakaan. Karena pekerjaan saya adalah pemrograman penuh waktu, ini merupakan masalah. Dengan bantuan, saya menginstal Dragon di laptop saya.

Itu buang-buang waktu.

Kode tidak seperti bahasa alami; ini terutama ditulis, bukan diucapkan. Saya tahu persis apa y_z = (x < 0 ? -x : x) + 2;artinya, namun saya tidak tahu bagaimana saya mengucapkannya, saya juga tidak peduli.

Menjadi bahasa hanya-tertulis, kode sangat tepat di tingkat karakter. Ada perbedaan besar antara (x+2)*3dan (x+2*3). Program pidato-ke-teks bagus untuk memperhatikan kata-kata, bukan karakter. Menambahkan karakter tertentu membutuhkan banyak hal seperti "tanda kurung kiri, x, tanda tambah, dua, tanda kurung kanan".

Ketika saya coding, saya banyak bergerak dan menulis ulang. Ucapan-ke-teks bagus untuk satu aliran bahasa. Itu tidak baik untuk bolak-balik di semua tempat.

Banyak tugas-tugas kecil dalam pengkodean tidak sama dengan mengetik, yang semuanya bagus untuk pidato. Pikirkan tentang seberapa sering Anda mengubah tab untuk melihat modul kode lain, atau seberapa sering Anda melipat dan membuka fungsi di editor Anda.

Jadi jika Anda memiliki program pidato-ke-teks, cobalah dan lihat sendiri. Saya tidak berpikir Anda akan terlalu terkesan.


Kebetulan, jangan patah kedua tangan sekaligus. Hancurkan satu per satu, itu jauh lebih mudah.

Jika saya hanya memiliki satu lengan yang patah, saya hanya akan melakukan semua pengkodean dengan satu tangan. Itu masih lebih cepat daripada menggunakan perangkat lunak speech-to-text.

Joe
sumber
Saya pikir bagaimana saya akan memprogram tidak akan ada dalam daftar kekhawatiran saya jika saya mematahkan kedua tangan saya ...
Ryathal
3
Tidak pada awalnya, tentu saja. Tetapi ketika Anda merasa lebih baik, bawa laptop Anda di rumah, namun tidak akan bisa mengendarai mobil selama beberapa bulan, Anda ingin menyelesaikan pekerjaan.
Joe
13

Untuk programmer profesional yang bekerja (di mana waktu adalah uang) dengan terowongan karpal parah atau cedera tangan (dll.), Mungkin jauh lebih efisien untuk menyewa "programmer pasangan" junior, dan biarkan mereka melakukan "pengenalan suara" dan mengetik.

hotpaw2
sumber
Ini pemikiran yang bagus. Dengan pemrograman berpasangan, Anda masih bisa produktif dengan dua lengan yang patah selama Anda bekerja dengan pasangan yang tahu cara mengetik dan cara menulis kode.
Kyralessa
4

Berikut ini tautan ke video dari Konvensi Python di mana Tavis Rudd menjelaskan bagaimana ia mengkustomisasi Dragon Naturally Speaking menggunakan struktur plugin Python mereka untuk membuat kosa kata yang cocok untuk pemrograman dan pengeditan di Emacs, vim dan terminal. Sekilas tentang kemungkinan pengenalan suara di bidang pemrograman dan pengembangan.

Menggunakan Python ke Kode dengan Suara

Dua tahun lalu saya mengembangkan sebuah kasus Emacs Pinkie (RSI) begitu parah sehingga tangan saya mati rasa dan saya tidak bisa lagi mengetik atau bekerja. Putus asa, saya mencoba pengenalan suara. Pada awalnya pemrograman dengan itu sangat lambat tetapi, karena saya tidak bisa mengetik, saya bertahan. Setelah beberapa bulan tweaking vocab dan pengkodean lakban dalam Python dan Emacs Lisp, saya memiliki sistem yang memungkinkan saya untuk kode lebih cepat dan lebih efisien dengan suara daripada yang pernah saya miliki dengan tangan.

Dalam demo langsung yang serba cepat, saya akan membuat sistem kecil menggunakan Python, ditambah beberapa bahasa lain untuk ukuran yang baik, dan menyebarkannya tanpa menyentuh keyboard. Dewa demo akan membuat penampilan yang dijadwalkan. Saya berharap untuk meyakinkan Anda bahwa pengenalan suara tidak lagi menjadi penopang bagi orang cacat atau terbatas pada prosa biasa. Sekarang alat yang sangat efektif yang dapat bermanfaat bagi semua programmer ...

dibintangikantong
sumber
1
maukah Anda menjelaskan lebih lanjut tentang apa yang dilakukannya dan mengapa Anda merekomendasikannya untuk menjawab pertanyaan yang diajukan? "Jawaban khusus tautan" tidak diterima di Stack Exchange
agung
1
Agas - Saya memperbarui posting untuk mencerminkan mengapa saya pikir itu sumber daya yang relevan dan berguna. Jika tautan tidak sesuai untuk format, saya akan menghapusnya.
dibintangi soket
1

Anda memang dapat membangun pemrograman dengan solusi suara menggunakan Dragon NaturallySpeaking, tetapi Dragon NaturallySpeaking hanya akan menjadi bagian kecil dari keseluruhan solusi.

Anda membutuhkan banyak teknologi di luar hanya mengubah suara menjadi kata-kata agar program dengan suara berhasil. Beberapa contoh masalah yang harus diatasi:

Bagaimana Anda memasukkan kata-kata yang tidak dapat dilanggar seperti ostreambuf_iterator? Bagaimana Anda menangani tingkat tanda baca yang berat dalam bahasa pemrograman? Bagaimana Anda akan beralih di antara windows?

Biasanya dibutuhkan beberapa bulan untuk membangun dan mempelajari pemrograman dengan solusi suara. Orang-orang seperti Joe yang mengharapkan sesuatu bekerja dalam satu atau dua hari akan sangat kecewa.

Bergerak bolak-balik berfungsi baik dengan suara yang diberikan seperangkat perintah yang masuk akal. Misalnya, Anda dapat dengan mudah menentukan garis target menggunakan nomor baris yang ditampilkan mod 100. Memindahkan dengan kata-kata atau karakter tanda baca bekerja dengan baik dengan bahasa pemrograman untuk bergerak dalam suatu garis.

Anda dapat menemukan lebih banyak informasi tentang masalah ini dalam pemrograman dengan suara FAQ yang terdapat di http://vocola.net/programming-by-voice-FAQ.html

pengguna2278379
sumber
0

Berdasarkan jawaban Joe di mana Masalahnya adalah Anda tidak bisa bolak-balik:

Anda dapat menggunakan pelacakan mata sebagai tambahan untuk mengatasi masalah ini.

Bahasa pemrograman bisa dibaca. Smalltalk cukup mudah dibaca.

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

Bayangkan sebuah bahasa pemrograman yang dioptimalkan untuk berbicara. Itu bisa dilakukan.

Jika saya bertanya kepada pelanggan saya apa yang mereka inginkan, mereka akan mengatakan kuda yang lebih cepat. - Henry Ford

Dalam istilah ini: Input teks yang diucapkan mungkin bukan itu. Tetapi lingkungan yang dikendalikan wicara dengan sifat yang dapat diprogram akan menjadi langkah lebih lanjut.

Pengguna
sumber