From 09bf8824a49eb90d13585ada6d55ca6977058d75 Mon Sep 17 00:00:00 2001 From: Sacha Chua Date: Wed, 29 Nov 2023 17:31:13 -0500 Subject: update title and abstract of voice --- 2023/talks/voice.md | 107 +++++++++++++++++++++++----------------------------- 1 file changed, 47 insertions(+), 60 deletions(-) (limited to '2023/talks/voice.md') diff --git a/2023/talks/voice.md b/2023/talks/voice.md index 337674e9..37bb11a3 100644 --- a/2023/talks/voice.md +++ b/2023/talks/voice.md @@ -1,76 +1,63 @@ -[[!meta title="Improving access to AI-assisted literate programming with voice control"]] +[[!meta title="Enhancing productivity with voice computing"]] [[!meta copyright="Copyright © 2023 Blaine Mooers"]] [[!inline pages="internal(2023/info/voice-nav)" raw="yes"]] - -# 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, , , , , 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 () and -one that is harder to learn but more extensible (Talon Voice -()). 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 -(), 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, ), 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, +)) 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 +() and Talon Voice +(). + +I also supply the interactive quizzes for mastering the basic Voice In commands +() and the Talon Voice phonetic alphabet +() +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 -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 -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. +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 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. [[!inline pages="internal(2023/info/voice-after)" raw="yes"]] -- cgit v1.2.3