This document outlines all the new tools, functions, and features added to Bitwave.
- Lossless Compression: ZLIB, LZMA, FLAC-style compression
- Lossy Compression: Opus-style and AAC-style compression
- Compression Analysis: Calculate compression ratios and estimate sizes
Features:
- Multiple compression algorithms
- Configurable compression levels
- Support for both lossless and lossy compression
- Compression ratio analysis
- BPM Detection: Automatic tempo detection using autocorrelation
- Spectral Analysis: Frequency spectrum, magnitude, phase, PSD
- Audio Fingerprinting: Generate unique fingerprints for audio identification
- Key Detection: Detect musical key using chroma features
- Dynamic Range Analysis: RMS, peak levels, dynamic range in dB
- Silence Detection: Identify silent segments in audio
- Loudness Analysis: LUFS (Loudness Units) and LRA (Loudness Range)
Features:
- Real-time analysis capabilities
- Comprehensive spectral metrics
- Audio identification support
- Professional loudness standards
- Multi-format Support: Convert to/from WAV, FLAC, OGG, AIFF, AU, RAW
- Batch Conversion: Process entire directories
- Compression Options: Choose compression when converting to Bitwave
- Format Detection: Automatic format detection
Supported Formats:
- Input: WAV, FLAC, OGG, AIFF, AU, RAW, and all Bitwave variants
- Output: All above formats plus MP3 (via soundfile)
- Reverb: Room simulation with configurable size and damping
- Delay/Echo: Multiple delay lines with feedback
- Distortion: Overdrive and distortion effects
- Chorus: Modulation-based chorus effect
- Filters: Lowpass, highpass, bandpass, bandstop filters
- Compressor: Dynamic range compression with attack/release
- Parametric EQ: Multi-band equalization
- Normalization: Peak normalization
- Fade In/Out: Smooth fade transitions
Features:
- Professional-quality effects
- Real-time processing capable
- Configurable parameters
- Chainable effects
- Directory Processing: Process all files in a directory
- Parallel Processing: Multi-threaded batch operations
- Batch Conversion: Convert entire directories
- Batch Analysis: Analyze multiple files
- Batch Effects: Apply effects to multiple files
- Batch Normalization: Normalize entire collections
Features:
- Thread-safe parallel processing
- Progress tracking
- Error handling per file
- Configurable worker threads
- Extended Metadata: Title, artist, album, genre, year, etc.
- Metadata Search: Search files by metadata criteria
- CSV Export: Export metadata to CSV format
- Batch Updates: Update metadata for multiple files
- Sidecar Files: Store extended metadata in separate files
Metadata Fields:
- Basic: Title, Artist, Album, Genre, Year
- Advanced: Composer, Producer, Copyright, Comments
- Audio: BPM, Key, Tags
- Custom: User-defined fields
- SNR Calculation: Signal-to-Noise Ratio analysis
- THD Analysis: Total Harmonic Distortion measurement
- Frequency Response: Analyze frequency characteristics
- Clipping Detection: Identify clipped samples
- Phase Coherence: Measure channel phase alignment
- Comprehensive Reports: Full quality analysis reports
Metrics:
- SNR in dB
- THD percentage
- Frequency flatness
- Clipping regions
- Phase coherence scores
- Tempo Matching: Time-stretch without pitch change
- Pitch Shifting: Change pitch without tempo change
- Audio Morphing: Blend between two audio signals
- Spatial Audio: Create 3D positioned audio (HRTF simulation)
- Ambisonic Encoding: First-order B-format Ambisonic encoding
- Audio Reversal: Reverse playback
- Echo Chains: Multiple echo effects
- Granular Synthesis: Granular synthesis effects
- Beat Slicing: Slice audio based on beat patterns
Features:
- Advanced audio manipulation
- Spatial audio support
- Creative effects
- Professional tools
- Audio Formatting: Mono/stereo conversion
- Resampling: Sample rate conversion
- Audio Mixing: Mix multiple tracks
- Channel Splitting: Split stereo to mono channels
- File Information: Get file metadata
- Duration Formatting: Format time strings
- Unit Conversion: dB/linear conversions
- Level Calculation: RMS and peak calculations
bitwave info- Enhanced file information with compression and spatial databitwave convert- Full format conversion with compression optionsbitwave analyze- Comprehensive audio analysisbitwave effects- Apply audio effects via command linebitwave batch- Batch process multiple filesbitwave metadata- Manage file metadatabitwave quality- Analyze audio quality metricsbitwave unique- Use unique audio processing tools
- JSON output support
- Multiple analysis options
- Batch processing
- Effect chaining
- Metadata management
- Compression Support: Read/write compressed audio data
- Spatial Data: Full spatial audio data support
- Enhanced Metadata: Extended metadata support
- Better Error Handling: Improved error messages
from bitwave import BitwaveFile, CompressionType
bw_file = BitwaveFile("output.bwx")
bw_file.write(audio_data, sample_rate=44100, compression=CompressionType.LZMA)from bitwave import AudioAnalyzer
bpm = AudioAnalyzer.detect_bpm(audio_data, sample_rate=44100)
fingerprint = AudioAnalyzer.audio_fingerprint(audio_data, sample_rate=44100)from bitwave import AudioEffects
reverb = AudioEffects.apply_reverb(audio_data, sample_rate=44100, room_size=0.7)
distorted = AudioEffects.apply_distortion(audio_data, drive=0.8)from bitwave import UniqueTools
# Tempo matching
matched = UniqueTools.tempo_match(audio_data, source_bpm=120, target_bpm=140, sample_rate=44100)
# Spatial audio
spatial = UniqueTools.create_spatial_position(audio_data, x=0.5, y=0.3, z=0.1, sample_rate=44100)from bitwave import BatchProcessor
# Convert entire directory
results = BatchProcessor.batch_convert("input_dir", "output_dir", output_format="bwx")
# Analyze all files
analysis = BatchProcessor.batch_analyze("audio_dir", output_file="analysis.json")- Parallel Processing: Multi-threaded batch operations
- Efficient Compression: Fast compression algorithms
- Optimized Analysis: Efficient FFT and signal processing
- Memory Efficient: Streaming-capable design
New dependencies added:
scipy>=1.7.0- Scientific computing and signal processing
All existing dependencies maintained for backward compatibility.
Bitwave now includes:
- ✅ Compression support (lossless and lossy)
- ✅ Comprehensive audio analysis tools
- ✅ Format conversion capabilities
- ✅ Professional audio effects
- ✅ Batch processing utilities
- ✅ Metadata management
- ✅ Quality analysis tools
- ✅ Unique audio processing features
- ✅ Enhanced CLI with new commands
- ✅ Utility functions for common tasks
Total new modules: 8 Total new functions: 50+ New CLI commands: 8