{"id":15178642,"url":"https://github.com/wolandark/vim-piper","last_synced_at":"2025-10-26T17:30:59.844Z","repository":{"id":249412938,"uuid":"831451794","full_name":"wolandark/vim-piper","owner":"wolandark","description":"text to speech for vim using piper","archived":false,"fork":false,"pushed_at":"2024-11-06T23:27:43.000Z","size":33,"stargazers_count":18,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-07T22:35:36.478Z","etag":null,"topics":["accessibility","neovim","neovim-plugin","piper-tts","text-to-speech","tts","vim","vim-plugin","visually-challenged","visually-impaired"],"latest_commit_sha":null,"homepage":"","language":"Vim Script","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/wolandark.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-07-20T15:34:34.000Z","updated_at":"2025-03-01T13:06:18.000Z","dependencies_parsed_at":"2025-02-11T21:41:41.851Z","dependency_job_id":null,"html_url":"https://github.com/wolandark/vim-piper","commit_stats":null,"previous_names":["wolandark/vim-piper"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/wolandark/vim-piper","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wolandark%2Fvim-piper","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wolandark%2Fvim-piper/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wolandark%2Fvim-piper/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wolandark%2Fvim-piper/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wolandark","download_url":"https://codeload.github.com/wolandark/vim-piper/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wolandark%2Fvim-piper/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":281140927,"owners_count":26450542,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-26T02:00:06.575Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["accessibility","neovim","neovim-plugin","piper-tts","text-to-speech","tts","vim","vim-plugin","visually-challenged","visually-impaired"],"created_at":"2024-09-27T15:20:56.549Z","updated_at":"2025-10-26T17:30:59.581Z","avatar_url":"https://github.com/wolandark.png","language":"Vim Script","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Vim Piper\n\nA simple wrapper over the Piper text-to-speech system.\n\n## Introduction\n\nVim Piper is a Vim plugin that integrates the Piper text-to-speech system into Vim. It allows you to easily convert text within Vim to speech using Piper.\u003cbr\u003e\nIf you don't care about natural sounding tts, you can use [vim-espeak](https://github.com/wolandark/vim-espeak).\n\n## Dependency \nThis plugin depends on the following:\n- piper-tts\n- a piper voice\n- aplay command from alsa-utils package (probably already installed)\n- Vim or Neovim\n\n# Getting piper\nOn Arch Linux, do the following:\n```bash\nyay -S piper-tts-bin piper-voices-en-us # or your language of choice\n```\nYou may also find piper and it's voices in the repositories of other distros, if not, simply grab the pre-compiled binaries of piper from [here](https://github.com/rhasspy/piper/releases/tag/2023.11.14-2), and manually download your desired voices from [here](https://huggingface.co/rhasspy/piper-voices/tree/main).\u003cbr\u003e Once the download is finished, you can refer to the [Configuration](#configuration) section of this README to find out out to setup vim-piper.\n\n# Installation\n\n## Using vim-plug\n\nAdd the following to your `~/.vimrc` or `~/.config/nvim/init.vim`:\n\n```vim\nPlug 'wolandark/vim-piper'\n```\n\nThen run `:PlugInstall` in Vim.\n\n# Configuration\n\nYou can configure the following variables in your ~/.vimrc.\n\n```vim\nlet g:piper_bin = '/path/to/piper'\nlet g:piper_voice = '/path/to/voice/model.onnx'\n```\n\nThe default values are:\n```vim\nlet g:piper_bin = '/usr/bin/piper-tts'\nlet g:piper_voice = '/usr/share/piper-voices/en/en_US/joe/medium/en_US-joe-medium.onnx'\n```\nSo if you install piper-tts and piper-voices-en-us from AUR,  everything will work out of the box.\n\n# Functions\nThe plugin provides the following functions:\n\n   - PassVisualSelection(): Utility function to get the visual selection.\n   - SpeakWord(): Speak the word under the cursor.\n   - SpeakCurrentLine(): Speak the current line.\n   - SpeakCurrentParagraph(): Speak the current paragraph.\n   - SpeakVisualSelection(): Speak the visual selection.\n   - SpeakCurrentFile(): Speak the current file.\n\n# Mappings\nThe following mappings are defined by default:\n\n- nnoremap \u003cLeader\u003etw :call SpeakWord()\u003cCR\u003e\n- nnoremap \u003cLeader\u003etc :call SpeakCurrentLine()\u003cCR\u003e\n- nnoremap \u003cLeader\u003etp :call SpeakCurrentParagraph()\u003cCR\u003e\n- nnoremap \u003cLeader\u003etf :call SpeakCurrentFile()\u003cCR\u003e\n- vnoremap \u003cLeader\u003etv :call SpeakVisualSelection()\u003cCR\u003e\n\n# Demo\n### SpeakWord()\nhttps://github.com/user-attachments/assets/d34e58f5-a411-4f40-811a-c912afff0cae\n### SpeakCurrentLine()\nhttps://github.com/user-attachments/assets/b7a8db7a-a90f-4eb9-9108-8686d58cacbd\n### SpeakCurrentParagraph()\nhttps://github.com/user-attachments/assets/bad5ac11-7377-46a0-9e19-baab4b7ae8e6\n### SpeakCurrentFile()\nhttps://github.com/user-attachments/assets/6afc5a8c-5188-479a-af56-80a949e319a0\n### SpeakVisualSelection()\nhttps://github.com/user-attachments/assets/657173b3-8bb1-46fc-bc9c-67b49b608bf9\n\n# License\nSame as Vim.\n\n# Enjoy!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwolandark%2Fvim-piper","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwolandark%2Fvim-piper","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwolandark%2Fvim-piper/lists"}