{"id":26995996,"url":"https://github.com/geniusgeek/audiogroupchat","last_synced_at":"2025-07-02T08:40:19.817Z","repository":{"id":282451933,"uuid":"947769068","full_name":"geniusgeek/AudioGroupChat","owner":"geniusgeek","description":"Think of this as Zoom call with your AI agents/coworkers","archived":false,"fork":false,"pushed_at":"2025-03-15T15:54:38.000Z","size":336682,"stargazers_count":3,"open_issues_count":3,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-04T01:16:44.419Z","etag":null,"topics":["agents","ai","aiagent","aiagentframework","aiagents","aiagentsframework"],"latest_commit_sha":null,"homepage":"https://www.grupa.ai","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/geniusgeek.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":"2025-03-13T08:13:52.000Z","updated_at":"2025-03-25T02:06:28.000Z","dependencies_parsed_at":"2025-03-14T18:53:14.127Z","dependency_job_id":null,"html_url":"https://github.com/geniusgeek/AudioGroupChat","commit_stats":null,"previous_names":["geniusgeek/audiogroupchat"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/geniusgeek/AudioGroupChat","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/geniusgeek%2FAudioGroupChat","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/geniusgeek%2FAudioGroupChat/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/geniusgeek%2FAudioGroupChat/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/geniusgeek%2FAudioGroupChat/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/geniusgeek","download_url":"https://codeload.github.com/geniusgeek/AudioGroupChat/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/geniusgeek%2FAudioGroupChat/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263105758,"owners_count":23414722,"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":["agents","ai","aiagent","aiagentframework","aiagents","aiagentsframework"],"created_at":"2025-04-04T01:16:49.641Z","updated_at":"2025-07-02T08:40:19.782Z","avatar_url":"https://github.com/geniusgeek.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Audio Group Chat\n\nA real-time audio group chat implementation enabling voice and text communication between humans and AI agents. This project combines WebRTC, speech-to-text, text-to-speech, and LLM capabilities to create interactive conversations with AI agents.\n\n## Features\n\n- Real-time audio communication using WebRTC\n- Multiple AI agents with distinct voices and personalities\n- Text-to-Speech (TTS) with customizable voice options\n- Speech-to-Text (STT) for human voice input\n- Round-robin speaker selection for balanced conversations\n- Gradio-based web interface for easy interaction\n- Support for both voice and text channels\n\n## Prerequisites\n\n- Python 3.8+\n- Node.js (for frontend components)\n- Ollama (for local LLM support)\n\n## Installation\n\n1. Clone the repository:\n```bash\ngit clone \u003crepository-url\u003e\ncd AudioGroupChat\n```\n\n2. Create and activate a virtual environment:\n```bash\npython -m venv .venv\nsource .venv/bin/activate  # On Windows: .venv\\Scripts\\activate\n```\n\n3. Install dependencies:\n```bash\npip install -r requirements.txt\n```\n\n## Configuration\n\n1. Configure Ollama settings in `main_app.py`:\n```python\nconfig_list = [{\n    \"model\": \"gemma3:1b\",  # or other supported models\n    \"base_url\": \"http://localhost:11434/v1\",\n    \"price\": [0.00, 0.00],\n}]\n```\n\n2. (Optional) Set up Twilio TURN server credentials for improved WebRTC connectivity:\n```bash\nexport TWILIO_ACCOUNT_SID=your_account_sid\nexport TWILIO_AUTH_TOKEN=your_auth_token\n```\n\n## Usage\n\n1. Start the application:\n```bash\npython main_app.py\n```\n\n2. Open the provided Gradio interface URL in your browser (typically http://localhost:7860)\n\n3. Start a conversation by:\n   - Speaking into your microphone\n   - Typing text messages\n   - Using the provided UI controls\n\n## Project Structure\n\n- `main_app.py`: Main application entry point\n- `audio_groupchat.py`: Core audio group chat implementation\n- `gradio_ui.py`: Gradio web interface components\n- `test_group_chat.py`: Test cases and examples\n\n## Voice Configuration\n\nThe system supports multiple voice options for AI agents:\n- Energetic (fast, US English)\n- Calm (slower, US English)\n- British (UK English)\n- Authoritative (moderate speed, US English)\n- Default (standard US English)\n\n## API Documentation\n\n### AudioGroupChat Class\n\n```python\nclass AudioGroupChat(GroupChat):\n    def __init__(self, agents=None, messages=None, max_round=10,\n                 speaker_selection_method=\"round_robin\",\n                 allow_repeat_speaker=False)\n```\n\nKey methods:\n- `initialize()`: Set up audio processing components\n- `add_human_participant(user_id)`: Add a human participant\n- `start_audio_session(user_id)`: Start an audio session\n\n### GradioUI Class\n\n```python\nclass GradioUI:\n    def __init__(self, audio_chat: AudioGroupChat)\n    def create_interface(self) -\u003e gr.Blocks\n```\n\n## Contributing\n\n1. Fork the repository\n2. Create a feature branch\n3. Commit your changes\n4. Push to the branch\n5. Create a Pull Request\n\n## License\n\nThis project is licensed under the MIT License - see the LICENSE file for details.\n\n## Acknowledgments\n\n- Built with [Autogen](https://github.com/microsoft/autogen)\n- Uses [FastRTC](https://github.com/yourusername/fastrtc) for WebRTC functionality\n- Powered by [Gradio](https://gradio.app/) for the web interface","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgeniusgeek%2Faudiogroupchat","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgeniusgeek%2Faudiogroupchat","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgeniusgeek%2Faudiogroupchat/lists"}