Metadata-Version: 2.1
Name: speech_user_interface
Version: 0.1.8
Summary: A universal speech user interface for wrapping applications to provide them with a user interface that uses speech rather than text commands or traditional user interfaces
Author: David Piper
Author-email: dbpiper@gmail.com
Requires-Python: >=3.11,<4.0
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Requires-Dist: einops (>=0.7.0,<0.8.0)
Requires-Dist: fuzzywuzzy (>=0.18.0,<0.19.0)
Requires-Dist: gtts (>=2.5.1,<3.0.0)
Requires-Dist: numpy (>=1.26.3,<2.0.0)
Requires-Dist: openai (>=1.17.0,<2.0.0)
Requires-Dist: pandas (>=2.1.4,<3.0.0)
Requires-Dist: pyaudio (>=0.2.14,<0.3.0)
Requires-Dist: pydash (>=7.0.7,<8.0.0)
Requires-Dist: pygame (>=2.5.2,<3.0.0)
Requires-Dist: python-dotenv (>=1.0.1,<2.0.0)
Requires-Dist: python-levenshtein (>=0.25.1,<0.26.0)
Requires-Dist: tenacity (>=8.2.3,<9.0.0)
Requires-Dist: tqdm (>=4.66.2,<5.0.0)
Requires-Dist: vosk (>=0.3.45,<0.4.0)
Description-Content-Type: text/markdown

# speech_user_interface

A universal speech user interface for wrapping applications to provide them with a user interface that uses speech rather than text commands or traditional user interfaces

You need to define a function to run like this:

```
def default_function_to_run(input_text: str):
    reponse_text = send_text_to_chatgpt(input_text)
    speak_text(reponse_text)


main(function_to_run=default_function_to_run):

```

This one is configured by default but it can be anything. We run in a cycle
until "exit the program" is said and that exits the infinite loop. We just keep
reading input and passing that to the `function_to_run` this can do anything
with this input.

