{"id":21361095,"url":"https://github.com/kaymen99/ai-voice-assistant","last_synced_at":"2025-07-13T02:32:03.768Z","repository":{"id":249196936,"uuid":"830742230","full_name":"kaymen99/AI-Voice-assistant","owner":"kaymen99","description":"AI Voice Assistant: talk to an AI agent that handles event scheduling, managing contacts, accessing your knowledge base and web searching through simple voice commands.","archived":false,"fork":false,"pushed_at":"2024-08-14T15:22:59.000Z","size":20,"stargazers_count":13,"open_issues_count":0,"forks_count":6,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-11-19T09:04:57.896Z","etag":null,"topics":["ai-agent","ai-speech","ai-voice-assistant","deepgram","gemini-pro-vision","gmail","google-calendar","google-contacts","groq","litellm","llama3","voice-assistant"],"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/kaymen99.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-07-18T22:37:33.000Z","updated_at":"2024-11-17T10:26:50.000Z","dependencies_parsed_at":"2024-10-29T08:30:40.598Z","dependency_job_id":"364a551d-8df3-4465-8613-c903a8a088a8","html_url":"https://github.com/kaymen99/AI-Voice-assistant","commit_stats":{"total_commits":7,"total_committers":1,"mean_commits":7.0,"dds":0.0,"last_synced_commit":"0d34b4a56dd4302d87e50ccf54df40f9e001af20"},"previous_names":["kaymen99/ai-voice-assistant"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kaymen99%2FAI-Voice-assistant","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kaymen99%2FAI-Voice-assistant/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kaymen99%2FAI-Voice-assistant/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kaymen99%2FAI-Voice-assistant/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kaymen99","download_url":"https://codeload.github.com/kaymen99/AI-Voice-assistant/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225850273,"owners_count":17534067,"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":["ai-agent","ai-speech","ai-voice-assistant","deepgram","gemini-pro-vision","gmail","google-calendar","google-contacts","groq","litellm","llama3","voice-assistant"],"created_at":"2024-11-22T06:08:33.864Z","updated_at":"2025-07-13T02:32:03.722Z","avatar_url":"https://github.com/kaymen99.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# AI Voice Assistant: Your Intelligent Conversational Companion\n\n**Transform your digital interactions with your own AI Voice Assistant🎙️🤖**\n\nThis project is an advanced AI Voice Assistant that integrates Text-to-Speech (TTS) and Speech-to-Text (STT) capabilities, allowing users to communicate directly with the agent and receive vocal responses. The assistant can utilize various tools to fulfill user requests, including managing calendars, contacts, emails, and performing web searches.\n\n## Features\n\n- **Speech-to-Text (STT)**: Convert spoken language into written text.\n\n- **Text-to-Speech (TTS)**: Generate vocal responses from text input.\n\n- **Vocal Interaction**: Engage in natural conversations with the AI assistant.\n\n- **Tool Integration**: Utilize built-in tools for calendar management, contact handling, email composition, web searching, and personal knowledge base access.\n\n### Available Tools\n\n- **CalendarTool**: Book events on Google Calendar with event name, date/time, and optional description.\n\n- **AddContactTool**: Add new contacts to Google Contacts with name, phone number, and optional email address.\n\n- **FetchContactTool**: Retrieve contact information from Google Contacts by searching with the contact's name.\n\n- **EmailingTool**: Send emails via Gmail by providing recipient name, subject, and body content.\n\n- **SearchWebTool**: Perform web searches to gather up-to-date information.\n\n- **KnowledgeBaseTool**: Access the user's personal notes and saved information from your custom knowledge base (all the documents included in the `/files` folder)\n\n## How to Run\n\n### Prerequisites\n\n- Python 3.9+\n\n- Google API credentials (for Calendar, Contacts, and Gmail access)\n\n- Tavily API key (for web search)\n\n- Groq API key (for Llama3)\n\n- Google Gemini API key (for using the Gemini model)\n\n- Deepgram API key (for voice processing)\n\n- Necessary Python libraries (listed in `requirements.txt`)\n\n### Setup\n\n1. **Clone the repository:**\n\n```sh\ngit clone https://github.com/yourusername/AI-Voice-assistant.git\ncd AI-Voice-assistant\n```\n\n2. **Create and activate a virtual environment:**\n\n```sh\npython -m venv venv\nsource venv/bin/activate # On Windows use `venv\\Scripts\\activate`\n```\n\n3. **Install the required packages:**\n\n```sh\npip install -r requirements.txt\n```\n\n4. **Set up environment variables:**\n\nCreate a `.env` file in the root directory of the project and add your API keys:\n\n```env\nGOOGLE_API_KEY=your_google_api_key\nDEEPGRAM_API_KEY=your_deepgram_api_key\nTAVILY_API_KEY=your_tavily_api_key\nGEMINI_API_KEY=your_gemini_api_key\nGROQ_API_KEY=your_groq_api_key\n```\n\n5. **Configure Google API credentials:**\n\nFollow Google's documentation to set up credentials for Calendar, Contacts, and Gmail APIs. Save the credentials file in a secure location and update the path in the configuration file.\n\n### Running the Application\n\n1. **Start a conversation with the assistant:**\n\n```sh\npython main.py\n```\n\nThe assistant is programmed to stop the conversation when the user says \"goodbye\".\n\n## Usage Examples\n\n- \"Schedule a meeting with John for tomorrow at 2 PM.\"\n- \"Add a new contact: Jane Doe, phone number 555-1234.\"\n- \"What's Mary's email address?\"\n- \"Send an email to Bob with the subject 'Project Update'.\"\n- \"Search the web for recent news about artificial intelligence.\"\n- \"What was the recipe I saved last week for chocolate chip cookies?\"\n\n## Contributing\n\nContributions are welcome! Please open an issue or submit a pull request for any changes.\n\n## Contact\n\nIf you have any questions or suggestions, feel free to contact me at `aymenMir1001@gmail.com`.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkaymen99%2Fai-voice-assistant","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkaymen99%2Fai-voice-assistant","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkaymen99%2Fai-voice-assistant/lists"}