{"id":23483544,"url":"https://github.com/agituts/gemini-2-podcast","last_synced_at":"2025-04-06T09:07:18.983Z","repository":{"id":269276160,"uuid":"906928588","full_name":"agituts/gemini-2-podcast","owner":"agituts","description":"A Python-based tool that generates engaging podcast conversations using Google's Gemini 2.0 Flash Experimental model for script generation and text-to-speech conversion.","archived":false,"fork":false,"pushed_at":"2024-12-30T12:43:36.000Z","size":48,"stargazers_count":105,"open_issues_count":2,"forks_count":16,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-03-30T08:07:42.982Z","etag":null,"topics":["gemini-2","gemini-2-0-flash-exp","podcast"],"latest_commit_sha":null,"homepage":"","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/agituts.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}},"created_at":"2024-12-22T10:36:34.000Z","updated_at":"2025-03-05T16:49:08.000Z","dependencies_parsed_at":null,"dependency_job_id":"cda6f859-b6b8-444c-9a5c-c6e51297c5a0","html_url":"https://github.com/agituts/gemini-2-podcast","commit_stats":null,"previous_names":["agituts/gemini-2-podcast"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agituts%2Fgemini-2-podcast","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agituts%2Fgemini-2-podcast/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agituts%2Fgemini-2-podcast/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agituts%2Fgemini-2-podcast/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/agituts","download_url":"https://codeload.github.com/agituts/gemini-2-podcast/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247457800,"owners_count":20941906,"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":["gemini-2","gemini-2-0-flash-exp","podcast"],"created_at":"2024-12-24T21:12:25.451Z","updated_at":"2025-04-06T09:07:18.956Z","avatar_url":"https://github.com/agituts.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n# gemini-2-podcast Setup Guide\n\nA Python-based tool that generates engaging podcast conversations using Google's Gemini 2.0 Flash Experimental model for script generation and text-to-speech conversion. Now with multi-language support for generating podcasts in various languages.\n\n[![Gemini 2 Podcast Setup Guide: Transform Content into Pro-Level Podcasts](https://img.youtube.com/vi/9qeiQ4x30Dk/maxresdefault.jpg)](https://www.youtube.com/watch?v=9qeiQ4x30Dk)\n\n## Features\n- Converts content from multiple source formats (PDF, URL, TXT, Markdown) into natural conversational scripts.\n- Generates high-quality audio using Google's text-to-speech capabilities.\n- Supports multiple languages for podcast generation.\n- Provides two distinct voices for dynamic conversations.\n- Handles error recovery and retries for robust audio generation.\n- Progress tracking with visual feedback during generation.\n\n## Prerequisites\n\n### Microsoft C++ Build Tools\n1. Download Microsoft C++ Build Tools from Visual Studio Installer.\n2. Run the installer and select:\n   - **Desktop development with C++** workload.\n   - Optional MSVC build tools (`v140`, `v141`, `v142`) under Installation details.\n3. After installation:\n   - **Reboot your computer**.\n   - Add MSBuild to system environment variables:\n     ```text\n     C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\MSBuild\\Current\\Bin\n     ```\n\n## System Dependencies\n\n### For Ubuntu/Debian:\n```bash\nsudo apt-get install ffmpeg portaudio19-dev\n```\n\n### For macOS:\n```bash\nbrew install ffmpeg portaudio\n```\n\n### For Windows:\n```text\nInstall FFmpeg and add it to PATH\nPortAudio comes with PyAudio wheels\n```\n\n## Project Setup\n\n### Clone the Repository:\n```bash\ngit clone https://github.com/yourusername/gemini-2-podcast.git\ncd gemini-2-podcast\n```\n\n### Create and Activate Virtual Environment:\n```bash\npython -m venv venv\nsource venv/bin/activate  # Windows: venv\\Scripts\\activate\n```\n\n### Install Python Dependencies:\n```bash\npip install -r requirements.txt\n```\n\n### Create `.env` File with API Keys:\n```text\nGOOGLE_API_KEY=your_google_api_key\nVOICE_A=Puck\nVOICE_B=Kore\n```\n\n## Required Files\n```text\nEnsure these files are present in your project directory:\n- generate_podcast.py\n- generate_script.py\n- generate_audio.py\n- system_instructions_script.txt\n- system_instructions_audio.txt\n- requirements.txt\n- README.md\n```\n\n## Usage Instructions\n\n### Start the Podcast Generation:\n\n### Multi-Language Support:\nThe project supports generating podcasts in multiple languages. Specify the desired language using the `--language` option.\nIf no language is specified, it defaults to English.\n\nExample usage:\n```bash\npython generate_podcast.py --language spanish\n```\n\n```bash\npython generate_podcast.py\n```\n\n1. When prompted, input content sources:\n   ```text\n   - PDF files: pdf\n   - URLs: url\n   - Text files: txt\n   - Markdown files: md\n   ```\n2. Type `done` when finished.\n3. Review the generated script in `podcast_script.txt`.\n4. Press `Enter` to continue with audio generation or `q` to quit.\n\n### Wait for Audio Generation to Complete:\n```text\n- A progress bar will display the status.\n- Final output: final_podcast.wav.\n```\n\n## Output Specifications\n```text\n- Audio format: WAV\n- Channels: Stereo\n- Sample rate: 24000Hz\n- Bit depth: 16-bit\n```\n\n## Contributing\n1. Fork the repository.\n2. Create a feature branch.\n3. Commit your changes.\n4. Push to the branch.\n5. Open a Pull Request.\n\n## License\nThis project is licensed under the MIT License.\n\n## Acknowledgments\n- Inspired by NotebookLM's podcast feature.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fagituts%2Fgemini-2-podcast","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fagituts%2Fgemini-2-podcast","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fagituts%2Fgemini-2-podcast/lists"}