https://github.com/wisehackermonkey/ultimate-tts-reader
awesome app to read text from the clipboard when you press the insert key
https://github.com/wisehackermonkey/ultimate-tts-reader
Last synced: about 1 month ago
JSON representation
awesome app to read text from the clipboard when you press the insert key
- Host: GitHub
- URL: https://github.com/wisehackermonkey/ultimate-tts-reader
- Owner: wisehackermonkey
- License: mit
- Created: 2020-04-15T18:29:39.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2024-09-23T07:37:40.000Z (8 months ago)
- Last Synced: 2025-03-28T00:51:15.366Z (about 2 months ago)
- Language: Python
- Homepage: https://wisehackermonkey.github.io/ultimate-tts-reader/
- Size: 105 MB
- Stars: 2
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ultimate-tts-reader
#### awesome app to read text from the clipboard when you press the insert key
```
by oran collins
github.com/wisehackermonkey
[email protected]
20200415
```

# Install> Prebuilt windows binaries are avaiable under releases
### [ultimate-tts-reader/releases](https://github.com/wisehackermonkey/ultimate-tts-reader/releases)
# how to install (source)
```
git clone https://github.com/wisehackermonkey/ultimate-tts-reader.git
cd ultimate-tts-reader
pip install -r requirements.txt
```# how to run
#### windows only
```
python ./main.py
```
## Useage
```
copy something to the clipboard
press 'insert' on the keyboard
the computer should read the text to you!
```
# Dev Log updates# Update (20200708)
### Improvements

- increased window size to fit title text
- app now starts minimized## How to build windows exe
### install pyinstaller
```
>pip install pyinstaller
```
```
cd /path/to/project
```
### Simple build
```
pyinstaller --hidden-import=pyttsx3.drivers --hidden-import=pyttsx3.drivers.sapi5 --noconsole --onefile ultimate-tts-reader.py
```
### clean build
```
pyinstaller --noconsole --hidden-import=pyttsx3.drivers --hidden-import=pyttsx3.drivers.sapi5 --specpath ${PWD}/builds --distpath ${PWD}/builds/dist --workpath ${PWD}/builds/build --onefile ultimate-tts-reader.py
```
### Advanced (windows powershell) Build, move exe to to windows folder, includes moving of build files to ./builds
```
add move to windows folder
NOTE mv -force overwrites the exe (and is a powershell command)> pyinstaller --noconsole --hidden-import=pyttsx3.drivers --hidden-import=pyttsx3.drivers.sapi5 --specpath ${PWD}/builds --distpath ${PWD}/builds/dist --workpath ${PWD}/builds/build --onefile ultimate-tts-reader.py ; mv -force ${PWD}/builds/dist/ultimate-tts-reader.exe ${PWD}/windows/ultimate-tts-reader.exe
```### Advanced (plus zip) (windows powershell)
```
> pyinstaller --noconsole --hidden-import=pyttsx3.drivers --hidden-import=pyttsx3.drivers.sapi5 --specpath ${PWD}/builds --distpath ${PWD}/builds/dist --workpath ${PWD}/builds/build --onefile ultimate-tts-reader.py ; mv -force ${PWD}/builds/dist/ultimate-tts-reader.exe ${PWD}/windows/ultimate-tts-reader.exe ; $date = Get-Date -Format "yyyyMMdd"; Compress-Archive -force -Path ${PWD}/windows/ultimate-tts-reader.exe -DestinationPath ${PWD}/windows/ultimate-tts-reader_windows_${date}.zip### Auto update setup
```
pyupdater init
copy key 'keypack.pyu'
pyupdater keys -i
pyupdater settings --plugin scp
```
### Auto update build and push
```bashon remote server
(TESTING)
sudo docker run --rm -it -p 7777:8080 --name simple -v /root/version-ultimate-tts-reader:/var/www:ro trinitronx/python-simplehttpserver(deployment)
sudo docker run -d --restart=always -p 7777:8080 --name static-serve -v /root/version-ultimate-tts-reader:/var/www:ro trinitronx/python-simplehttpserverpyupdater build --onefile --hidden-import="pkg_resources.py2_warn" --app-version=1.4.0 ultimate-tts-reader.py
pyupdater build --onefile --hidden-import="pypiwin32" --app-version=1.4.0 ultimate-tts-reader.py
pyupdater build --onefile --hidden-import="win32api" --hidden-import="pkg_resources.py2_warn" --app-version=1.4.0 ultimate-tts-reader.py
pyupdater pkg --process
pyupdater pkg --sign
``````
## Improvements
- start minimized
- pause key/button
- fix quit on escape
- voice
- slow down the voice
- change voice
- catch KeyboardInterrupt graceful shutdown
- ~~Copy selected text to clipboard or copy selected text and read it~~
- ~~dependence injection
- ~~gui mvp
- ~~change stop use TK to quit
- ~~change stop key to fn + insert- auto-update
- add zip to releases page github
- ~~increase size of window~~
- ~~start minimized~~~## Links
```
tts
https://pyttsx3.readthedocs.io/en/latest/engine.html#exampleskeyboard
https://pynput.readthedocs.io/en/latest/keyboard.htmlposible solution to pause key
https://github.com/nateshmbhat/pyttsx3/issues/35Tkinter gui
https://docs.python.org/3/library/tkinter.htmlPyinstaller
https://pyinstaller.readthedocs.io/en/stable/usage.htmlpyinstaller fix output file destination
Python: how to specify output folders in Pyinstaller .spec file
https://stackoverflow.com/questions/37319911/python-how-to-specify-output-folders-in-pyinstaller-spec-filepyinstaller fix pyttsx3 not found error
> pyinstaller --hidden-import=pyttsx3.drivers song_dl.pyhttps://stackoverflow.com/questions/58133083/modulenotfounderror-no-module-named-pyttsx3-drivers-file-compiled-with-pyins
```
# Scratch pad
```
pyinstaller --onefile --hidden-import="pkg_resources.py2_warn" ultimate-tts-reader.pypyinstaller --console --hidden-import=pyttsx3.drivers --hidden-import="pkg_resources.py2_warn" --hidden-import=pyttsx3.drivers.sapi5 --onefile ultimate-tts-reader.py
#### try fix v1 (fail)
pyinstaller --console --hidden-import=win32api --hidden-import=pyttsx3.drivers --hidden-import="pkg_resources.py2_warn" --hidden-import=pyttsx3.drivers.sapi5 --onefile ultimate-tts-reader.py22885 WARNING: library coredll required via ctypes not found
23100 INFO: Including run-time hook 'pyi_rth_pkgres.py'
23106 INFO: Including run-time hook 'pyi_rth_win32comgenpy.py'
```
counter skript