# Ableton Live Project Structural Report Generated by analyze-ableton.mjs ## Summary Stats - projectFile: /workspaces/aesthetic-computer/system/public/assets/wipppps/zzzZWAP_extracted.xml - blankFile: /workspaces/aesthetic-computer/reference/live-12-blank.xml - parsing: [object Object] - tracks: 15 - clips: 653 - devices: 87 - tempoEvents: 8 - timeSignatureEvents: 0 - notes: 7106 - warpMarkers: 29302 - locators: 29 ## Locators - 0@0 : START - 1@31 : PAUSE - 2@32 : ACT I - 3@44 : PAUSE - 4@48 : ACT I - 5@58 : ACT II - 6@69.5 : PAUSE - 7@73 : ACT II - 8@74.25 : PAUSE - 9@77 : ACT III - 10@85.5 : PAUSE - 11@88 : ACT II - 12@127 : PAUSE - 13@128 : ACT II - 14@140 : PAUSE - 15@144 : ACT II - 16@160 : ACT III - 17@165.5 : PAUSE - 18@169 : ACT III - 19@170.25 : PAUSE - 20@173 : ACT III - 21@181.5 : ACT III - 22@192 : ACT IIII - 23@262.75 : SURPRISE - 24@264 : ACT V - 25@281.25 : PAUSE - 26@283 : ACT V - 27@296 : ACT VI - 28@427 : END ## Tracks (first 10) - [61] GroupTrack clips=0 devices=15 - [89] MidiTrack clips=1 devices=4 - [63] AudioTrack clips=334 devices=12 - [55] MidiTrack clips=15 devices=6 - [60] MidiTrack clips=1 devices=2 - [66] MidiTrack clips=3 devices=8 - [67] MidiTrack clips=3 devices=6 - [52] AudioTrack clips=95 devices=4 - [65] AudioTrack clips=16 devices=4 - [22] MidiTrack clips=61 devices=8 ## Sample Notes (first 40 across clips) - Track 89 t=0 dur=0.25 vel=100 pitch=60 - Track 89 t=0.25 dur=0.25 vel=100 pitch=60 - Track 89 t=1.5 dur=0.25 vel=100 pitch=60 - Track 89 t=2.25 dur=0.25 vel=100 pitch=60 - Track 89 t=3 dur=0.25 vel=100 pitch=60 - Track 89 t=4 dur=0.25 vel=100 pitch=60 - Track 89 t=4.25 dur=0.25 vel=100 pitch=60 - Track 89 t=5.5 dur=0.25 vel=100 pitch=60 - Track 89 t=6.25 dur=0.25 vel=100 pitch=60 - Track 89 t=7 dur=0.25 vel=100 pitch=60 - Track 89 t=8 dur=0.25 vel=100 pitch=60 - Track 89 t=8.25 dur=0.25 vel=100 pitch=60 - Track 89 t=9.5 dur=0.25 vel=100 pitch=60 - Track 89 t=10.25 dur=0.25 vel=100 pitch=60 - Track 89 t=11 dur=0.25 vel=100 pitch=60 - Track 89 t=12 dur=0.25 vel=100 pitch=60 - Track 89 t=12.25 dur=0.25 vel=100 pitch=60 - Track 89 t=13.5 dur=0.25 vel=100 pitch=60 - Track 89 t=14.25 dur=0.25 vel=100 pitch=60 - Track 89 t=15 dur=0.25 vel=100 pitch=60 - Track 89 t=16 dur=0.25 vel=100 pitch=60 - Track 89 t=16.25 dur=0.25 vel=100 pitch=60 - Track 89 t=17.5 dur=0.25 vel=100 pitch=60 - Track 89 t=18.25 dur=0.25 vel=100 pitch=60 - Track 89 t=19 dur=0.25 vel=100 pitch=60 - Track 89 t=20 dur=0.25 vel=100 pitch=60 - Track 89 t=20.25 dur=0.25 vel=100 pitch=60 - Track 89 t=21.5 dur=0.25 vel=100 pitch=60 - Track 89 t=22.25 dur=0.25 vel=100 pitch=60 - Track 89 t=23 dur=0.25 vel=100 pitch=60 - Track 89 t=24 dur=0.25 vel=100 pitch=60 - Track 89 t=24.25 dur=0.25 vel=100 pitch=60 - Track 89 t=25 dur=0.25 vel=100 pitch=60 - Track 89 t=25.25 dur=0.25 vel=100 pitch=60 - Track 89 t=26 dur=0.25 vel=100 pitch=60 - Track 89 t=26.25 dur=0.25 vel=100 pitch=60 - Track 89 t=27 dur=0.25 vel=100 pitch=60 - Track 89 t=27.25 dur=0.25 vel=100 pitch=60 - Track 89 t=28 dur=0.25 vel=100 pitch=60 - Track 89 t=28.75 dur=0.25 vel=100 pitch=60 ## Warp Markers (sample 50) - ClipIdx 1 beat=0 sec=0 - ClipIdx 1 beat=0.03125 sec=0.013111888111888112 - ClipIdx 2 beat=0 sec=0 - ClipIdx 2 beat=0.03125 sec=0.013111888111888112 - ClipIdx 3 beat=0 sec=0 - ClipIdx 3 beat=0.03125 sec=0.013111888111888112 - ClipIdx 4 beat=0 sec=0 - ClipIdx 4 beat=0.03125 sec=0.013111888111888112 - ClipIdx 5 beat=0 sec=0 - ClipIdx 5 beat=0.03125 sec=0.013111888111888112 - ClipIdx 6 beat=0 sec=0 - ClipIdx 6 beat=0.03125 sec=0.013111888111888112 - ClipIdx 7 beat=0 sec=0 - ClipIdx 7 beat=0.03125 sec=0.013111888111888112 - ClipIdx 8 beat=0 sec=0 - ClipIdx 8 beat=0.03125 sec=0.013111888111888112 - ClipIdx 9 beat=0 sec=0 - ClipIdx 9 beat=0.03125 sec=0.013111888111888112 - ClipIdx 10 beat=0 sec=0 - ClipIdx 10 beat=0.03125 sec=0.013111888111888112 - ClipIdx 11 beat=0 sec=0 - ClipIdx 11 beat=0.03125 sec=0.013111888111888112 - ClipIdx 12 beat=0 sec=0 - ClipIdx 12 beat=0.03125 sec=0.013111888111888112 - ClipIdx 13 beat=0 sec=0 - ClipIdx 13 beat=0.03125 sec=0.013111888111888112 - ClipIdx 14 beat=0 sec=0 - ClipIdx 14 beat=0.03125 sec=0.013111888111888112 - ClipIdx 15 beat=0 sec=0 - ClipIdx 15 beat=0.03125 sec=0.013111888111888112 - ClipIdx 16 beat=0 sec=0 - ClipIdx 16 beat=0.03125 sec=0.013111888111888112 - ClipIdx 17 beat=0 sec=0 - ClipIdx 17 beat=0.03125 sec=0.013111888111888112 - ClipIdx 18 beat=0 sec=0 - ClipIdx 18 beat=0.03125 sec=0.013111888111888112 - ClipIdx 19 beat=0 sec=0 - ClipIdx 19 beat=0.03125 sec=0.013111888111888112 - ClipIdx 20 beat=0 sec=0 - ClipIdx 20 beat=0.03125 sec=0.013111888111888112 - ClipIdx 21 beat=0 sec=0 - ClipIdx 21 beat=0.03125 sec=0.013111888111888112 - ClipIdx 22 beat=0 sec=0 - ClipIdx 22 beat=0.03125 sec=0.013111888111888112 - ClipIdx 23 beat=0 sec=0 - ClipIdx 23 beat=0.03125 sec=0.013111888111888112 - ClipIdx 24 beat=0 sec=0 - ClipIdx 24 beat=0.03125 sec=0.013111888111888112 - ClipIdx 25 beat=0 sec=0 - ClipIdx 25 beat=0.03125 sec=0.013111888111888112 ## Top Tag Deltas - WarpMarker: +29302 - LockEnvelope: +9944 - MidiNoteEvent: +7090 - First: +6656 - Last: +6656 - LomId: +6378 - Manual: +5503 - AutomationTarget: +5503 - ParameterName: +4736 - ParameterId: +4736 - ParameterIdFlankBool: +4736 - VisualIndex: +4736 - ParameterValue: +4736 - Min: +4129 - Max: +4129 - MidiControllerRange: +3911 - ModulationTarget: +3845 - PluginFloatParameter: +3328 - LastUserRange: +3328 - LastInternalRange: +3328 - Name: +1453 - PluginEnumParameter: +1408 - LastItemCount: +1408 - Envelopes: +1309 - Annotation: +765 ## Timeline JSON Shape Each timeline entry: ```json { "index": 0, "trackId": "", "name": "Clip Name", "times": { "CurrentStart": 0, "CurrentEnd": 8, "LoopStart": 0, "LoopEnd": 8 }, "noteCount": 12 } ``` ### Clip Object (internal) ```json { "type": "AudioClip|MidiClip", "trackId": "61", "name": "", "times": {}, "notes": [ { "time": 0, "duration": 0.25, "velocity": 100 } ], "rawAttrs": {} } ``` ## Pitch Histogram (top 20) - 60: 7021 - 72: 85 ### Locator Object ```json { "id": "3", "time": 32, "name": "DROP" } ``` ### Warp Marker Object ```json { "clipIndex": 5, "beatTime": 0, "secTime": 0 } ``` Use these shapes to drive a timeline visualization: - Horizontal axis: beat or absolute time (choose one; beatTime from warp markers or clip start times) - Rows: tracks (group by trackSummaries) - Clip bars: from times.CurrentStart to times.CurrentEnd (or use LoopStart/LoopEnd for loop overlay) - Notes: render inside MIDI clips using note.time and note.duration relative to clip start - Locators: vertical lines at locator.time with labels - Warp markers: micro markers inside audio clips to show warping