{"id":31135875,"url":"https://github.com/haasonsaas/parakeet-podcast-processor","last_synced_at":"2026-05-09T16:56:08.061Z","repository":{"id":311653435,"uuid":"1044462066","full_name":"haasonsaas/parakeet-podcast-processor","owner":"haasonsaas","description":"🎙️ P³: Lightning-fast podcast processing with Apple Silicon optimization and local LLMs. Parakeet MLX transcription + Ollama analysis = structured podcast summaries in minutes. 100% local, no API keys required.","archived":false,"fork":false,"pushed_at":"2025-08-25T18:43:34.000Z","size":42,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-08-25T20:24:13.407Z","etag":null,"topics":["apple-silicon","audio-processing","local-llm","mlx","ollama","parakeet","podcast","podcast-processing","rss","transcription"],"latest_commit_sha":null,"homepage":null,"language":"Python","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/haasonsaas.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,"zenodo":null}},"created_at":"2025-08-25T18:09:02.000Z","updated_at":"2025-08-25T18:43:37.000Z","dependencies_parsed_at":"2025-08-25T20:35:21.545Z","dependency_job_id":null,"html_url":"https://github.com/haasonsaas/parakeet-podcast-processor","commit_stats":null,"previous_names":["haasonsaas/parakeet-podcast-processor"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/haasonsaas/parakeet-podcast-processor","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/haasonsaas%2Fparakeet-podcast-processor","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/haasonsaas%2Fparakeet-podcast-processor/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/haasonsaas%2Fparakeet-podcast-processor/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/haasonsaas%2Fparakeet-podcast-processor/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/haasonsaas","download_url":"https://codeload.github.com/haasonsaas/parakeet-podcast-processor/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/haasonsaas%2Fparakeet-podcast-processor/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":275731994,"owners_count":25518090,"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-09-18T02:00:09.552Z","response_time":77,"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":["apple-silicon","audio-processing","local-llm","mlx","ollama","parakeet","podcast","podcast-processing","rss","transcription"],"created_at":"2025-09-18T07:46:16.032Z","updated_at":"2025-09-18T07:46:18.214Z","avatar_url":"https://github.com/haasonsaas.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Parakeet Podcast Processor (P³)\n\n**Automated podcast processing with Apple Silicon optimization and local LLMs**\n\nTransform podcasts into structured summaries using cutting-edge Apple Silicon ML acceleration.\n\n\u003e **Inspired by [Tomasz Tunguz](https://tomtunguz.com)**'s innovative podcast processing system described in his \"How I AI\" interview. This implementation builds on his pioneering work in automated podcast analysis for venture capital and business intelligence.\n\n## ⚡ Key Features\n\n- **🎧 Smart Audio Processing**: RSS feed monitoring + ffmpeg normalization\n- **🚀 Lightning Fast Transcription**: Parakeet MLX (30x faster than Whisper on Apple Silicon)\n- **🧠 Local LLM Analysis**: Ollama integration for structured summarization\n- **✍️ AI Blog Generation**: Iterative writing with AP English teacher grading system\n- **📱 Social Media Posts**: Auto-generate Twitter and LinkedIn content\n- **💾 Efficient Storage**: DuckDB for fast queries and analysis\n- **📊 Rich Outputs**: Markdown and JSON exports with topics, themes, quotes, and company mentions\n- **🔒 100% Local**: No API keys required, complete privacy\n\n## 🚦 Quick Start\n\n```bash\n# Prerequisites: macOS with Apple Silicon + ffmpeg + Ollama\nbrew install ffmpeg\n# Install Ollama from https://ollama.com, then: ollama pull llama3.2\n\n# Setup P³\npython3 -m venv venv \u0026\u0026 source venv/bin/activate\npip install -e .\np3 init\n\n# Configure feeds in config/feeds.yaml\n# Then run the complete pipeline:\np3 fetch \u0026\u0026 p3 transcribe \u0026\u0026 p3 digest \u0026\u0026 p3 export\n\n# Generate blog posts from digest (Tunguz's innovation):\np3 write --topic \"AI's Impact on Software Development\"\n\n# Or run the demo script:\npython demo.py\n```\n\n## ⚡ Performance\n\n- **Audio Download**: ~30 seconds per episode\n- **Parakeet Transcription**: 60 minutes audio → 1 second processing \n- **Ollama Analysis**: Full transcript → structured summary in ~10 seconds\n- **Total Pipeline**: ~1 minute for complete podcast processing\n\n## 🏗️ Architecture\n\n```\nRSS → ffmpeg → Parakeet MLX → Ollama → DuckDB → Export\n```\n\n**Optimized Stack:**\n- **Audio**: ffmpeg normalization for consistent quality\n- **Transcription**: Parakeet MLX (Apple Silicon optimized ASR)  \n- **Analysis**: Ollama (local Llama3.2 for structured extraction)\n- **Storage**: DuckDB (fast analytical queries)\n\n## 📊 Output Example\n\n**Generated Markdown Digest:**\n```markdown\n# Podcast Digest - 2025-08-25\n\n## Test Podcast\n\n### All About That Bass\n\n**Summary:** The Roland TR-808 drum machine revolutionized hip-hop and electronic music...\n\n**Key Topics:**\n- Roland TR-808 drum machine  \n- Hip-hop music evolution\n- Electronic music production\n\n**Notable Quotes:**\n\u003e \"I really feel the 808 kick drum was one of the first things that started shattering the rules...\"\n\n**Companies Mentioned:**\n- Roland Corporation\n```\n\n## 🛠️ Commands\n\n- `p3 init` - Initialize directories and database\n- `p3 fetch` - Download episodes from RSS feeds\n- `p3 transcribe` - Convert audio to text with Parakeet MLX\n- `p3 digest` - Generate structured summaries with Ollama\n- `p3 export` - Export daily digests (markdown/JSON)\n- `p3 write --topic \"Your Topic\"` - Generate blog posts with AP English grading\n- `p3 status` - Show processing pipeline status\n\n## 🔧 Configuration\n\nEdit `config/feeds.yaml` to add your podcast feeds:\n\n```yaml\nfeeds:\n  - name: \"Your Podcast\"\n    url: \"https://example.com/feed.xml\"\n    category: \"tech\"\n\nsettings:\n  max_episodes_per_feed: 5\n  \n  # Transcription (Apple Silicon optimized)\n  parakeet_enabled: true\n  parakeet_model: \"mlx-community/parakeet-tdt-0.6b-v2\"\n  \n  # LLM Processing (100% Local)\n  llm_provider: \"ollama\"\n  llm_model: \"llama3.2:latest\"\n```\n\n## 📂 Project Structure\n\n```\np3/\n├── p3/                    # Core package\n│   ├── database.py        # DuckDB storage layer\n│   ├── downloader.py      # RSS + audio download with ffmpeg\n│   ├── transcriber.py     # Parakeet MLX + Whisper fallback\n│   ├── cleaner.py         # Ollama LLM analysis\n│   ├── exporter.py        # Markdown/JSON generation\n│   └── cli.py             # Command-line interface\n├── config/feeds.yaml      # Podcast feed configuration\n├── data/                  # Audio files + DuckDB database\n├── exports/               # Generated digests\n├── digest_YYYY-MM-DD.md   # Generated markdown digests\n└── digest_YYYY-MM-DD.json # Generated JSON digests\n```\n\n## 🚀 Why P³?\n\n**Performance**: Parakeet MLX delivers 30x speed improvement over Whisper on Apple Silicon\n\n**Privacy**: 100% local processing - your podcast data never leaves your machine\n\n**Quality**: State-of-the-art ASR + structured LLM analysis produces rich, actionable summaries\n\n**Efficiency**: Process hours of podcasts in minutes with optimized pipeline\n\nPerfect for researchers, journalists, content creators, or anyone who needs to efficiently process large volumes of podcast content.\n\n## 🙏 **Attribution**\n\nThis implementation is inspired by and builds upon the innovative work of **[Tomasz Tunguz](https://tomtunguz.com)**, founder of Theory Ventures, who pioneered many of these techniques for automated podcast analysis in venture capital. His \"AP English teacher grading system\" for iterative AI writing and multi-feed podcast processing approach formed the foundation for several features in this system.\n\n**Key innovations from Tunguz's system:**\n- ✍️ Blog post generation with AP English teacher grading (91/100 target)\n- 🔄 Iterative writing improvement loops  \n- 📱 Social media post generation\n- 🏢 Company/startup extraction for CRM integration\n- 📊 Investment thesis generation from podcast insights\n\n*Source: Tomasz Tunguz interview on \"How I AI\" podcast*\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhaasonsaas%2Fparakeet-podcast-processor","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhaasonsaas%2Fparakeet-podcast-processor","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhaasonsaas%2Fparakeet-podcast-processor/lists"}