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:
topic
for transcribing and post-processing, a list of stringslanguage
to use for the transcriber, a stringoutput
directory, a stringoutput_command
to pipe output toenable_vad
whether 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:
instructions
for the post-processor, either a filename to load from or a list of stringsgpt_model
to use for post-processing, either a filename to load from or an objectoptions
to use for post-processing, either a filename to load from or an objecttools
to 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
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 |