ajcwebdev / autoshow

End-to-end scripting workflow to automatically generate show notes from audio/video transcripts with Whisper.cpp, Llama.cpp, yt-dlp, and Commander.js
MIT License
40 stars 5 forks source link
chatgpt claude cohere llama-cpp mistral ollama whisper-cpp yt-dlp

Autoshow

autoshow logo

Outline

Project Overview

Autoshow automates the processing of audio and video content from various sources, including YouTube videos, playlists, podcast RSS feeds, and local media files. It performs transcription, summarization, and chapter generation using different language models (LLMs) and transcription services.

The Autoshow workflow includes the following steps:

  1. The user provides input (video URL, playlist, RSS feed, or local file).
  2. The system downloads the audio (if necessary).
  3. Transcription is performed using the selected service.
  4. The transcript is processed by the chosen LLM to generate a summary and chapters.
  5. Results are saved in markdown format with front matter.

Key Features

See docs/roadmap.md for details about current development work and future potential capabilities.

Setup

scripts/setup.sh checks to ensure a .env file exists, Node dependencies are installed, and the whisper.cpp repository is cloned and built. Run the script with the setup script in package.json.

npm run setup

Run Autoshow Node Scripts

Run on a single YouTube video.

npm run as -- --video "https://www.youtube.com/watch?v=MORMZXEaONk"

Run on a YouTube playlist.

npm run as -- --playlist "https://www.youtube.com/playlist?list=PLCVnrVv4KhXPz0SoAVu8Rc1emAdGPbSbr"

Run on a list of arbitrary URLs.

npm run as -- --urls "content/example-urls.md"

Run on a local audio or video file.

npm run as -- --file "content/audio.mp3"

Run on a podcast RSS feed.

npm run as -- --rss "https://ajcwebdev.substack.com/feed"

Use local LLM.

npm run as -- --video "https://www.youtube.com/watch?v=MORMZXEaONk" --ollama

Use 3rd party LLM providers.

npm run as -- --video "https://www.youtube.com/watch?v=MORMZXEaONk" --chatgpt GPT_4o_MINI
npm run as -- --video "https://www.youtube.com/watch?v=MORMZXEaONk" --claude CLAUDE_3_5_SONNET
npm run as -- --video "https://www.youtube.com/watch?v=MORMZXEaONk" --gemini GEMINI_1_5_PRO
npm run as -- --video "https://www.youtube.com/watch?v=MORMZXEaONk" --cohere COMMAND_R_PLUS
npm run as -- --video "https://www.youtube.com/watch?v=MORMZXEaONk" --mistral MISTRAL_LARGE
npm run as -- --video "https://www.youtube.com/watch?v=MORMZXEaONk" --fireworks
npm run as -- --video "https://www.youtube.com/watch?v=MORMZXEaONk" --together
npm run as -- --video "https://www.youtube.com/watch?v=MORMZXEaONk" --groq

Example commands for all available CLI options can be found in docs/examples.md.

Project Structure