Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Advanced forensic audio processing tool for whisper and vocal enhancement with minimal artifacts

License

Notifications You must be signed in to change notification settings

goharderr/forensic-audio-app

Repository files navigation

πŸ” Forensic Audio Processing

Advanced audio processing tool specifically designed for forensic analysis and enhancement of quiet human vocalizations (whispers, breathing, moans, grunts) in noisy environments.

Docker Python FastAPI

🎯 Features

  • Specialized Presets: Clean Whisper, TV Suppression, Breath Detection, Vocal Isolation
  • Minimal Artifacts: Optimized to reduce white noise and processing artifacts
  • Real FFmpeg Processing: Professional-grade audio enhancement
  • Docker Ready: Easy deployment on Vast.ai, AWS, or local machines
  • Web Interface: Simple, intuitive browser-based interface
  • Large File Support: Handles 10+ minute audio files efficiently (tested with 55MB files)
  • Volume Boost: Up to 200% volume amplification for quiet sounds

πŸš€ Quick Start

One-Command Deployment (Vast.ai)

curl -sSL https://raw.githubusercontent.com/goharderr/forensic-audio-app/main/deploy_vast.sh | bash

Local Docker Setup

git clone https://github.com/goharderr/forensic-audio-app.git
cd forensic-audio-app
docker-compose up -d

Access at: http://localhost:8000

🎚️ Audio Processing Presets

✨ Clean Whisper (Recommended)

  • Best for: Quiet speech, whispers with minimal artifacts
  • Processing: Very gentle enhancement
  • Perfect for: Initial testing and clean audio

πŸ”§ Gentle Enhancement

  • Best for: Slight audio improvement without artifacts
  • Processing: Minimal noise reduction and EQ
  • Perfect for: Subtle enhancement

πŸ‘€ Whisper Mode

  • Best for: Standard whisper enhancement
  • Frequency: 30-3500 Hz
  • Processing: Moderate enhancement

πŸ“Ί TV Suppression

  • Best for: Audio with TV background noise
  • Processing: Targets TV frequencies while preserving voice
  • Perfect for: Forensic scenarios with background TV

πŸ’¨ Breath Detection

  • Best for: Breathing, sighs, respiratory sounds
  • Frequency: 100-2000 Hz
  • Processing: Optimized for breath frequency range

🎡 Vocal Isolation

  • Best for: Moans, grunts, vocal sounds
  • Frequency: 80-8000 Hz
  • Processing: Balanced vocal enhancement

πŸ“Š Performance

  • Small files (< 10MB): < 30 seconds
  • Medium files (10-50MB): 30-60 seconds
  • Large files (50MB+): 1-3 minutes
  • Memory usage: ~500MB-1GB depending on file size
  • Tested with: 55MB, 10-minute audio files

πŸ”§ System Requirements

  • Docker & Docker Compose
  • 2GB+ RAM (4GB recommended for large files)
  • 1GB+ storage space
  • Modern browser (Chrome, Firefox, Safari, Edge)

πŸ—οΈ Architecture

  • Backend: FastAPI with Python 3.11
  • Audio Processing: FFmpeg with custom filter chains
  • Frontend: Modern HTML5 with JavaScript
  • Deployment: Docker containers
  • Platform: Cross-platform (Windows, Linux, macOS)

πŸ› οΈ Installation Methods

Method 1: Docker (Recommended)

git clone https://github.com/goharderr/forensic-audio-app.git
cd forensic-audio-app
docker-compose up -d

Method 2: Vast.ai Deployment

  1. Rent a Vast.ai instance
  2. Run the one-command deployment script
  3. Access via your Vast.ai external IP

Method 3: Local Development

pip install fastapi uvicorn python-multipart
python audio_server.py

🌐 API Usage

Process Audio File

curl -X POST \
 -F "file=@input.wav" \
 -F "preset=clean_whisper" \
 http://localhost:8000/process \
 -o output.wav

Available Endpoints

  • GET / - Web interface
  • POST /process - Process audio file
  • GET /health - Health check
  • GET /debug - Debug information

πŸ“– Use Cases

Forensic Analysis

  • Whisper detection in recorded conversations
  • Background noise suppression (TV, traffic, etc.)
  • Breathing pattern analysis
  • Voice isolation in multi-speaker recordings

Audio Enhancement

  • Quiet conversation clarification
  • Old recording restoration
  • Interview audio cleanup
  • Surveillance audio improvement

πŸ”’ Security & Legal

⚠️ Important: This tool is designed for legitimate forensic analysis and audio enhancement purposes. Users must:

  • Have proper authorization before processing any audio content
  • Comply with local laws regarding audio recording and analysis
  • Respect privacy and consent requirements
  • Use only for legal and ethical purposes

🀝 Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Make your changes
  4. Add tests if applicable
  5. Commit your changes (git commit -m 'Add amazing feature')
  6. Push to the branch (git push origin feature/amazing-feature)
  7. Open a Pull Request

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ†˜ Support

πŸ”„ Changelog

v2.0.0 (Latest)

  • ✨ Added Clean Whisper and Gentle Enhancement presets
  • πŸ› Fixed white noise and artifact issues
  • πŸ”§ Optimized FFmpeg filter chains
  • πŸ“ˆ Improved processing performance
  • πŸ›‘οΈ Enhanced error handling

v1.0.0

  • πŸŽ‰ Initial release
  • 🎚️ Basic preset system
  • 🐳 Docker deployment support

πŸ™ Acknowledgments

  • FFmpeg community for the excellent audio processing library
  • FastAPI team for the robust web framework
  • Docker for containerization technology
  • Vast.ai for accessible GPU/CPU rental platform

πŸ“Š Project Stats

GitHub stars GitHub forks GitHub issues GitHub license


Made with ❀️ for the forensic audio analysis community

About

Advanced forensic audio processing tool for whisper and vocal enhancement with minimal artifacts

Resources

License

Stars

Watchers

Forks

Packages

No packages published

AltStyle γ«γ‚ˆγ£γ¦ε€‰ζ›γ•γ‚ŒγŸγƒšγƒΌγ‚Έ (->γ‚ͺγƒͺγ‚ΈγƒŠγƒ«) /