Dictation app for the terminal and Neovim
Project description
DrDictaphone
Dictation app for the terminal and Neovim, using Whisper for transcription and ChatGPT for post-processing.
Installation
You can use the installation script:
curl https://raw.githubusercontent.com/olekli/DrDictaphone/main/script/install.sh | sh
Or create a virtual environment and do:
pip install drdictaphone
python -m drdictaphone.cli install ~/DrDictaphone
Place OpenAI API key in ~/DrDictaphone/config/openai_api_key.
Running
To start the standalone app, do ./drdictaphone.
To start only the server, do ./drdictaphone server.
Shutdown a running server by doing ./drdictaphone shutdown.
Neovim Plugin
If you are not already using Python plugins in Neovim,
you need to create a virtual environment for Neovim to use.
Tell Neovim about it by adding to your init.vim:
let g:python3_host_prog = '~/.neovim-venv/bin/python'
(Or wherever your venv is located.)
Inside this virtual environment, install the Neovim plugin:
pip install drdictaphone-neovim-plugin
Now you need to add the plugin to your Neovim config directory:
ln -s ~/.neovim-venv/lib/python3.11/site-packages/drdictaphone_neovim/DrDictaphone.py ~/.config/nvim/rplugin/python3/.
(Your paths may vary.)
Then start the server. Do :UpdateRemotePlugins once in Neovim, restart. Use DrDictaphoneSetProfile, DrDictaphoneToggle vim commands.
Controlling Standalone App:
s: select profilep: start / stop and transcribe recordingd: stop and discard recordingq: exit
Profiles
Profiles consist of:
topicfor transcribing and post-processing, a list of stringslanguageto use for the transcriber, a stringoutputdirectory, a stringoutput_commandto pipe output toenable_vadwhether or not to enable VAD, a bool, defaults tofalse
Output will be written to a timestamped file in the output directory.
VAD will filter recordings for parts with voice before processing them.
Post-Processor
The Post-Processor specs consist of:
instructionsfor the post-processor, either a filename to load from or a list of stringsgpt_modelto use for post-processing, either a filename to load from or an objectoptionsto use for post-processing, either a filename to load from or an objecttoolsto use for the post-processor, either a filename to load from or an object
The context for the post-processor is built from the profile and the post-processor specs. Settings in the profile take precedence over settings in the specs.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file drdictaphone-0.9.6.tar.gz.
File metadata
- Download URL: drdictaphone-0.9.6.tar.gz
- Upload date:
- Size: 21.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.3 CPython/3.10.12 Linux/5.15.0-113-generic
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1f05fd1ccd9f21c89139054c10135d664905b276456e51b459eebca176484bef
|
|
| MD5 |
380992ea45ed36288ef533998ce6fb49
|
|
| BLAKE2b-256 |
477835f2729049346bf1fc8d293bc6171b1955a67fd8c6acfd7052f6a6bf76fc
|
File details
Details for the file drdictaphone-0.9.6-py3-none-any.whl.
File metadata
- Download URL: drdictaphone-0.9.6-py3-none-any.whl
- Upload date:
- Size: 36.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.3 CPython/3.10.12 Linux/5.15.0-113-generic
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0bcf65b6cbfd68b782e7e48d99f290cb3cfc3bca16080d0e1846d40c44f9c8d6
|
|
| MD5 |
6e7de1af77564e9dabb80a90244d19bc
|
|
| BLAKE2b-256 |
c6432816fafd93e46605254af01ec0e06335de58f6a4e724de6734601d94271a
|