Decoding ALS file format
-
- Posts: 13
- Joined: Thu Dec 29, 2011 9:56 pm
- Location: Sydney
- Contact:
Re: Decoding ALS file format
Send me the als file (via the aatranslator web site) and I will see what I can do (no promises).
Re: Decoding ALS file format
any luck with .adg files as well?
Load VST Presets from Push's Browser!
http://www.audiomodder.com
http://www.audiomodder.com
-
- Posts: 13
- Joined: Thu Dec 29, 2011 9:56 pm
- Location: Sydney
- Contact:
Re: Decoding ALS file format
We have the ALS files down pat - what does the .adg file do?queglay wrote:any luck with .adg files as well?
Send me one of these files and I will check it out
Send it via the aatranslator web site
Re: Decoding ALS file format
.adg files are ableton library presets. my idea is to batch generate .adg files for all the native instruments presets, or any vst for that matter so push will play nice with its own library. I'm starting with massive.
I loaded a preset in massive called additivum, then grouped it to save it as a .adg instrument rack.
Extracting the .gz and then opening the xml file reveals the meat of the vst data is stored under the vst preset buffer in the xml.
This buffer section (for the preset called additivum) is 8.5k. And the the .nmsv massive preset file for additivum is also 8.5k
This is great news, cant be too far off...I ran a diff using hexfiend on osx and there are about 130 differences between these two. im not sure where to go from here. pretty sure if i just copied the .nmsv file into there without more formatting it would break.
I loaded a preset in massive called additivum, then grouped it to save it as a .adg instrument rack.
Extracting the .gz and then opening the xml file reveals the meat of the vst data is stored under the vst preset buffer in the xml.
This buffer section (for the preset called additivum) is 8.5k. And the the .nmsv massive preset file for additivum is also 8.5k
This is great news, cant be too far off...I ran a diff using hexfiend on osx and there are about 130 differences between these two. im not sure where to go from here. pretty sure if i just copied the .nmsv file into there without more formatting it would break.
Load VST Presets from Push's Browser!
http://www.audiomodder.com
http://www.audiomodder.com
-
- Posts: 13
- Joined: Thu Dec 29, 2011 9:56 pm
- Location: Sydney
- Contact:
Re: Decoding ALS file format
Sorry - the .arg file is outside the scope of my current workload which is daw format conversion
Re: Decoding ALS file format
I've got two files. the first is the vst buffer extracted form the xml. the second is the nmsv file (the preset). they are super close. 137 differences between the two using a hex difference. and similar file size, but not the same.
I had a crack at just pasting in the nmsv straight back into the xml, but it didn't work. i guess i need to understand what the differences are and start to figure out a method of patching.
A great deal of it is readable as acii, but there a bunch of weirdass characters still and im not sure how to interpret what they are all doing.
I had a crack at just pasting in the nmsv straight back into the xml, but it didn't work. i guess i need to understand what the differences are and start to figure out a method of patching.
A great deal of it is readable as acii, but there a bunch of weirdass characters still and im not sure how to interpret what they are all doing.
Load VST Presets from Push's Browser!
http://www.audiomodder.com
http://www.audiomodder.com
Re: Decoding ALS file format
Hi yall,
I am interesting with the preview sound of a adg file in a pack. I want to use it as a clip.
So I did my research, learned that adg files are compressed xml binary files containing information that might be useful.
So i applied the gzip xxx.adg > xxx.xml in my MBP terminal.
I got a xxx.xml in the folder but it is Zero octet. The adg files is 29Ko.
I dont get why my xml is empty?
Any clue?
Thanx
Peace Out
DukePack
I am interesting with the preview sound of a adg file in a pack. I want to use it as a clip.
So I did my research, learned that adg files are compressed xml binary files containing information that might be useful.
So i applied the gzip xxx.adg > xxx.xml in my MBP terminal.
I got a xxx.xml in the folder but it is Zero octet. The adg files is 29Ko.
I dont get why my xml is empty?
Any clue?
Thanx
Peace Out
DukePack
Re: Decoding ALS file format
Hi,dr_rock wrote:I know I'm pretty late to the discussion here, but I was just playing with ALS files and discovered they are gzipped XML files. To decompress them you'll need a tool that can handle gzip. My suggestion is to copy the ALS file then decompress with your favorite tool. If you don't know what you're doing with gzip you may permanently damage your ALS files. Use at your own risk.
On Mac OS X you could simply open Terminal, cd to the file location, and execute this: gzip -cd MySong.als > MySong.xml
They are pretty large and complex XML files. For instance, the default template is 2,082 lines, and a simple live set of mine was over 43,000 lines of XML - but the format is very readable and clear. Their engineers obviously know how to write solid code. They are German after all.
Here's a snip to give you an idea of what's in there:
Etc. The <DeviceChain> tag is by far the largest, as it contains the ClipSlot values, gobs of info for each plugin including each parameter and some type of serialized buffer content (big blocks of hexadecimal values).Code: Select all
<?xml version="1.0" encoding="UTF-8"?> <Ableton MajorVersion="4" MinorVersion="8.1_225"> <LiveSet> <OverwriteProtectionNumber Value="5" /> <Tracks> <AudioTrack Id="0"> <EnvelopeModePreferred Value="false" /> <TrackDelay> <Value Value="0" /> <IsValueSampleBased Value="false" /> </TrackDelay> <Name> <UserName Value="Guitar 1" /> <Annotation Value="" /> </Name> <ColorIndex Value="140" /> <TrackGroupId Value="-1" /> <SavedPlayingSlot Value="-1" /> <SavedPlayingOffset Value="0" /> <MidiFoldIn Value="false" /> <MidiPrelisten Value="false" /> <Freeze Value="false" /> <VelocityDetail Value="0" /> <NeedArrangerRefreeze Value="true" /> <PostProcessFreezeClips Value="0" /> <MidiTargetPrefersFoldOrIsNotUniform Value="false" /> <DeviceChain> ... </DeviceChain>
Is there any clue on how to work this around live 9 or 10 .als files?
I maneged to recover few live sets that got deleted accidentaly, when loading them up I get the corrupted file error ¨unknown compound stream type¨ and since I just have a trial license of live I can´t contact suport.
I found a post online that covers my issue and explains this same stuff, just can´t get the sets uncompressed in order to edit them.
I´m pretty sure this live sets were made with live 9.7.4
Here is the post I found: http://news.metaparadigma.de/ableton-ma ... iles-4423/
I´m asking to much here, I know, any hint would be truly apprecieted.
-
- Posts: 4500
- Joined: Mon Apr 26, 2010 6:38 am
Re: Decoding ALS file format
How many projects could you have possibly created that need to be rescued using the 30 day demo?
Re: Decoding ALS file format
Just enough, I think nobody likes to waste time on a project and, what's worse, having time counted, you wouldn't understand it, would you?jestermgee wrote:How many projects could you have possibly created that need to be rescued using the 30 day demo?
In any case, the method described above works on other projects of mine, I guess the corrupted files were overwritten before I could rescue them and as a result got seriously damaged.
Re: Decoding ALS file format
you guys just saved me the better part of an afternoon. thank you.
on live 9.7.x, i renamed set.als to set.als.gz, and decompressed it with 7zip. it worked great.
empty set is 151k of xml cruft... will have to save changes and diff.
have a great day!
on live 9.7.x, i renamed set.als to set.als.gz, and decompressed it with 7zip. it worked great.
empty set is 151k of xml cruft... will have to save changes and diff.
have a great day!
Re: Decoding ALS file format
Hello people,
I made a decent lead patch in serum and was arranging the track slowly. One day I open the project and the serum patch went to init. It's really frustrating to lose work this way. I know how to patch it back, but it won't sound the same as I had so many mods going around. We're in 2019, and this problem still exists. I just can't understand why. Moreover all my plugins are purchased full versions; still craps out like this.
So I was thinking if I could parse the ALS file and protect my patch myself and came across this thread. How're third party plugin data stored in ALS files? Binary blob? Tree? Can something be done?
Is there an other way to make sure things don't crap out like this?
Thanks in Advance
I made a decent lead patch in serum and was arranging the track slowly. One day I open the project and the serum patch went to init. It's really frustrating to lose work this way. I know how to patch it back, but it won't sound the same as I had so many mods going around. We're in 2019, and this problem still exists. I just can't understand why. Moreover all my plugins are purchased full versions; still craps out like this.
So I was thinking if I could parse the ALS file and protect my patch myself and came across this thread. How're third party plugin data stored in ALS files? Binary blob? Tree? Can something be done?
Is there an other way to make sure things don't crap out like this?
Thanks in Advance
Re: Decoding ALS file format
Hey guys!
I've been working on a little project to help me port my projects to a new machine by updating sample references. Basically I'm writing a Python script that:
1. Decodes an ALS file
2. Finds all external sample references
3. Copies these files to the project folder
3. Updates the references in the XML file
4. Encodes the XML file and saves as ALS
I've successfully implemented step 1-3, but the last one wont work as Live sees the encoded file as corrupted. Does anyone here have an idea of how to solve this? I'm using the default python xml library along with the gzip library.
I've been working on a little project to help me port my projects to a new machine by updating sample references. Basically I'm writing a Python script that:
1. Decodes an ALS file
2. Finds all external sample references
3. Copies these files to the project folder
3. Updates the references in the XML file
4. Encodes the XML file and saves as ALS
I've successfully implemented step 1-3, but the last one wont work as Live sees the encoded file as corrupted. Does anyone here have an idea of how to solve this? I'm using the default python xml library along with the gzip library.
-
- Posts: 4500
- Joined: Mon Apr 26, 2010 6:38 am
Re: Decoding ALS file format
Why not just do “Collect all and save” in the Live file menu as this does the exact same thing for this reason.shabo wrote: ↑Sun Mar 07, 2021 3:25 pmHey guys!
I've been working on a little project to help me port my projects to a new machine by updating sample references. Basically I'm writing a Python script that:
1. Decodes an ALS file
2. Finds all external sample references
3. Copies these files to the project folder
3. Updates the references in the XML file
4. Encodes the XML file and saves as ALS
I've successfully implemented step 1-3, but the last one wont work as Live sees the encoded file as corrupted. Does anyone here have an idea of how to solve this? I'm using the default python xml library along with the gzip library.
Re: Decoding ALS file format
Because I have like a thousand live sets which this needs to be done for, and it would take me a week just to open all of them. By the way, I succeeded in doing this so if anyone is in need of the code, I will be posting an updated version on https://github.com/shhmon/LiveCollectjestermgee wrote: ↑Sun Mar 07, 2021 8:53 pmWhy not just do “Collect all and save” in the Live file menu as this does the exact same thing for this reason.