Announcing SY85 disk file lister

The Yamaha SY85 is a digital music workstation introduced in 1992. Unlike other Yamaha synthesizers of the time (SY77 and the SY99) the SY85 does not use FM synthesis. Instead, its sounds are based on samples, which can be layered and modified to create new sounds.

Moderators: Derek, parametric, Saul

User avatar
SpotlightKid
Member
Member
Posts: 201
Joined: Mon Apr 27, 2009 12:00 am

Announcing SY85 disk file lister

Unread post by SpotlightKid » Sun Apr 11, 2010 11:16 pm

Hi all,

this weekend I was in an organizing mood but instead of cleaning up my appartment as I should have ;), I set about bringing some organization into my collection of SY85 sound disk files.

To this end, I created a Python script to list the contents of a SY85 disk file (extension .G??). I did some hard-core reverse engineering of the file format and the script is now able to extract the names of all perfomances, voice, multis and waveforms contained in a .G?? file. From there it isn't very far anymore to extracting the Performances and Voices and converting them into Sysex dump, but for the moment that's still the future...

Anyway, I generated listings for all (about 120) .G?? files I have. Probably a lot of these are duplicates and to identitfy these was one of the main reasons I created this script.

Here's a ZIP archive with all the listings as text files: sy85listings.zip

The script itself is still very alpha quality and only for those who know how to use the command line. It is available from the Python package index: sy85tools. The source distribution packages also contains some documentation with my notes on the .G?? file format.

At the moment you'll need Python installed to run the script. If you do, you can use easy_install to download & install the packege:

Code: Select all

easy_install sy85tools
and then run the script with, for example:

Code: Select all

sy85info -o factory-set-listing.txt FACT-SET.G01
and it will write a text file listing the contents of the FACT-SET.G01 file to factory-set-listing.txt.

I may built a standalone executable for Windows at some point when the software is out of the alpha stage, but don't hold you breath for that yet.

Let me know, if you have any question regarding the software or the .G?? file format.

Share & enjoy!

Chris
Akai Miniak | Korg Wavestation EX | Kurzweil K2500RS+KDFX - PC3 | Roland JV-1010 | Yamaha An1x - SY77 | Waldorf microWAVE II
User avatar
Derek
Global Moderator
Global Moderator
Posts: 4204
Joined: Fri Dec 07, 2007 1:00 am
Contact:
Wales

Re: Announcing SY85 disk file lister

Unread post by Derek » Mon Apr 12, 2010 7:16 am

Good to see another programmer busy.....
Regards
Derek Cook

http://www.carregddu.co.uk
http://www.echoes-music.co.uk
http://www.xfactory-librarians.co.uk
http://www.ex5tech.co.uk
User avatar
SpotlightKid
Member
Member
Posts: 201
Joined: Mon Apr 27, 2009 12:00 am

Re: Announcing SY85 disk file lister

Unread post by SpotlightKid » Mon Apr 12, 2010 9:29 am

I fixed some problems with the Windows build this morning. Creating stand-alone Windows executables was actually pretty easy with py2exe, so here's a Zip file with .exe files for the three scripts in the package:

sy85tools-scripts-0.2.2a-win32-standalone.zip

You should be able to run the contained programs without having Python installed. Let me know if there are any problems, because I couldn't really test this because I'm on the road and only have my laptop with me.

The Zip contains a program genlistings.exe, which can find all .G01 files below a directory and generate listings for them and store them in a given directory. You call it like this:

Code: Select all

genlistings SRCDIR DESTDIR
where SRCDIR is the top of the directory tree under which you .G01 files are located and DESTDIR is where the listings will be stored. Please note that existing files in DESTDIR will be overwritten and DESTDIR has to exist before running the script.

Chris
Akai Miniak | Korg Wavestation EX | Kurzweil K2500RS+KDFX - PC3 | Roland JV-1010 | Yamaha An1x - SY77 | Waldorf microWAVE II
User avatar
echos
Member
Member
Posts: 150
Joined: Mon Jul 02, 2007 12:00 am

Re: Announcing SY85 disk file lister

Unread post by echos » Mon Apr 12, 2010 5:14 pm

Any chance you could adapt this to SY77/SY99? There is only one catelogger I know of for the 77, and it only works on synth-all Jxx filetype.
User avatar
Derek
Global Moderator
Global Moderator
Posts: 4204
Joined: Fri Dec 07, 2007 1:00 am
Contact:
Wales

Re: Announcing SY85 disk file lister

Unread post by Derek » Mon Apr 12, 2010 7:17 pm

Don't forget that sy.factory will provide listings of all file types in HTML, XML, Cubase, Sonar and Protools Patch Scripts and SpreadsheetML formats :)
Regards
Derek Cook

http://www.carregddu.co.uk
http://www.echoes-music.co.uk
http://www.xfactory-librarians.co.uk
http://www.ex5tech.co.uk
User avatar
SpotlightKid
Member
Member
Posts: 201
Joined: Mon Apr 27, 2009 12:00 am

Re: Announcing SY85 disk file lister

Unread post by SpotlightKid » Tue Apr 13, 2010 5:59 am

I haven't looked into the file formats of the SY77/99 files at all yet, since I don't own these synths (and also there are so many different file types ;)). What I would need to adapt the script is the following information:

- Which file types contain patch data?
- What types of objects are stored in there? (Voices, Performances, Multis, etc.)
- How long is the data for a single object of each type and how many of them are stored at a given location?
- What is the byte offset of the object name within the data of an object? (Relative to the start of the data of a single object.)
- What are the starting offsets of the sections for different types of objects? Or are there any markers that signal the beginning of a new section?
- How are references between objects stored? E.g. what is the format of a voice bank and program number? Is there any information encoded in the upper bits of any of these fields? (E.g. if bit 7 is set in the program number of a voice layer in a SY85's performance, that layer is active.)
- How are waveforms / samples stored? In the SY85 file format, the format for waveforms is very peculiar and I haven't figured it out completely yet. The SY99 has even more parameters (e.g. names for single samples), so I expect the storage format to be even more convoluted.

You see, this is a lot of information, which is not easy to find out without proper documentation and I don't really have the incentive to research this myself. But if you can point me to the answers to all these questions, I can give it a shot...

Chris
Akai Miniak | Korg Wavestation EX | Kurzweil K2500RS+KDFX - PC3 | Roland JV-1010 | Yamaha An1x - SY77 | Waldorf microWAVE II
User avatar
manowaro
Posts: 1
Joined: Tue Mar 18, 2014 3:36 am
Sweden

Re: Announcing SY85 disk file lister

Unread post by manowaro » Sun Oct 14, 2018 2:41 am

Hi,

@spotlight, any chance you'll post your collection of SY85 disk files here, please? The files in the download section only contains about half of the files listed in your sy85listings.zip above. Thanks.

/M
User avatar
SpotlightKid
Member
Member
Posts: 201
Joined: Mon Apr 27, 2009 12:00 am

Re: Announcing SY85 disk file lister

Unread post by SpotlightKid » Sun Oct 14, 2018 10:13 am

@manowaro: I'll have to dig through my archive. I sold the SY85 a long time ago. In the meantime, there are some sound disks, which do not use samples, here:

https://chrisarndt.de/files/yamaha/sy85/sounds/
Akai Miniak | Korg Wavestation EX | Kurzweil K2500RS+KDFX - PC3 | Roland JV-1010 | Yamaha An1x - SY77 | Waldorf microWAVE II
Post Reply

Return to “Yamaha SY85 Forum - Covers the SY85 Keyboard and TG500 Module”