{"id":26236780,"url":"https://github.com/oldhero5/spectrosense","last_synced_at":"2026-02-04T08:04:24.356Z","repository":{"id":267853354,"uuid":"894432624","full_name":"oldhero5/spectrosense","owner":"oldhero5","description":"SpectroSense is an open-source RF signal analysis platform that combines artificial intelligence with traditional signal processing techniques to automatically identify and classify radio frequency signals from spectrograms. ","archived":false,"fork":false,"pushed_at":"2025-01-09T11:46:50.000Z","size":38,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-13T10:53:07.952Z","etag":null,"topics":["ai","amateur-radio","claude-ai","llm","machine-learning","python","rf-signals","scipy","signal-processing","spectral-analysis","spectrum-monitoring","visualization"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/oldhero5.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-11-26T10:51:36.000Z","updated_at":"2025-02-04T11:34:04.000Z","dependencies_parsed_at":null,"dependency_job_id":"429101a3-568d-4e7a-87e7-bba94eedeba7","html_url":"https://github.com/oldhero5/spectrosense","commit_stats":null,"previous_names":["oldhero5/spectrosense"],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oldhero5%2Fspectrosense","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oldhero5%2Fspectrosense/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oldhero5%2Fspectrosense/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oldhero5%2Fspectrosense/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/oldhero5","download_url":"https://codeload.github.com/oldhero5/spectrosense/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250306601,"owners_count":21408927,"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","amateur-radio","claude-ai","llm","machine-learning","python","rf-signals","scipy","signal-processing","spectral-analysis","spectrum-monitoring","visualization"],"created_at":"2025-03-13T04:18:34.351Z","updated_at":"2026-02-04T08:04:24.315Z","avatar_url":"https://github.com/oldhero5.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# SpectroSense 📡\n\nSpectroSense is an AI-powered RF signal analysis and classification tool that combines advanced signal processing with large language models to automatically identify and classify radio frequency signals from spectrograms.\n\n![SpectroSense Logo](https://raw.githubusercontent.com/oldhero5/spectrosense/main/docs/images/logo.png)\n\n## 🚀 Features\n\n- **Multiple AI Models**: Support for both Claude and Meta's Llama Vision model\n- **Automated Signal Classification**: Leverages AI to identify RF signals in spectrograms\n- **Direct Image Analysis**: Process existing spectrogram images in various formats\n- **Batch Processing**: Process multiple recordings or images efficiently\n- **Detailed Analysis Reports**: Generate comprehensive JSON reports of identified signals\n- **Visualization Tools**: Generate high-quality spectrograms\n- **Extensible Architecture**: Easy to add new signal types and analysis methods\n\n## 🛠️ Installation\n\n```bash\npip install spectrosense\n```\n\nFor development installation:\n```bash\ngit clone https://github.com/oldhero5/spectrosense.git\ncd spectrosense\npip install -e \".[dev]\"\n```\n\n## 🔧 Configuration\n\n1. Copy the example environment file:\n```bash\ncp .env.example .env\n```\n\n2. Edit `.env` with your settings:\n```bash\n# For Claude\nAI_MODEL_TYPE=claude\nANTHROPIC_API_KEY=your_api_key_here\n\n# For Llama\nAI_MODEL_TYPE=llama\nVLLM_SERVER_URL=http://localhost:8000\n```\n\n## 📖 Quick Start\n\n```python\nfrom spectrosense import SpectrogramImageAnalyzer\nfrom spectrosense.ai_integration import ModelType\n\n# Using Claude\nanalyzer = SpectrogramImageAnalyzer(\n    model_type=ModelType.CLAUDE,\n    anthropic_api_key=\"your-api-key\"\n)\n\n# Using Llama\nanalyzer = SpectrogramImageAnalyzer(\n    model_type=ModelType.LLAMA,\n    vllm_server_url=\"http://localhost:8000\"\n)\n\n# Analyze a single image\nresult = analyzer.analyze_spectrogram_image(\"spectrogram.png\")\nprint(result)\n\n# Batch process a directory\nresults = analyzer.batch_analyze_images(\"spectrograms/\")\n```\n\n## 📊 Example Output\n\n```json\n{\n    \"signal_types\": [\"wifi_halow\"],\n    \"confidence\": \"high\",\n    \"features\": [\n        \"2MHz channel bandwidth\",\n        \"Regular packet structure\",\n        \"Center frequency: 919MHz\"\n    ],\n    \"notes\": \"IEEE 802.11ah signal with MCS0 modulation\"\n}\n```\n\n## 🚀 Model Setup\n\n### Claude Setup\n1. Obtain an API key from Anthropic\n2. Set the key in your environment\n\n### Llama Setup\n1. Install vLLM:\n```bash\npip install vllm\n```\n\n2. Start the vLLM server:\n```bash\npython -m vllm.entrypoints.api_server \\\n    --model meta-llama/Llama-3.2-11B-Vision-Instruct \\\n    --port 8000\n```\n\n## 🤝 Contributing\n\nWe welcome contributions! Please see our [Contributing Guidelines](CONTRIBUTING.md) for details.\n\n## 📝 License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## 🎯 Roadmap\n\n- [X] Support for more AI models\n- [ ] Real-time signal processing\n- [ ] Web interface for analysis\n- [ ] GPU acceleration\n- [ ] Batch processing optimization\n- [ ] Custom model training\n\n## 📚 Documentation\n\nFull documentation is available at [spectrosense.readthedocs.io](https://spectrosense.readthedocs.io)\n\n---\nMade with ❤️ by the SpectroSense Team","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foldhero5%2Fspectrosense","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Foldhero5%2Fspectrosense","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foldhero5%2Fspectrosense/lists"}