Skip to content
@PythonVoiceCodingPlugin

Pyvoice​

Experimental LSP based integration of python static analysis with programming by voice systems

Pyvoice

License Gitter PyPI Visual Studio Marketplace

pyvoice is an experimental project that is aimed at developers that are writing python code using their voice instead of/alongside with a traditional keyboard. It attempts to provide them with specialized IDE features tailored at their use case, more specifically, it tries to

  • primarily improve the dictation accuracy for coding tasks by extracting information from the user's codebase via static analysis and utilizing it as context for the speech recognition engine

  • secondarily allow for fine-grained low level editing, in a more comfortable and natural style

Demos

Expressions

Shortened version. Full demo here

demo-expressions-caster-sublime-mp4-short.mp4

Import Functionality

Adding Module Imports

demo-imports-modules-short.mp4

Adding Symbol Imports

out.mp4

Architecture

The project follows a 3 tier architecture

  • at its core lies a customized language server, where all the heavy business logic takes place. It employs static analysis to determine what module names are available for importing, what variables and what attributes/methods they have etc..., and generates dictation hints for them. It can also being instructed to perform (for the time being limited) edits

  • a plugin for the users code editor, that is responsible for packaging/installing language_server ,launching it as a separate process and to exchange messages with it via appropriate extensions to LSP. It acts as a middleman forwarding generated hints to and commands from the final component of the system, which is

  • an add-on/plugin/grammar file for the user's programming by voice system, that customize the system in a manner appropriate to take advantage of the functionality provided by the language server.

Notes

Important

At this point is important to clarify that pyvoice is NOT a standalone voice coding system with its own speech recognition engine and/or specialized IDE/GUI environment, that you just download and use independently. Instead, it is meant as a set of extensions that should seamlessly integrate with your existing tooling and augment it with additional functionality. At the moment the are grammar bindings available for Caster and Talon, and editorwise plugins for Sublime Text and VsCode

As stated above the project is still highly experimental, essentially having received the absolutely minimum amount of pollishing needed to transit from a tool privately used only by me to something that could be distributed to fellow voice coders. In order to make the time budget for this initial release, corners have been cut everywhere: with features being left out and multiple trade-offs made in all of the five components.

Pinned Loading

  1. pyvoice-language-server pyvoice-language-server Public

    Experimental python language server for programming by voice, core of pyvoice

    Python

  2. LSP-pyvoice LSP-pyvoice Public

    sublime plugin for pyvoice, experimental language server for dictating python code

    Python 1

  3. vscode-pyvoice vscode-pyvoice Public

    vscode plugin for pyvoice

    Python

  4. pyvoice_talon pyvoice_talon Public

    Talonvoice Grammar for pyvoice

    Python

  5. pyvoice_caster pyvoice_caster Public

    Caster bindings for pyvoice

    Python

Repositories

Showing 9 of 9 repositories
  • pyvoice_talon Public

    Talonvoice Grammar for pyvoice

    PythonVoiceCodingPlugin/pyvoice_talon’s past year of commit activity
    Python 0 0 0 0 Updated Jul 23, 2024
  • pyvoice_caster Public

    Caster bindings for pyvoice

    PythonVoiceCodingPlugin/pyvoice_caster’s past year of commit activity
    Python 0 0 0 0 Updated Jul 23, 2024
  • LSP-pyvoice Public

    sublime plugin for pyvoice, experimental language server for dictating python code

    PythonVoiceCodingPlugin/LSP-pyvoice’s past year of commit activity
    Python 1 0 0 0 Updated Jul 22, 2024
  • repository Public Forked from sublimelsp/repository

    Package repository for Package Control

    PythonVoiceCodingPlugin/repository’s past year of commit activity
    Python 0 29 0 0 Updated Jul 22, 2024
  • vscode-pyvoice Public

    vscode plugin for pyvoice

    PythonVoiceCodingPlugin/vscode-pyvoice’s past year of commit activity
    Python 0 0 0 6 Updated Jul 21, 2024
  • pyvoice-language-server Public

    Experimental python language server for programming by voice, core of pyvoice

    PythonVoiceCodingPlugin/pyvoice-language-server’s past year of commit activity
    Python 0 0 0 0 Updated Jul 21, 2024
  • .github Public
    PythonVoiceCodingPlugin/.github’s past year of commit activity
    0 0 0 0 Updated Jul 18, 2024
  • assets Public

    images, videos etc

    PythonVoiceCodingPlugin/assets’s past year of commit activity
    0 MIT 0 0 0 Updated Jul 16, 2024
  • PythonVoiceCodingPlugin/requirements-detector’s past year of commit activity
    Python 0 MIT 17 0 0 Updated Jun 10, 2021

Top languages

Loading…

Most used topics

Loading…