shravan33/audio-nlp-processing-pipeline
Audio NLP Processing Pipeline
An end-to-end audio processing system that performs speech transcription and abstractive summarization using transformer-based models. The application ingests audio input from local files or YouTube sources and produces structured textual summaries through a modular NLP pipeline.
Overview
This project implements a multi-stage processing workflow designed to simulate real-world machine learning inference pipelines. The system converts raw audio into meaningful summaries using speech recognition and natural language processing components.
Primary capabilities:
- Audio ingestion from multiple sources
- Automatic speech-to-text transcription
- Scalable processing of long transcripts via chunking
- Transformer-based abstractive summarization
- Interactive interface built with Streamlit
Architecture
Input Layer ├── Local audio upload └── YouTube ingestion (yt-dlp)
Processing Layer ├── Speech transcription (Whisper) ├── Text segmentation (chunking) └── Transformer summarization (T5)
Presentation Layer └── Streamlit application
Core Components
Audio Ingestion
Handles multiple audio sources:
- Direct file uploads
- YouTube audio extraction
Ensures standardized input format for downstream processing.
Speech Recognition
Uses OpenAI Whisper for transcription:
- Robust handling of long-form speech
- Automatic conversion of audio signals into text data.
Text Processing
Implements chunk-based segmentation to:
- Prevent context length overflow in transformer models
- Enable processing of long transcripts
- Maintain semantic consistency across segments.
Summarization
Uses HuggingFace Transformers with a T5 model:
- Text-to-text generation paradigm
- Deterministic summarization pipeline
- Multi-stage summarization for large inputs.
Technology Stack
- Python
- Streamlit
- OpenAI Whisper
- HuggingFace Transformers
- PyTorch
- yt-dlp
Local Setup
Clone repository:
git clone https://github.com/shravan606756/audio-nlp-processing-pipeline.git cd audio-nlp-processing-pipeline
Install dependencies: pip install -r requirements.txt
Run application:
Deployment
Configured for deployment using HuggingFace Spaces with Docker runtime.
Future Improvements
- Model caching and lazy loading
- Streaming transcription pipeline
- GPU optimization
- API-based microservice architecture
