summaryrefslogtreecommitdiffstats
path: root/2023/talks/voice.md
diff options
context:
space:
mode:
authorEmacsConf <emacsconf-org@gnu.org>2023-12-01 16:22:12 -0500
committerEmacsConf <emacsconf-org@gnu.org>2023-12-01 16:22:12 -0500
commit1b4e1d429bfc28678e9f523aa83b83c935126b4a (patch)
treeac070d463ebe4cbf93e0bb4a3f7f6b1de4a479d5 /2023/talks/voice.md
parentd7170569bd62ae6d19ebfaa771e6eaf0390a3abd (diff)
parentb6497563dd469bd03d33f5447645170401718583 (diff)
downloademacsconf-wiki-1b4e1d429bfc28678e9f523aa83b83c935126b4a.tar.xz
emacsconf-wiki-1b4e1d429bfc28678e9f523aa83b83c935126b4a.zip
Automated commit
Diffstat (limited to '2023/talks/voice.md')
-rw-r--r--2023/talks/voice.md103
1 files changed, 45 insertions, 58 deletions
diff --git a/2023/talks/voice.md b/2023/talks/voice.md
index 337674e9..eeac32d0 100644
--- a/2023/talks/voice.md
+++ b/2023/talks/voice.md
@@ -1,77 +1,64 @@
-[[!meta title="Improving access to AI-assisted literate programming with voice control"]]
+[[!meta title="Enhancing productivity with voice computing"]]
[[!meta copyright="Copyright &copy; 2023 Blaine Mooers"]]
[[!inline pages="internal(2023/info/voice-nav)" raw="yes"]]
<!-- Initially generated with emacsconf-publish-talk-page and then left alone for manual editing -->
<!-- You can manually edit this file to update the abstract, add links, etc. --->
-
-# Improving access to AI-assisted literate programming with voice control
+# Enhancing productivity with voice computing
Blaine Mooers (he/him/his) - Pronunciation: pronounced like "moors", blaine-mooers(at)ouhsc.edu, <https://basicsciences.ouhsc.edu/bmb/Faculty/bio_details/mooers-blaine-hm-phd>, <https://twitter.com/BlaineMooers>, <https://github.com/MooersLab>, <https://codeberg.org/MooersLab>, mastodon(at)bhmooers
[[!inline pages="internal(2023/info/voice-before)" raw="yes"]]
-The audience will learn how to use voice control to create literate
-programming documents in Emacs. After reviewing the benefits of
-literate programming, I will review the prior work done with the voice
-control in Emacs. I will present the reasons why you'd want to use
-voice control; they go beyond the obvious benefit of avoiding or
-working around repetitive stress injuries and include the benefits of
-using voice control while standing to break up long periods of
-sitting, which are detrimental to one's health. There are many options
-for voice control in and out of the Emacs. I will review a list of
-several and then drill in on two: one that is easy but of limited
-extensibility (Voice In Plus (<https://dictanote.co/voicein/plus/>) and
-one that is harder to learn but more extensible (Talon Voice
-(<https://talon.wiki/>)). The latter has a welcoming community of users
-and developers in the Talon Slack channel.
-
-The Voice In Plus is a plugin for the Google Chrome browser that
-allows you to dictate in the text areas on web pages. The dictated
-text can be sent as soon as it appears in the browser to Emacs via
-GhostText and the Atomic-Chrome package. You can insert custom code
-snippets by voice control in the text area using Voice In Plus's
-support for custom snippets. Or, you can insert yasnippet snippets by
-voice control in the corresponding buffer in Emacs. I will demonstrate
-how to set up this workflow and how to use it to create an org mode
-file. This workflow is very effective for the creation of lots of
-prose, but not code.
-
-The second approach uses the open-source software called Talon
-(<http://talon.wiki>), which is good for both prose and code. This
-package enables precise voice control in a wide variety of
-applications including Emacs. This package is also highly configurable
-using Python script and an accompanying Talonscript file, which has a
-simple YAML file format. The general users of Talon who know nothing
-about Python can easily configure their setup using Talonscript files.
-Advanced users can use Python to add modules to the Talon package to
-extend its functionality. I will demonstrate how to write an org mode
-file with executable code blocks with Talon running in Emacs. I will
-edit and run the code blocks by voice control with and without the
-help of generative AI in the form of Copilot.
-
-I also demonstrate an interactive quiz in Python and Elisp that I
-developed to the support the mastery of the voice control commands. By
-running the quiz with voice control, you can accelerate mastery of the
-commands. I learned the Talon alphabet in one day by taking the quiz
-at spaced intervals. The quiz only took 60 seconds to complete when I
-was proficient.
-
-I will conclude with a discussion of lessons learned and opportunities
-for using voice control in Emacs for AI-assisted literate programming.
+Voice computing uses speech recognition software to convert speech into text, commands, or code.
+While there is a venerated program called EmacSpeaks for converting text into speech, a
+"EmacsListens" for converting speech into text is not available yet.
+The Emacs Wiki describes the underdeveloped situation for speech-to-text in Emacs.
+I will explain how two external software packages convert my speech into text and computer
+commands that can be used with Emacs.
+
+First, I present some motivations for using voice computing.
+These can be divided into two categories: productivity improvement and health-related issues.
+In this second category, there is the under-appreciated cure for ``standing desk envy'';
+the cure is achievable with a large dose of voice computing while standing.
+
+I found one software package (Voice In) to be quite accurate for speech-to-text or dictation
+(Voice In Plus, <https://dictanote.co/voicein/plus/>), but less versatile for speech-to-commands.
+I have used this package daily and I found a three-fold increase in my daily word count almost
+immediately.
+Of course, there are limits here; you can talk for only so many hours per day.
+
+Second, I found another software package that has a less accurate language model (Talon Voice,
+<http://talon.wiki/>)) but that supports custom commands that can be executed anywhere you can
+place the cursor, including in virtual machines and on remote servers.
+Talon Voice will appeal to those who like to tinker with configuration files, yet it is easy to
+use.
+
+I will explain how I have integrated these two packages into my workflow.
+I have developed a library of commands that expand 94 English contractions when spoken.
+This library eliminates tedious downstream editing of formal prose where I do not use
+contractions.
+The library is available on GitHub for both Voice In Plus
+(<https://github.com/mooersLab/voice-in-plus-contractions>) and Talon Voice
+(<https://github.com/MooersLab/talon-contractions>).
+
+I also supply the interactive quizzes for mastering the basic Voice In commands
+(<https://github.com/MooersLab/voice-in-basics-quiz>) and the Talon Voice phonetic alphabet
+(<https://github.com/MooersLab/talon-voice-quizzes/qTalonAlphabet.py>)
+I learned the Talon alphabet in one day by taking the quiz at spaced intervals.
+The quiz took only 60 seconds to complete when I was proficient.
About the speaker:
-I am an associate professor of biochemistry at the University of
+I am an Associate Professor of Biochemistry at the University of
Oklahoma Health Sciences Center. I use X-ray crystallography to study
the structures of RNA, proteins, and protein-drug complexes. I have
-been using Python and LaTeX for a dozen years and Jupyter Notebooks
+been using Python and LaTeX for a dozen years, and Jupyter Notebooks
since 2013. I have been using Emacs every day for 2.5 years. I
-discovered voice control this summer when my chronic repetitive stress
-injury flared up while entering data in a spreadsheet. I found that
-voice control is a great way to create prose and write literate
-programming documents while maintaining one's health.
-
+discovered voice computing this summer when my chronic repetitive
+stress injury flared up while entering data in a spreadsheet. I
+tripled my daily word count by using the speech-to-text, and I get a
+kick out of running remote computers by speech-to-command.
[[!inline pages="internal(2023/info/voice-after)" raw="yes"]]