{"id":29201841,"url":"https://github.com/pythonicforge/whispercast","last_synced_at":"2025-07-02T12:07:31.351Z","repository":{"id":287059686,"uuid":"962402407","full_name":"pythonicforge/whispercast","owner":"pythonicforge","description":"⚡ Turn any topic or file into a vibe-worthy podcast or audiobook — all from your terminal.","archived":false,"fork":false,"pushed_at":"2025-06-19T11:40:28.000Z","size":36979,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-19T12:25:31.784Z","etag":null,"topics":["cmd","groq","python"],"latest_commit_sha":null,"homepage":"https://whispercast-cli.vercel.app","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pythonicforge.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":"2025-04-08T05:31:47.000Z","updated_at":"2025-06-19T11:40:32.000Z","dependencies_parsed_at":"2025-04-09T19:40:31.438Z","dependency_job_id":null,"html_url":"https://github.com/pythonicforge/whispercast","commit_stats":null,"previous_names":["pythonicforge/whispercast"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/pythonicforge/whispercast","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pythonicforge%2Fwhispercast","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pythonicforge%2Fwhispercast/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pythonicforge%2Fwhispercast/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pythonicforge%2Fwhispercast/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pythonicforge","download_url":"https://codeload.github.com/pythonicforge/whispercast/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pythonicforge%2Fwhispercast/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263137419,"owners_count":23419298,"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":["cmd","groq","python"],"created_at":"2025-07-02T12:07:30.426Z","updated_at":"2025-07-02T12:07:31.342Z","avatar_url":"https://github.com/pythonicforge.png","language":"Python","readme":"# WhisperCast\n\nWhisperCast is a cutting-edge command-line application designed to transform text into engaging audio content. Whether you're creating podcasts, audiobooks, or simply exploring the power of AI-driven text-to-speech and language models, WhisperCast provides a seamless and intuitive experience.\n\n\u003cbr/\u003e\n\n### Features\n\n#### 1. **Podcast Generation**\n   - Generate high-quality podcast scripts using advanced language models.\n   - Convert scripts into audio files with natural-sounding voices.\n   - Customize topics and durations for tailored podcast episodes.\n\n#### 2. **Audiobook Creation**\n   - Transform text files, PDFs, or URLs into immersive audiobooks.\n   - Supports multiple file formats, including `.txt`, `.pdf`, and `.docx`.\n   - Ensures a conversational and engaging tone for listeners.\n\n#### 3. **Interactive Learning with Sensei Mode**\n   - Upload a file and let the AI teach you its content.\n   - Ask questions interactively, and get concise, accurate answers.\n   - Perfect for learning new topics or exploring complex documents.\n\n#### 4. **Audio File Management**\n   - List all generated audio files with the `ls` command.\n   - Play audio files directly from the command line using the `play` command.\n\n#### 5. **Content Fetching**\n   - Fetch topic-related data from multiple sources:\n     - Wikipedia summaries\n     - Google News articles\n     - DuckDuckGo insights\n     - Reddit discussions\n     - Hacker News articles\n   - Combine and summarize content for comprehensive insights.\n\n\u003cbr/\u003e\n\n### Installation\n\n#### Prerequisites\n- Python 3.8 or higher\n- `pip` (Python package manager)\n\n#### Steps\n1. Clone the repository:\n   ```bash\n   git clone https://github.com/your-username/WhisperCast.git\n   cd WhisperCast\n   ```\n\n2. Install dependencies:\n   ```bash\n   pip install -r requirements.txt\n   ```\n\n3. Set up environment variables:\n   - Create a `.env` file in the root directory.\n   - Add the following variables:\n     ```env\n     GROQ_API_KEY=your_groq_api_key\n     DEBUG=true\n     ENVIRONMENT=development\n     ```\n\n4. Run the application:\n   ```bash\n   python main.py\n   ```\n\u003cbr/\u003e\n\n### Usage\n\n### Commands\n- **`podcast \u003ctopic\u003e`**: Generate a podcast script and audio file for the given topic.\n- **`audiobook \u003cfile_path\u003e`**: Convert a file into an audiobook.\n- **`sensei \u003cfile_path\u003e`**: Learn interactively about a file's content and ask questions.\n- **`ls`**: List all available audio files in the `output` directory.\n- **`play \u003cfile_number\u003e`**: Play an audio file by selecting its number from the `ls` command.\n- **`clear`**: Clear the terminal screen.\n- **`bye`**: Exit the application.\n\n\u003cbr/\u003e\n\n### Project Structure\n\n```\nWhisperCast/\n├── cli/\n│   └── shell.py          # Command-line interface implementation\n├── utils/\n│   ├── text_to_speech.py # Text-to-speech functionality\n│   ├── llm.py            # Language model interactions\n│   ├── extractor.py      # File and content extraction utilities\n│   ├── fetcher.py        # Fetch content from external sources\n│   ├── finder.py         # File management utilities\n│   ├── log_manager.py    # Logging configuration\n├── main.py               # Entry point for the application\n├── requirements.txt      # Python dependencies\n└── README.md             # Project documentation\n```\n\n\u003cbr/\u003e\n\n### Key Technologies\n\n- **Text-to-Speech**: Powered by [Coqui TTS](https://github.com/coqui-ai/TTS) for natural-sounding audio generation.\n- **Language Models**: Utilizes Groq's LLaMA 3 for advanced text processing and script generation.\n- **Web Scraping**: Fetches content from Wikipedia, Google News, Reddit, and more using `BeautifulSoup` and `feedparser`.\n- **Logging**: Comprehensive logging with `loguru` for debugging and monitoring.\n\n\u003cbr/\u003e\n\n### Contributing\n\nWe welcome contributions to WhisperCast! To contribute:\n1. Fork the repository.\n2. Create a new branch for your feature or bug fix.\n3. Submit a pull request with a detailed description of your changes.\n\n\u003cbr/\u003e\n\n### License\n\nThis project is licensed under the Apache License. See the `LICENSE` file for details.\n\n\u003cbr/\u003e\n\n### Acknowledgments\n\n- [Coqui TTS](https://github.com/coqui-ai/TTS) for their exceptional text-to-speech library.\n- [Groq](https://groq.com/) for their powerful language models.\n- The open-source community for providing invaluable tools and resources.\n\n\u003cbr/\u003e\n\n### Contact\n\nFor questions, feedback, or support, please reach out to:\n- **Email**: pseudopythonic@gmail.com\n- **GitHub**: [pythonicforge](https://github.com/pythonciforge)","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpythonicforge%2Fwhispercast","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpythonicforge%2Fwhispercast","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpythonicforge%2Fwhispercast/lists"}