Professional audio processing tool with enhanced GUI interface for sermon, podcast, and broadcast audio.
- Peak Control & Hard Limiting: Advanced peak detection before normalization
- Intelligent Volume Boost: LUFS-based volume optimization
- Enhanced Silence Processing: Audacity-style truncate silence with sentence break detection
- Multi-threaded Processing: Fast parallel processing for large files
- Parametric EQ: 6-band equalizer with filters
- Noise Reduction: AI-powered noise removal
- Dynamic Compression: Professional compression with parallel processing
The audio processing follows this exact order:
-
Channel Processing & Conversion
- Stereo channel analysis
- Mono to stereo conversion
- Channel merging (if needed)
-
Peak Detection & Analysis
- Analyze peak levels
- Calculate RMS and dynamic range
- Identify high peaks
-
Pre-Normalization Hard Limiting
- Apply hard limiter if peaks detected
- Prevent clipping before normalization
-
Normalization
- Normalize to optimal level
- Consistent volume baseline
-
Intelligent Volume Boost (Optional)
- LUFS-based loudness targeting
- Adaptive gain calculation
- Dynamic range preservation
-
Dynamic Range Compression (Optional)
- Multi-threaded processing
- Parallel compression support
-
Noise Reduction (Optional)
- AI-powered spectral processing
- Speech preservation mode
-
Silence Processing (Optional)
- Leading silence (disabled by default)
- Trailing silence (enabled by default)
- Internal silence compression
- Sentence break detection
-
Parametric EQ (Optional)
- Multi-band equalization
- High/low pass filters
-
Final Safety Limiter (Optional)
- Brick-wall limiting
- Prevents any clipping
-
Pre-Export Volume Boost (Optional)
- Final volume adjustment
- Safety peak check
-
Export
- Format conversion
- Bitrate/sample rate adjustment
- Python 3.7 or newer
- FFmpeg installed and in PATH
pip install pydub numpy scipy noisereduce psutilWindows
Install Python dependencies
pip install pydub numpy scipy noisereduce psutilDownload FFmpeg from https://ffmpeg.org/
macOS Install dependencies
pip3 install pydub numpy scipy noisereduce psutilbrew install ffmpegsudo apt-get update
sudo apt-get install python3-tksudo apt-get install ffmpegpip3 install pydub numpy scipy noisereduce psutilsudo dnf install python3-tkinter ffmpeg
pip3 install pydub numpy scipy noisereduce psutilpython --version # or python3 --versionffmpeg -versionpython -m tkinter # or python3 -m tkinterpython audio_processor_gui.pypython3 audio_processor_gui.pypython audio_processor_pro-v5.8.py input.mp3 output.mp3python audio_processor_pro-v5.8.py input.mp3 output.mp3 --preset sermon_ultrapython audio_processor_pro-v5.8.py "*.mp3" --batch --preset podcast_proPreset management Real-time processing logs Batch processing support
Basic Usage
# Process with default sermon preset
python audio_processor_pro-v5.8.py input.mp3 output.mp3
# Use specific preset
python audio_processor_pro-v5.8.py input.mp3 output.mp3 --preset podcast_pro
# Add gain boost
python audio_processor_pro-v5.8.py input.mp3 output.mp3 --preset sermon_ultra --gain 6.0Silence Processing Control
# Default: Trailing silence only (safe)
python audio_processor_pro-v5.8.py input.mp3 output.mp3
# Disable leading silence trimming (recommended for recordings)
python audio_processor_pro-v5.8.py input.mp3 output.mp3 --no-trim-leading
# Disable trailing silence trimming
python audio_processor_pro-v5.8.py input.mp3 output.mp3 --no-trim-trailingpython audio_processor_pro-v5.8.py input.mp3 output.mp3 --no-silence-processing Batch Processing
# Process all MP3 files in current directory
python audio_processor_pro-v5.8.py "*.mp3" --batch --preset broadcast_pro --overwrite
# Process specific folder
python audio_processor_pro-v5.8.py "/path/to/audio/files/*.mp3" --batchAdvanced Options
# Custom output format and quality
python audio_processor_pro-v5.8.py input.wav output.mp3 \
--format mp3 \
--bitrate 320k \
--sample-rate 48000
# Fast processing mode
python audio_processor_pro-v5.8.py input.mp3 output.mp3 \
--speed-preset fast \
--threads 8
# Disable specific modules
python audio_processor_pro-v5.8.py input.mp3 output.mp3 \
--no-compression \
--no-noise-reduction \
--disable-eqpython audio_processor_pro-v5.8.py input.mp3 --channel-analysis Using Custom Configuration
# Save current settings
python audio_processor_pro-v5.8.py input.mp3 output.mp3 \
--preset sermon_ultra \
--save-config my_config.json
# Load saved settings
python audio_processor_pro-v5.8.py input.mp3 output.mp3 \
--load-config my_config.jsonAvailable Presets sermon_ultra Premium sermon processing with enhanced silence truncation
Aggressive silence removal while preserving speech flow Voice enhancement EQ Strong compression for consistent levels Default: Trailing silence only
broadcast_pro Professional broadcast quality
Moderate processing for natural sound Broadcast-standard loudness levels Balanced EQ
podcast_pro High-quality podcast processing
Voice clarity optimization Consistent loudness Natural dynamics preservation
music_mastering Professional music mastering
Minimal silence processing Transparent dynamics control Wide stereo image
Module Configuration Each module can be configured independently through the GUI or command line: Silence Processing
Leading Silence: Start of audio (disabled by default - may cut important content) Trailing Silence: End of audio (enabled by default) Internal Silence: Within audio (enabled by default) Sentence Break Detection: Smart preservation of natural pauses
Peak Control
Pre-normalization peak limiting Prevents digital clipping Configurable threshold and release
Volume Boost
LUFS-based loudness targeting Adaptive gain calculation Dynamic range preservation
Compression
Multi-threaded processing Parallel compression support Configurable threshold, ratio, attack, release
Noise Reduction
AI-powered spectral processing Speech preservation mode Configurable strength
Common Workflows Sermon Processing
python audio_processor_pro-v5.8.py sermon.mp3 sermon_processed.mp3 \
--preset sermon_ultra \
--gain 8.0 \
--no-trim-leadingPodcast Episode
python audio_processor_pro-v5.8.py podcast.wav podcast.mp3 \
--preset podcast_pro \
--format mp3 \
--bitrate 192k \
--no-trim-leadingBatch Process Recordings
python audio_processor_pro-v5.8.py "recordings/*.wav" \
--batch \
--preset broadcast_pro \
--format mp3 \
--overwriteMusic File
python audio_processor_pro-v5.8.py song.wav song_mastered.flac \
--preset music_mastering \
--format flac \
--no-silence-processingTroubleshooting FFmpeg Not Found
Windows: Download from https://ffmpeg.org/ and add to PATH
Low Volume Output
Increase gain: --gain 6.0 Enable volume boost in GUI Check peak control settings
Audio Quality Issues
Use higher bitrate: --bitrate 320k Use lossless format: --format flac Reduce noise reduction strength Disable fast mode
Silence Cut Too Much
Disable leading silence: --no-trim-leading Increase silence threshold in GUI (e.g., -30 dB → -40 dB) Increase minimum silence duration
License MIT License - See LICENSE file for details. Contributing Contributions are welcome! Please feel free to submit a Pull Request.



