As most people know, for the past 25 years (yikes!) I have been providing Java based, cross platform librarians for many different synthesizers that you can get over at x.factory Librarians.
The first part of providing a librarian is to understand the file formats, which requires a lot of reverse engineering in a Hexadecimal file editor, look at raw bits and bytes, looking for patterns in data like patch names to get you started (usually they are at the start or end of data) and gaining an understanding of the data. This often requires you to have a reference baseline file, and you then select a patch, change a single parameter, save a new copy and do a file compare to see what has changed.
Obviously that is a lot of work, certainly in the old days when the hex editors were pretty basic, and as synthesizers have gotten more complex, so have the file formats, making it even harder, but since 2013, I have been using the 010 Editor, which allows you to write templates to run over files. Whilst 0101 does not remove the element of sleuthing needed, it allows you to understand a file format much more quickly as you can dynamically create and run the templates whilst you are looking at a file.
Recently there have been a few people asking me for information on various file formats as they themselves are working on projects that require the information. Whilst I want to help, I do not want to give away my intellectual property (IP) and the source code to my librarians, so I decided I would go through an exercise and publishing the 010 templates as that provides the information that people are looking for, but in a way that provides my IP. For some of my earlier librarians and synths (anything before 2013, so quite a few!) it means going back and creating the templates from the librarian source code.
Now I have a few ready, I am publishing this template information on Github under a project called Yamaha Synth File Formats
Each synth type will have the templates in a different folder e.g. SY77 File Format.
Example 010 screenshot below.
In the top left corner is the file in hex view. On the right hand side, you can see the template for the overall file. In the bottom left you can see the results of running the template.
It's actually been fun revisiting some of the earlier file formats and creating the templates, as I am revisiting things I have not looked at for over twenty years in some cases!
Anyway, I hope at least some people find the information of interest!
The first part of providing a librarian is to understand the file formats, which requires a lot of reverse engineering in a Hexadecimal file editor, look at raw bits and bytes, looking for patterns in data like patch names to get you started (usually they are at the start or end of data) and gaining an understanding of the data. This often requires you to have a reference baseline file, and you then select a patch, change a single parameter, save a new copy and do a file compare to see what has changed.
Obviously that is a lot of work, certainly in the old days when the hex editors were pretty basic, and as synthesizers have gotten more complex, so have the file formats, making it even harder, but since 2013, I have been using the 010 Editor, which allows you to write templates to run over files. Whilst 0101 does not remove the element of sleuthing needed, it allows you to understand a file format much more quickly as you can dynamically create and run the templates whilst you are looking at a file.
Recently there have been a few people asking me for information on various file formats as they themselves are working on projects that require the information. Whilst I want to help, I do not want to give away my intellectual property (IP) and the source code to my librarians, so I decided I would go through an exercise and publishing the 010 templates as that provides the information that people are looking for, but in a way that provides my IP. For some of my earlier librarians and synths (anything before 2013, so quite a few!) it means going back and creating the templates from the librarian source code.
Now I have a few ready, I am publishing this template information on Github under a project called Yamaha Synth File Formats
Each synth type will have the templates in a different folder e.g. SY77 File Format.
Example 010 screenshot below.
In the top left corner is the file in hex view. On the right hand side, you can see the template for the overall file. In the bottom left you can see the results of running the template.
It's actually been fun revisiting some of the earlier file formats and creating the templates, as I am revisiting things I have not looked at for over twenty years in some cases!
Anyway, I hope at least some people find the information of interest!
Statistics: Posted by Derek — Wed Dec 18, 2024 4:35 pm