Complete toolkit for analyzing Logic Pro projects (.logicx) with advanced binary format reverse engineering.
logicx-analyzer/
βββ scripts/ # Production analysis tools
β βββ logic_project_analyzer_enhanced.py # β Main analyzer (use this!)
β βββ binary_format_analyzer.py # Low-level binary structure analysis
β βββ chunk_structure_analyzer.py # File structure mapping
β βββ extract_plugin_data.py # Plugin/preset extraction
β βββ extract_track_names.py # Standalone track name extractor
β βββ hex_dump_analyzer.py # Hex dump investigation
β βββ logic_project_analyzer.py # Original basic analyzer
β βββ experimental/ # Archived research scripts
β βββ README.md # See experimental/README.md
βββ docs/ # Complete documentation
β βββ BINARY_FORMAT_FINDINGS.md # Technical format specification
β βββ MULTI_FORMAT_OUTPUT.md # Output format examples
β βββ QUICK_REFERENCE.md # Command quick reference
β βββ README_BINARY_ANALYSIS.md # Binary analysis guide
β βββ RESEARCH_SUMMARY.md # Complete research findings
βββ CLAUDE.md # AI assistant context
βββ CONTRIBUTING.md # Contribution guidelines
βββ LICENSE.md # GPL 2.0 license
βββ README.md # This file
cd "/path/to/your/logic/projects"
python3 "/path/to/logicx-analyzer/scripts/logic_project_analyzer_enhanced.py"- Comprehensive markdown report with:
- Musical attributes (BPM, key, time signature)
- Binary structure analysis
- Plugin usage and presets
- Session Players configurations
- Track and region names
- Audio resource counts
- Alchemy library references
- β Tempo (BPM)
- β Key signature
- β Time signature
- β Track count
- β Sample rate
- β Audio file lists
- β Logic Pro version
- β Plugins detected (Alchemy, Sampler, Retro Synth, etc.)
- β
Session Players presets with full parameters
- Preset names ("Sweet Memories", "Night Flight", etc.)
- Character types (Electric Bass, Acoustic Piano, Drummer)
- All parameters (intensity, dynamics, humanize, variation)
- β
Binary structure
- Chunk counts (Track, MIDI, Audio Region, etc.)
- File complexity metrics
- β
Alchemy synthesizer data
- Library references (oscillators, LFOs, formants)
- Synthesis complexity
- β Track names (partial - generic names work)
- β Region names
- β Tempo candidates from binary data
The complete analyzer with all features.
python3 scripts/logic_project_analyzer_enhanced.pyFeatures:
- Complete metadata extraction
- Advanced binary format parsing
- Plugin and preset detection
- Session Players analysis
- Binary structure mapping
- Comprehensive reports
Output:
logic_projects_advanced_YYYYMMDD_HHMMSS.md
Use Cases:
- Full project analysis
- Plugin usage tracking
- Session Players preset documentation
- Project complexity assessment
- Binary format research
Original basic analyzer (metadata only).
python3 scripts/logic_project_analyzer.pyFeatures:
- MetaData.plist parsing
- Basic statistics
- Simple reports
Output:
logic_projects_report_YYYYMMDD_HHMMSS.md
Use Cases:
- Quick metadata check
- When binary analysis isn't needed
- Baseline compatibility testing
Standalone track name extractor.
python3 scripts/extract_track_names.pyFeatures:
- Extracts track names from ProjectData
- Generates simple report
Output:
track_names_report.md
Use Cases:
- Quick track name check
- Testing track name extraction
- Minimal analysis needed
Located in scripts/ - these are advanced tools for format research.
Deep binary structure analysis.
python3 "scripts/binary_format_analyzer.py" "path/to/ProjectData"Capabilities:
- Finds all magic markers (karT, gRuA, qeSM, etc.)
- Extracts strings with multiple methods
- Identifies numeric patterns
- Analyzes data structures
Output:
binary_analysis_*.txt
Complete file structure mapping.
python3 "scripts/chunk_structure_analyzer.py" "path/to/ProjectData"Capabilities:
- Maps all chunks in file
- Counts chunk types
- Extracts metadata
- Finds track name candidates
Output:
chunk_structure_*.txt
Plugin and preset extraction.
python3 "scripts/extract_plugin_data.py" "path/to/ProjectData"Capabilities:
- Extracts JSON presets
- Identifies plugins
- Finds Alchemy references
- Analyzes audio file paths
Output:
plugin_data_*.txtplugin_data_*.json
Hex-level investigation.
python3 "scripts/hex_dump_analyzer.py" "path/to/ProjectData"Capabilities:
- Creates annotated hex dumps
- Analyzes marker contexts
- Multiple string extraction attempts
- Numeric data interpretation
Output:
hex_analysis_karT_*.txt(Track markers)hex_analysis_gRuA_*.txt(Audio regions)hex_analysis_tSnI_*.txt(Instruments)hex_analysis_LFUA_*.txt(Audio files)
Complete guide to binary format analysis.
Contents:
- Binary format overview
- Tool usage examples
- Data extraction capabilities
- Format specification
- Quick reference
Complete reverse engineering findings.
Contents:
- Executive summary
- Key discoveries
- Data types decoded
- Chunk specifications
- Session Players parameters
- Next research steps
Technical format specification.
Contents:
- File structure
- Magic markers
- Data encoding methods
- String formats
- Numeric types
- Plugin data structures
Recent enhancement details.
Contents:
- Version 2.0 changes
- New features added
- Test results
- Before/after comparisons
- Performance metrics
Total Projects: 39
Total Tracks: 588
Track Names Extracted: 394
Audio Regions Extracted: 1,066
Plugins Detected: 604
Presets Found: 642
Average Tempo: 99.74 BPM
| Plugin | Projects |
|--------------------|----------|
| Sampler | 11 |
| Q-Sampler | 10 |
| Retro Synth | 9 |
| Alchemy | 7 |
| Character | Usage |
|----------------------------------|-------|
| Electric Bass - Modern R&B | 183 |
| Acoustic Piano - Strummed | 120 |
| Keyboard - Supporting Pad | 66 |
| Acoustic Drummer - Neo Soul | 63 |
### Example Project
**Musical Attributes:**
- Tempo: 120.0 BPM
- Key: C minor
- Time Signature: 4/4
- Tracks: 15
**Binary Structure:**
- Total Chunks: 801
- Track: 320
- MIDISequence: 169
- EventSequence: 169
- AudioRegion: 38
**Session Players Presets:**
*Electric Bass - Modern R&B:*
- **Steady Rolling** (Type_ElectricBassV2)
- intensity: 79, dynamics: 100, riffiness: 3
- Track plugin usage across projects
- Identify most-used Session Players presets
- Analyze musical patterns (key, tempo, time signatures)
- Document project complexity
- Archive project metadata
- Reverse engineer Logic Pro format
- Document binary structures
- Extract embedded configurations
- Study plugin architectures
- Develop third-party tools
- Inventory audio resources
- Track sample usage
- Document project settings
- Generate project reports
- Analyze workflow patterns
- Python: 3.7 or higher
- Dependencies: None (standard library only)
- Platform: macOS (tested on Sonoma 14.x)
- Logic Pro: 10.x - 11.x
- Chunk-based structure (similar to IFF/RIFF)
- Reversed FourCC markers (e.g.,
karT= "Trak" backwards) - Mixed endianness (primarily Big-Endian)
- Multiple string encoding methods
- JSON-embedded configurations
Project.logicx/
βββ Alternatives/000/
β βββ MetaData.plist # Metadata (analyzed)
β βββ ProjectData # Binary data (analyzed)
βββ Resources/
β βββ ProjectInformation.plist # Version info
βββ Media/ # Audio files
- Typical project (2-3 MB): 1-2 seconds
- Large project (10+ MB): 5-10 seconds
- Memory usage: 100-200 MB
- β Advanced binary format parsing
- β Plugin detection and analysis
- β Session Players preset extraction
- β Binary structure mapping
- β Alchemy library reference extraction
- β Tempo extraction from binary data
- β Enhanced reporting with 6 new sections
- β Basic metadata extraction
- β Track name extraction (partial)
- β Audio resource counting
- β Musical attribute analysis
- β CSV export
If you discover new patterns or decode additional chunks:
- Document findings in markdown
- Add test cases to analyzers
- Update RESEARCH_SUMMARY.md
- Submit a pull request
See CONTRIBUTING.md for detailed contribution guidelines.
This project is licensed under the GNU General Public License v2.0 - see the LICENSE.md file for details.
Educational/Research Use Only
This research is for educational purposes and personal project analysis. The Logic Pro file format is proprietary to Apple Inc. This reverse engineering is conducted for interoperability and archival purposes only.
No Warranty: Tools provided as-is. Always backup projects before analysis.
Not Affiliated: Not affiliated with or endorsed by Apple Inc.
For issues or questions:
- Check docs/ folder
- Refer to docs/RESEARCH_SUMMARY.md for technical details
- Main Analyzer: scripts/logic_project_analyzer_enhanced.py
- Complete Guide: docs/README_BINARY_ANALYSIS.md
- Research Findings: docs/RESEARCH_SUMMARY.md
- Format Spec: docs/BINARY_FORMAT_FINDINGS.md
Last Updated: January 2, 2026 Version: 2.0 (Advanced Binary Analysis) Status: β Production Ready