{"id":24719120,"url":"https://github.com/aryansk/speech-to-text-converter","last_synced_at":"2026-05-07T13:45:06.695Z","repository":{"id":274137886,"uuid":"922032004","full_name":"aryansk/Speech-to-Text-Converter","owner":"aryansk","description":"This GitHub repository contains a Python Streamlit app that utilizes machine learning to convert speech to text. The app allows users to upload audio files (in WAV or MP3 format) and uses the Speech Recognition library to perform speech recognition and convert the speech into text.","archived":false,"fork":false,"pushed_at":"2025-01-31T19:19:07.000Z","size":10,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-22T11:47:55.897Z","etag":null,"topics":["machine-learning","python","speech-recognition","speech-to-text","streamlit"],"latest_commit_sha":null,"homepage":"https://speech-to-text-converter-gamma.vercel.app","language":"Jupyter Notebook","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/aryansk.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-01-25T06:08:50.000Z","updated_at":"2025-01-31T19:19:10.000Z","dependencies_parsed_at":"2025-01-25T07:18:51.509Z","dependency_job_id":"36e0ba9f-b4aa-46aa-9ee9-e52ab6a36715","html_url":"https://github.com/aryansk/Speech-to-Text-Converter","commit_stats":null,"previous_names":["aryansk/speech-to-text-converter"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/aryansk/Speech-to-Text-Converter","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aryansk%2FSpeech-to-Text-Converter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aryansk%2FSpeech-to-Text-Converter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aryansk%2FSpeech-to-Text-Converter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aryansk%2FSpeech-to-Text-Converter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aryansk","download_url":"https://codeload.github.com/aryansk/Speech-to-Text-Converter/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aryansk%2FSpeech-to-Text-Converter/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263434119,"owners_count":23465903,"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":["machine-learning","python","speech-recognition","speech-to-text","streamlit"],"created_at":"2025-01-27T11:16:49.389Z","updated_at":"2026-05-07T13:45:06.650Z","avatar_url":"https://github.com/aryansk.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Audio Text Transcriber 🎙️📝\n\n![Python](https://img.shields.io/badge/Python-3.7+-blue.svg)\n![Streamlit](https://img.shields.io/badge/Streamlit-1.0+-red.svg)\n![SpeechRecognition](https://img.shields.io/badge/SpeechRecognition-3.8+-green.svg)\n![PyDub](https://img.shields.io/badge/PyDub-0.25+-yellow.svg)\n![License](https://img.shields.io/badge/License-MIT-lightgrey.svg)\n![Maintenance](https://img.shields.io/badge/Maintenance-Active-brightgreen.svg)\n\nA powerful web application built with Streamlit that converts audio files to text using advanced speech recognition technology.\n\n## 📖 Table of Contents\n- [Features](#-features)\n- [Technical Architecture](#-technical-architecture)\n- [Installation \u0026 Setup](#-installation--setup)\n- [Usage Guide](#-usage-guide)\n- [Implementation Details](#-implementation-details)\n- [Performance](#-performance)\n- [Development](#-development)\n- [Contributing](#-contributing)\n- [License](#-license)\n\n## 🌟 Features\n\n### 🎵 Audio Processing\n- **File Format Support**\n  - MP3 file processing\n  - WAV file processing\n  - Automatic format conversion\n  - Multi-channel audio support\n- **Audio Handling**\n  - Sample rate normalization\n  - Audio chunk processing\n  - Noise reduction\n  - Volume normalization\n\n### 🔍 Speech Recognition\n- **Recognition Engine**\n  - Google Speech Recognition integration\n  - Offline fallback capability\n  - Multiple language support\n  - Confidence scoring\n- **Processing Features**\n  - Real-time transcription\n  - Batch processing support\n  - Error handling\n  - Progress tracking\n\n### 💻 User Interface\n- **Interface Elements**\n  - Drag-and-drop file upload\n  - Progress indicators\n  - Error notifications\n  - Results display\n- **Export Options**\n  - Text file export\n  - Copy to clipboard\n  - Download transcription\n  - Format preservation\n\n## 🛠 Technical Architecture\n\n### System Components\n```mermaid\ngraph TD\n    A[Audio Input] --\u003e B[Format Conversion]\n    B --\u003e C[Audio Processing]\n    C --\u003e D[Speech Recognition]\n    D --\u003e E[Text Output]\n    E --\u003e F[Export Options]\n```\n\n### Dependencies\n```python\n# requirements.txt\nstreamlit\u003e=1.0.0\nSpeechRecognition\u003e=3.8.1\npydub\u003e=0.25.1\nnumpy\u003e=1.20.0\npandas\u003e=1.3.0\n```\n\n## 💻 Installation \u0026 Setup\n\n### System Requirements\n- **Minimum Specifications**\n  - Python 3.7+\n  - 4GB RAM\n  - 2GB storage\n- **Recommended Specifications**\n  - Python 3.9+\n  - 8GB RAM\n  - 5GB storage\n  - Stable internet connection\n\n### Quick Start\n```bash\n# Clone repository\ngit clone https://github.com/yourusername/audio-text-transcriber.git\n\n# Navigate to project\ncd audio-text-transcriber\n\n# Create virtual environment\npython -m venv venv\nsource venv/bin/activate  # Linux/Mac\n.\\venv\\Scripts\\activate   # Windows\n\n# Install dependencies\npip install -r requirements.txt\n```\n\n### Configuration\n```python\n# config.py\nCONFIG = {\n    'audio': {\n        'supported_formats': ['mp3', 'wav'],\n        'max_file_size': 50 * 1024 * 1024,  # 50MB\n        'sample_rate': 16000,\n        'chunk_size': 30000\n    },\n    'recognition': {\n        'language': 'en-US',\n        'enable_offline': False,\n        'confidence_threshold': 0.8\n    },\n    'interface': {\n        'theme': 'light',\n        'max_display_length': 1000,\n        'auto_scroll': True\n    }\n}\n```\n\n## 🚀 Usage Guide\n\n### Basic Implementation\n```python\nimport streamlit as st\nfrom audio_transcriber import AudioTranscriber\n\ndef main():\n    st.title(\"Audio Text Transcriber 🎙️📝\")\n    \n    uploaded_file = st.file_uploader(\n        \"Upload your audio file\", \n        type=['mp3', 'wav']\n    )\n    \n    if uploaded_file is not None:\n        transcriber = AudioTranscriber()\n        \n        with st.spinner('Transcribing...'):\n            text = transcriber.process_audio(uploaded_file)\n            \n        st.success('Transcription Complete!')\n        st.text_area(\"Transcribed Text:\", text)\n\nif __name__ == \"__main__\":\n    main()\n```\n\n### Advanced Usage\n```python\nclass AudioTranscriber:\n    def process_audio(self, audio_file):\n        \"\"\"\n        Process audio file and return transcribed text.\n        \n        Args:\n            audio_file: UploadedFile object from Streamlit\n            \n        Returns:\n            str: Transcribed text\n        \"\"\"\n        # Convert audio if needed\n        audio = self._convert_audio(audio_file)\n        \n        # Initialize recognizer\n        recognizer = sr.Recognizer()\n        \n        # Process audio in chunks\n        text = \"\"\n        for chunk in self._get_chunks(audio):\n            try:\n                chunk_text = recognizer.recognize_google(chunk)\n                text += chunk_text + \" \"\n            except sr.UnknownValueError:\n                st.warning(\"Could not understand audio\")\n            except sr.RequestError:\n                st.error(\"API unavailable\")\n                \n        return text.strip()\n```\n\n## ⚡ Performance\n\n### Optimization Techniques\n- Audio chunking\n- Parallel processing\n- Caching mechanisms\n- Memory management\n\n### Benchmarks\n| File Size | Processing Time | Memory Usage |\n|-----------|----------------|--------------|\n| 1MB       | 2s            | 100MB        |\n| 5MB       | 8s            | 250MB        |\n| 10MB      | 15s           | 400MB        |\n| 50MB      | 60s           | 1GB          |\n\n## 👨‍💻 Development\n\n### Project Structure\n```\naudio-text-transcriber/\n├── src/\n│   ├── transcriber.py\n│   ├── audio_processing.py\n│   └── utils.py\n├── app/\n│   ├── main.py\n│   └── components/\n├── tests/\n│   └── test_transcriber.py\n├── config.py\n├── requirements.txt\n└── README.md\n```\n\n### Testing\n```bash\n# Run all tests\npython -m pytest\n\n# Run specific test file\npython -m pytest tests/test_transcriber.py\n\n# Run with coverage\npython -m pytest --cov=src\n```\n\n## 🤝 Contributing\n\n### Development Workflow\n1. Fork repository\n2. Create feature branch\n3. Implement changes\n4. Add tests\n5. Submit pull request\n\n### Code Style Guidelines\n- Follow PEP 8\n- Write docstrings\n- Add type hints\n- Include unit tests\n\n## 📄 License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## 🙏 Acknowledgments\n\n- Google Speech Recognition API\n- Streamlit team\n- PyDub developers\n- Open source community\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faryansk%2Fspeech-to-text-converter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faryansk%2Fspeech-to-text-converter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faryansk%2Fspeech-to-text-converter/lists"}