A modern, feature-rich audio analysis and transcription application built with Streamlit. This application provides powerful audio processing capabilities including enhancement, transcription, and AI-powered analysis.
- Audio Analysis: Visualize waveforms and spectrograms
- Audio Enhancement: Noise reduction, normalization, and EQ enhancement
- Transcription: High-quality speech-to-text using Whisper
- AI Enhancement: Improve transcription quality with Claude
- Interactive Chat: AI assistant for audio-related queries
- Multiple Export Formats: TXT, JSON, SRT
- Session Management: Save and restore your work
- Clone the repository:
git clone <repository-url>
cd ai-audio- Create a virtual environment:
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate- Install dependencies:
pip install -r requirements.txt- Set up environment variables:
cp env.example .env
# Edit .env and add your Anthropic API key- Start the application:
streamlit run main.py-
Open your browser to http://localhost:8501
-
Upload an audio file using the sidebar
-
Explore the different tabs:
- Audio Analysis: View waveform and spectrogram
- Enhancement: Apply audio improvements
- Transcription: Convert speech to text
- AI Assistant: Chat about your audio
audio_analyzer/
├── config/ # Configuration and settings
├── core/ # Core processing modules
├── services/ # External service integrations
├── ui/ # UI components and state management
├── utils/ # Utility functions
├── main.py # Main application entry point
└── requirements.txt # Project dependencies
Key settings can be adjusted in config/settings.py:
MAX_AUDIO_LENGTH: Maximum audio duration (seconds)CHUNK_SIZE: Processing chunk size (seconds)DEFAULT_SAMPLE_RATE: Default audio sample rateMAX_FILE_SIZE_MB: Maximum upload file size
The application supports a customizable enhancement pipeline. You can add or remove processing stages:
from core.enhancement_pipeline import EnhancementPipeline, PipelineStage
pipeline = EnhancementPipeline()
pipeline.add_stage(PipelineStage(
name="Custom Filter",
function=my_custom_filter,
params={'param1': value}
))Save your work for later:
- Use the session manager to save current state
- Load previous sessions from the sidebar
- Export session data for backup
This application requires an Anthropic API key for AI features. Get your key from: https://console.anthropic.com/
- Memory Errors: Reduce
MAX_AUDIO_LENGTHin settings - Slow Processing: Enable GPU in settings if available
- API Errors: Check your Anthropic API key is valid
Enable debug mode in .env:
DEBUG=True
Contributions are welcome! Please:
- Fork the repository
- Create a feature branch
- Submit a pull request
This project is licensed under the MIT License.