{"id":22156167,"url":"https://github.com/leothorp/podcast-transcriber","last_synced_at":"2025-07-12T03:41:21.270Z","repository":{"id":102384846,"uuid":"583243467","full_name":"leothorp/podcast-transcriber","owner":"leothorp","description":null,"archived":false,"fork":false,"pushed_at":"2023-01-03T09:22:43.000Z","size":69,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-29T19:24:49.440Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","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/leothorp.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,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-12-29T07:33:07.000Z","updated_at":"2023-03-10T08:03:06.000Z","dependencies_parsed_at":null,"dependency_job_id":"ab2e4a1b-3129-49e0-85c6-bd63f8e7e0cb","html_url":"https://github.com/leothorp/podcast-transcriber","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leothorp%2Fpodcast-transcriber","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leothorp%2Fpodcast-transcriber/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leothorp%2Fpodcast-transcriber/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leothorp%2Fpodcast-transcriber/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/leothorp","download_url":"https://codeload.github.com/leothorp/podcast-transcriber/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245289494,"owners_count":20591083,"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":[],"created_at":"2024-12-02T02:37:33.976Z","updated_at":"2025-03-24T14:31:50.288Z","avatar_url":"https://github.com/leothorp.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# podcast-transcriber\nCLI tool to transcribe podcast audio files (or other arbitrary English audio with multiple speakers). Outputs transcriptions as docx files, formatted with paragraph timestamps and indications of speaker transitions (diarization). Uses the Deepgram API for transcription.\n\n## Usage\n\n### Initial Setup\n1. Install [Node.js](https://nodejs.org/en/download/) and [git](https://git-scm.com/download) if you don't already have them.\n2. Obtain audio files for the podcast (or other speech audio) that you want to transcribe. Put them in a directory on your local machine. If the original source is Spotify, you can use a tool like [TuneFab](https://www.tunefab.com/) to get these files.\n3. Clone this repository to your local machine:\n```\ngit clone https://github.com/leothorp/podcast-transcriber.git\n```\n4. Sign up for a [Deepgram account](https://console.deepgram.com/signup) and obtain an API key. As of 12/29/22, this includes $150 worth of free API credits.\n5. Create a file called `.env` at the root of this repo (this file will be gitignored.) Add your Deepgram API key from the previous step to your new `.env` file as follows:\n```\nDEEPGRAM_API_KEY=insert-api-key-value-here\n```\n6. run `npm install` inside this project directory.\n\n### Generating Transcriptions\nAfter completing the setup steps above, run the tool on your directory of audio files by running the following command from within this directory:\n```\nnpm start path/to/audio/files/directory\n```\nThis will create a folder in the same parent directory as your audio input folder, with the same name appended with \"_transcripts\" and a timestamp. The contents will be a `json` dir with the raw Deepgram JSON responses, and a `docs` directory with formatted transcription docx output files.\n\n## Limitations\n* Currently this script can only be used on wav, mp3, ogg, or m4a files. mp3 is recommended.\n* The formatted docx file will not be styled correctly if opened in Apple Pages. Google Docs works well.\n* Diarization and word accuracy from Deepgram aren't always perfect (as shown by the output example below.) I'd suggest using the timestamps to spot check the original audio for any areas that seem unclear.\n\n## Output Example\n\n![image](https://user-images.githubusercontent.com/12928449/210316882-97b93605-7b9c-483a-8126-6f0595863e92.png)\n\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fleothorp%2Fpodcast-transcriber","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fleothorp%2Fpodcast-transcriber","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fleothorp%2Fpodcast-transcriber/lists"}