{"id":19816937,"url":"https://github.com/flyingfathead/youwhisper-cli","last_synced_at":"2026-05-17T00:33:48.307Z","repository":{"id":207764110,"uuid":"720031817","full_name":"FlyingFathead/youwhisper-cli","owner":"FlyingFathead","description":"A streamlined CLI tool combining `yt-dlp` and `whisperx` (or `openai-whisper`) for quick and efficient audio transcription from various video platforms.","archived":false,"fork":false,"pushed_at":"2023-12-30T08:23:21.000Z","size":65,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-28T12:07:06.603Z","etag":null,"topics":["cli","cli-app","python","transcribe","transcriber","transcription","whisper","whisper-ai","whisperx","youtube-downloader","yt-dlp","yt-dlp-wrapper"],"latest_commit_sha":null,"homepage":"https://github.com/FlyingFathead/youwhisper","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/FlyingFathead.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2023-11-17T12:37:36.000Z","updated_at":"2024-07-24T21:57:42.000Z","dependencies_parsed_at":"2023-12-30T09:23:54.328Z","dependency_job_id":"eba8ee3d-3d3f-4ce9-9eb9-8dc58c93bf23","html_url":"https://github.com/FlyingFathead/youwhisper-cli","commit_stats":null,"previous_names":["flyingfathead/youwhisper","flyingfathead/youwhisper-cli"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FlyingFathead%2Fyouwhisper-cli","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FlyingFathead%2Fyouwhisper-cli/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FlyingFathead%2Fyouwhisper-cli/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FlyingFathead%2Fyouwhisper-cli/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/FlyingFathead","download_url":"https://codeload.github.com/FlyingFathead/youwhisper-cli/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241170256,"owners_count":19921572,"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","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":["cli","cli-app","python","transcribe","transcriber","transcription","whisper","whisper-ai","whisperx","youtube-downloader","yt-dlp","yt-dlp-wrapper"],"created_at":"2024-11-12T10:11:08.178Z","updated_at":"2025-10-04T13:18:17.856Z","avatar_url":"https://github.com/FlyingFathead.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# youwhisper-cli\n`youwhisper-cli` is a versatile, Python-based video/audio transcription mini-tool that uses `yt-dlp` and `whisperx` (or `openai-whisper`, depending on the configuration) to create a single-command transcription pipeline to transcribe audio from online video sources using `yt-dlp` and then passing the downloaded audio on to either `whisper` or `whisperx` for audio transcribing. Transcribed text comes out the other end, by default to `.txt` and `.srt` files.\n\n(Full list of `yt-dlp` supported online platforms [here](https://github.com/yt-dlp/yt-dlp/blob/master/supportedsites.md#:~:text=URL%3A%20https%3A%2F%2Fgithub.com%2Fyt))\n\nSimply put, `youwhisper-cli` a handy all-in-one command line tool for creating accurate subtitles and text transcripts from online video and audio sources with a single, simple terminal command. I.e.:\n\n```bash\nyouwhisper \u003cVideo-URL\u003e\n```\n\nor:\n\n```bash\nyouwhisper -l fi \u003cVideo-URL\u003e \n```\n\nFor transcriptions where the spoken language is Finnish (`fi`). Program defaults to English (`en`). You can use the `-l` or `--lang` switch for all the available languages that `openai-whisper` or `whisperx` supports and/or modify the `youwhisper.ini` to suit your needs for the program's default transcription language.\n\n`youwhisper-cli` runs in both Linux environments as well as in Windows using Git Bash.\n\n## Features\n\n- **Versatile Streaming Platform Support:** Utilizes `yt-dlp` for downloading a local audio copy from a wide range of video streaming platforms, not just YouTube.\n- **Advanced Transcription Capabilities:** Leverages `whisperx` for high-quality audio transcription into text and subtitles.\n- **Customizable Output:** Supports all the transcription output formats that `whisperx` or `openai-whisper` supports, including `.srt` (subtitles) and `.txt` (plain text).\n- **User-Friendly Configuration:** Easy configuration adjustments via the `youwhisper.ini` file, accommodating different user preferences and requirements.\n\n## Installation\n\n1. To get started with `youwhisper-cli`, clone the repository and set up the environment.\n```bash\ngit clone https://github.com/FlyingFathead/youwhisper-cli.git\ncd youwhisper-cli\n```\n\nTo run `youwhisper-cli`, you need `yt-dlp` and either Whisper or WhisperX installed.\n\n2. Install `yt-dlp` (via `pip`)\n```bash\npip install yt-dlp\n```\n\n3. Install i.e. either `whisperx` or `openai-whisper`.\n\nThis is where things might get a bit complicated; it's highly suggested to take a look at the installation instructions on the [WhisperX project page](https://github.com/m-bain/whisperX#setup-%EF%B8%8F) and follow them step by step.\n\nIf you're willing to take the risk of blind-installing either `whisperx` or `openai-whisper` locally, you can do so with either of the following commands:\n\n**WhisperX:**\n```bash\npip install git+https://github.com/m-bain/whisperx.git --upgrade\n```\n(**although I highly recommend you look at the `conda` install instructions from the [WhisperX project page](https://github.com/m-bain/whisperX#setup-%EF%B8%8F)**)\n\n**OpenAI Whisper (via `pip`):**\n```bash\npip install -U openai-whisper\n```\n\n**OR**\n\n**OpenAI Whisper (latest cutting-edge git):**\n```bash\npip install git+https://github.com/openai/whisper.git \n```\n\n### **(Optional) Adding `youwhisper-cli` to your `~/.bash_aliases`**\n\nIf you have installed WhisperX (or Whisper) into a `conda` environment following the [instructions on WhisperX's project page](https://github.com/m-bain/whisperX) (which is usually the recommended method in many use scenarios, so that you don't collide with dependencies and end up with a broken Python environment), you might need to add a function to your `~/.bash_aliases` file that activates the `whisperx` environment before the script is run, here's an example on how to do it:\n\n```bash\n# `youwhisper` /// download and auto-whisper process\nfunction youwhisper() {\n    conda activate whisperx\n    python $HOME/youwhisper/youwhisper.py \"$@\"\n    conda deactivate\n}\n```\n(Note that in the function above, it's assumed that your `youwhisper-cli` is located at `$HOME/youwhisper-cli/` (a.k.a. underneath the user's home directory, in a sub-directory named `youwhisper-cli`.)\n\n## Usage\n\nRun `youwhisper-cli` with the URL of the video from the supported streaming platform:\n```bash\n./youwhisper.py \u003cVideo-URL\u003e\n```\nThis uses the default language set in the `youwhisper.ini` config file, which is English (`en`) by default.\n\nYou can specify the transcription language with i.e.:\n\n```bash\n./youwhisper.py \u003cVideo-URL\u003e [-l \u003cLanguage-Code\u003e]\n```\n\nOr, if you added `youwhisper` to your `~/.bash_aliases`, you can just use:\n\n```bash\nyouwhisper \u003cVideo-URL\u003e [-l \u003cLanguage-Code\u003e]\n```\n\n## Configuration (`youwhisper.ini`):\n\nAdjust settings like transcription model, language, and output formats in the youwhisper.ini file to tailor the tool to your needs. Here's an example configuration of the `youwhisper.ini`:\n\n```\n[whisper]\nexecutable = whisper\nmodel = large-v3\nlanguage = en\noutput_formats = all\n```\nConfiguring youwhisper.ini: A Step-by-Step Guide\n\n1. `executable`:\n\n    - This specifies the transcription tool to be used.\n    - In this example, `whisperx` is set as the executable, meaning `youwhisper-cli` will use WhisperX for transcription.\n    - If you have `openai-whisper` installed instead you can replace `whisperx` with `whisper` or the path to the `openai-whisper` executable.\n\n2. `model`:\n\n    - This determines the specific model of WhisperX or openai-whisper to be used for transcription.\n    - `large-v2` is (at the writing of this) the most current model that WhisperX supports\n    - `large-v3` is the default recommendation when using Whisper (Nov 2023)\n    - You can select different models depending on your accuracy requirements and resource availability (e.g., `base`, `small`, `medium`, `large`, or preferably `large-v2` with WhisperX. At the time of writing this, `openai-whisper` has `large-v3` available).\n\n3. `language`:\n\n    - This sets the language for transcription.\n    - The example uses `en` for English.\n    - You can change this to any supported language code as per your requirement (e.g., `fi` for Finnish, `es` for Spanish, `de` for German, etc).\n\n4. `output_formats`:\n\n    - This defines the formats in which the transcribed output will be saved.\n    - The default is to output to all available formats\n    - You can specify different or additional formats supported by WhisperX or openai-whisper (e.g., `srt`, `txt`, `json`) -- note however that if `all` is not chosen, you can only choose _one_ format.\n\nBy customizing these settings, you can make youwhisper fit perfectly into your workflow, whether you're a content creator, researcher, or anyone in need of quick and accurate transcriptions out of online videos.\n\n## Dependencies\n\n- `yt-dlp` -- For audio extraction from various video streaming platforms.\n- `whisperx` (or alternatively, `openai-whisper`) -- For converting audio into textual and subtitle formats.\n\n## Contributing\n\n- Contributions to enhance youwhisper are always welcome! Feel free to report issues, suggest features, or submit pull requests.\n- Feel free to star the repo, share feedback, or participate in discussions if this project seems to be of any interest!\n\n## Changelog\n_(Note: on Dec 30, 2023: changed the project+repo name to `youwhisper-cli` from `youwhisper` to avoid a repo name collision with an unrelated project)_\n\n- `v1.06` - display set language\n- `v1.05` - bug fixes, additional checks\n- `v1.04` - added safety checks to see that `yt-dlp` and/or `whisper` or `whisperx` is installed before running, also added helpers to guide through the install process, should something be missing.\n- `v1.00` (Nov 17, 2023)\n\n## Todo\n- (Maybe) add the option to use the Whisper API via OpenAI's API instead of a local model, for those with less local compute and access to OpenAI's API\n- (Maybe) OpenAI API-based local summaries on the transcripts, possible online translation pipelines (i.e. via OpenAI API)\n\n## License\n\n`youwhisper-cli` is made available under the MIT License. See the [LICENSE](LICENSE) file for more details.\nAll the other required dependencies have their own corresponding licenses. See their licenses from their corresponding repositories.\n\n## About\n\nWritten by FlyingFathead, alongside my co-pilot, ChaosWhisperer.\n- GitHub: https://github.com/FlyingFathead/\n- `youwhisper-cli` repo @ https://github.com/FlyingFathead/youwhisper-cli/\n\n## External links\n\n- `whisperX` - https://github.com/m-bain/whisperX\n- `openai-whisper` - https://github.com/openai/whisper\n- `yt-dlp` - https://github.com/yt-dlp/yt-dlp\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fflyingfathead%2Fyouwhisper-cli","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fflyingfathead%2Fyouwhisper-cli","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fflyingfathead%2Fyouwhisper-cli/lists"}