DrDictaphone


NameDrDictaphone JSON
Version 0.9.6 PyPI version JSON
download
home_pageNone
SummaryDictation app for the terminal and Neovim
upload_time2024-09-08 13:13:03
maintainerNone
docs_urlNone
authorOle Kliemann
requires_python>=3.10
licenseLICENSE
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # 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 profile
- `p`: start / stop and transcribe recording
- `d`: stop and discard recording
- `q`: exit

### Profiles

Profiles consist of:

- `topic` for transcribing and post-processing, a list of strings
- `language` to use for the transcriber, a string
- `output` directory, a string
- `output_command` to pipe output to
- `enable_vad` whether or not to enable VAD, a bool, defaults to `false`

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 strings
- `gpt_model` to use for post-processing, either a filename to load from or an object
- `options` to use for post-processing, either a filename to load from or an object
- `tools` 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.

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "DrDictaphone",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": null,
    "keywords": null,
    "author": "Ole Kliemann",
    "author_email": "mail@olekliemann.de",
    "download_url": "https://files.pythonhosted.org/packages/47/78/35f2729049346bf1fc8d293bc6171b1955a67fd8c6acfd7052f6a6bf76fc/drdictaphone-0.9.6.tar.gz",
    "platform": null,
    "description": "# DrDictaphone\n\nDictation app for the terminal and Neovim, using Whisper for transcription and ChatGPT for post-processing.\n\n### Installation\n\nYou can use the installation script:\n```\ncurl https://raw.githubusercontent.com/olekli/DrDictaphone/main/script/install.sh | sh\n```\n\nOr create a virtual environment and do:\n```\npip install drdictaphone\npython -m drdictaphone.cli install ~/DrDictaphone\n```\n\nPlace OpenAI API key in `~/DrDictaphone/config/openai_api_key`.\n\n### Running\n\nTo start the standalone app, do `./drdictaphone`.\n\nTo start only the server, do `./drdictaphone server`.\n\nShutdown a running server by doing `./drdictaphone shutdown`.\n\n### Neovim Plugin\n\nIf you are not already using Python plugins in Neovim,\nyou need to create a virtual environment for Neovim to use.\nTell Neovim about it by adding to your `init.vim`:\n```\nlet g:python3_host_prog = '~/.neovim-venv/bin/python'\n```\n(Or wherever your venv is located.)\n\nInside this virtual environment, install the Neovim plugin:\n```\npip install drdictaphone-neovim-plugin\n```\n\nNow you need to add the plugin to your Neovim config directory:\n```\nln -s ~/.neovim-venv/lib/python3.11/site-packages/drdictaphone_neovim/DrDictaphone.py ~/.config/nvim/rplugin/python3/.\n```\n(Your paths may vary.)\n\nThen start the server. Do `:UpdateRemotePlugins` once in Neovim, restart. Use `DrDictaphoneSetProfile`, `DrDictaphoneToggle` vim commands.\n\n### Controlling Standalone App:\n\n- `s`: select profile\n- `p`: start / stop and transcribe recording\n- `d`: stop and discard recording\n- `q`: exit\n\n### Profiles\n\nProfiles consist of:\n\n- `topic` for transcribing and post-processing, a list of strings\n- `language` to use for the transcriber, a string\n- `output` directory, a string\n- `output_command` to pipe output to\n- `enable_vad` whether or not to enable VAD, a bool, defaults to `false`\n\nOutput will be written to a timestamped file in the output directory.\n\nVAD will filter recordings for parts with voice before processing them.\n\n### Post-Processor\n\nThe Post-Processor specs consist of:\n\n- `instructions` for the post-processor, either a filename to load from or a list of strings\n- `gpt_model` to use for post-processing, either a filename to load from or an object\n- `options` to use for post-processing, either a filename to load from or an object\n- `tools` to use for the post-processor, either a filename to load from or an object\n\nThe 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.\n",
    "bugtrack_url": null,
    "license": "LICENSE",
    "summary": "Dictation app for the terminal and Neovim",
    "version": "0.9.6",
    "project_urls": null,
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c6432816fafd93e46605254af01ec0e06335de58f6a4e724de6734601d94271a",
                "md5": "6e7de1af77564e9dabb80a90244d19bc",
                "sha256": "0bcf65b6cbfd68b782e7e48d99f290cb3cfc3bca16080d0e1846d40c44f9c8d6"
            },
            "downloads": -1,
            "filename": "drdictaphone-0.9.6-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "6e7de1af77564e9dabb80a90244d19bc",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 36468,
            "upload_time": "2024-09-08T13:13:01",
            "upload_time_iso_8601": "2024-09-08T13:13:01.057748Z",
            "url": "https://files.pythonhosted.org/packages/c6/43/2816fafd93e46605254af01ec0e06335de58f6a4e724de6734601d94271a/drdictaphone-0.9.6-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "477835f2729049346bf1fc8d293bc6171b1955a67fd8c6acfd7052f6a6bf76fc",
                "md5": "380992ea45ed36288ef533998ce6fb49",
                "sha256": "1f05fd1ccd9f21c89139054c10135d664905b276456e51b459eebca176484bef"
            },
            "downloads": -1,
            "filename": "drdictaphone-0.9.6.tar.gz",
            "has_sig": false,
            "md5_digest": "380992ea45ed36288ef533998ce6fb49",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 21187,
            "upload_time": "2024-09-08T13:13:03",
            "upload_time_iso_8601": "2024-09-08T13:13:03.255804Z",
            "url": "https://files.pythonhosted.org/packages/47/78/35f2729049346bf1fc8d293bc6171b1955a67fd8c6acfd7052f6a6bf76fc/drdictaphone-0.9.6.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-09-08 13:13:03",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "drdictaphone"
}
        
Elapsed time: 0.30873s