A podcast transcription and semantic search tool with an AI-powered chat interface. Transcribe audio files, generate embeddings, and ask questions about your podcast content using RAG (Retrieval Augmented Generation).
pnpm install
.env file with your API keys:DEEPGRAM_API_KEY=your_key
VOYAGE_API_KEY=your_key
ANTHROPIC_API_KEY=your_key
pnpm cli init
The CLI provides tools for processing audio files and managing your podcast library.
Full pipeline - transcribe, embed, and ingest in one command:
pnpm cli process path/to/episode.mp3
Podcast name and episode title are auto-detected from ID3 tags. Override with flags:
pnpm cli process episode.mp3 --podcast "My Podcast" --episode "Episode 1"
pnpm cli search "topic you're looking for"
pnpm cli search "machine learning" --limit 20
pnpm cli search "interviews" --podcast "Tech Talk"
pnpm cli list # List all podcasts and episodes
pnpm cli inspect audio.mp3 # View audio file metadata
pnpm cli transcribe audio.mp3 # Transcribe only (no embedding)
pnpm cli update --podcast 1 --name "New Name" # Update metadata
Start the development server:
pnpm dev
The web interface provides a chat UI where you can ask questions about your ingested podcasts. Responses include source citations with timestamps.
src/
├── cli/ # CLI tool for processing audio
├── lib/
│ ├── components/ # Svelte components
│ └── server/ # Server-side utilities (database, AI clients)
└── routes/
├── api/ # API endpoints for chat
└── chat/ # Chat interface pages
pnpm dev # Start dev server
pnpm check # Type check
pnpm lint # Lint code
pnpm test # Run tests
pnpm build # Production build
MIT