How to extract .MIDI files from .SEQ (of Sega Saturn Audio)?

I would like to convert my .seq (extracted with seqext.py) files to .midi

I don’t need the tone/soundfont, I just need the midi file that is inside the .SEQ file.

The game is:
Nobunaga no Yabou - Tenshouki with Power Up Kit

So I tried using SEQ2MID with the help of DosBox, and I can get some .midi but there is a problem. The midi I get aren't full songs, some songs just interrupt after 30-40 seconds.
What to do?

I noticed that songs that are not converted fully, are converted with this error line (from the decode.c):
printf("unknown code: address %x, value %x\n", ftell(fp) - 1, ctl_byte);

I've attached all the .seq files, so you can try and see what I mean

It seem that it can't recognize a single note in the .seq and so it stops the conversion there.
 

Attachments

  • Nobunaga .seq.zip
    58.8 KB · Views: 229
I'm not sure, but you could try using different directories. I could be a disk issue, such as converting a file from an external HD to an internal SSD that the program doesn't like. Try putting everything on the desktop, and try the usual things like compatibility mode and using admin privileges. Otherwise I'm not knowledgeable on the subject at all, sorry.
 
SEQ2MID is not 100% accurate. I am currently writing my own version for Shining Force 3, and I tested your file. I am getting weird errors with the file you gave us. This means either I am not doing something correct, or this SEQ is some how altered (some games do this.) I am going to play around with this some more and see if I can find anything out for you.
 
For file bb_000, It looks like bytes at 0x0802 -> 0x092C are invalid/something else. The command at 0x0802 is 0xC1, meaning a control change should happen for channel 1. The control that it requests (0xCF) is invalid because commands go from 0x00->0x7F. It becomes invalid again at 0x1134 until 0x11A0, then 0x11A1 ends the midi.

I attached what outputted.
 

Attachments

  • checkthis.zip
    2.9 KB · Views: 245
I'm not sure, but you could try using different directories. I could be a disk issue, such as converting a file from an external HD to an internal SSD that the program doesn't like. Try putting everything on the desktop, and try the usual things like compatibility mode and using admin privileges. Otherwise I'm not knowledgeable on the subject at all, sorry.

I don't think the issue is that, since other game sequence works, I think just some games have these type of problems

For file bb_000, It looks like bytes at 0x0802 -> 0x092C are invalid/something else. The command at 0x0802 is 0xC1, meaning a control change should happen for channel 1. The control that it requests (0xCF) is invalid because commands go from 0x00->0x7F. It becomes invalid again at 0x1134 until 0x11A0, then 0x11A1 ends the midi.

I attached what outputted.

How the heck did you do that? I tried extracting bb_000 myself and I only get a few seconds of midi tracks. Your file seem to be a complete tracks!

How did you do that? I would like to have all tracks like this. Can you do it for me? or explain the process to fix the errors?

Thanks

EDIT: not complete track, but longer than my output file
 
Last edited:
I already explained how I do it.

The non midi hex looks like this:

C1 CF 00 00 00 00 00 00 00 00 43 04 63 69 A7 36 6B 3D 2C 69 18 4E B0 EE A3 11 DF 9B A6 28 F8 4B 42 2E 9F DE 73 E9 F9 C5 3D 1B 74 7C 92 9D FB 8F EB B5 A1 DE 34 8F 03 C8 8B 77 74 78 83 10 1E 15 F9 CE 34 7E D8 5D 48 D5 99 06 A7 24 A0 56 E9 C4 58 71 38 EF E7 32 47 02 87 1E CF 58 A5 84 44 19 36 DF FA E6 59 D7 4D F0 59 ED D8 58 D5 82 30 AD 37 3E D0 DE 1A 84 98 3F 49 1A 5D B6 2F 27 A4 A3 B1 71 30 F2 20 12 30 F7 F4 FE 19 4F 70 F9 CE 3F 10 21 1B C9 0B 53 E8 71 E0 F1 A1 53 14 78 27 A5 44 2B 23 39 3F EE DD DA F0 14 02 65 F2 2E 10 5F FD 7A 8E 67 E6 EA B3 4B 5D 97 6C 2F A5 0A F7 16 BE 2F 06 2B 50 2F B7 18 D8 0A 28 BF 51 F7 A2 B1 DC 54 CF 9B CE B5 CE D9 05 E1 6B 5F A0 03 9D C0 23 0A A6 69 E9 92 53 C1 F3 C1 C5 21 F5 11 AB 57 EE 44 83 32 C9 BA 5D C9 64 61 43 13 91 93 0E 4B 92 2E CE DE 1F 54 E0 C7 9A C8 D1 7E 49 17 8B 75 5F 3A 84 56 A9 B1 87 CB EC C5 15 8C FC 20 00 FF FF FF FF FF FF FF FF FF FF 00 01


and

00 00 00 00 00 00 00 00 B1 9A 47 BF 70 7F 38 52 79 1F 6F 77 A7 1F C1 23 9D B6 0B 01 02 67 3A E3 85 5F 8F 57 AF 0F E5 85 C9 A8 A6 6B 41 53 21 CD 1B FA F1 4A 8F 32 45 53 FC 59 BE 1D 1E DA AE 2E 3B B9 80 30 EE EB D4 5D 31 6B A0 00 BA 8A D1 79 F9 88 F6 6F A5 16 A1 A3 12 7E A2 B2 4D AD A2 15 8D 8D 6C EC AF CB 72 37 58 9A 50 B4 FC


These two areas do not fall into the midi format, so if you are saying the track is not complete, then something is going on in these two sections that will complete it, but is unique to your game. You are probably going to need to trace it in an emulator.


What file housed these binaries? I wonder if your script that extracts got something wrong.
 
Ok so basically I've downloaded the ROM: *removed*

then you extract the .7z and you find 2 bin files. The first one does not contain seq files, only the second bin.

So I have used a python script to extract from .bin to .seq:

So what I did is: I copied the python file in the folder with the .bin

I renamed the second .bin into bb.bin

I opened cmd, gone to the folder of the script with command, I typed seqext.py, then "seqext.py bb.bin output", it will create a folder "output" with all the .seq files.

Ok then I used SEQ2MID: mistydemeo/seq2mid with the help of DosBox as a CMD, since it works only on 32bit mode, executed the code, with extraction of the .midi

So, as an example, this is the same track "bb_000.midi" you shared with me, but extracted with SEQ2MID:

You can see it is very short. I really don't know how to look into hex, I can only use these 2 software.

As a reference go here: Nobunaga no Yabou - Tenshouki with Power Up Kit - Sega Saturn (SSF) Music - Zophar's Domain
Click on "Azuti" track that is bb_000. (you can download .ssf too, but it is useless for midi extraction)

But my opinion is that we can't get the full midi tracks, I have tried with another midi extractor and it is the same...
 
Last edited:
Do not share ISOs, I just needed to know what file was used so I can verify the extraction. Anyway, that script is not accurate. Just mount the ISO, go into the BACK directory, and find the files with no extension. They are your SEQ files. This one extracted with no problem for me (with my app, did not try SEQ2MID)
 

Attachments

  • checkthis.zip
    6.9 KB · Views: 266
Do not share ISOs, I just needed to know what file was used so I can verify the extraction. Anyway, that script is not accurate. Just mount the ISO, go into the BACK directory, and find the files with no extension. They are your SEQ files. This one extracted with no problem for me (with my app, did not try SEQ2MID)
I see that the new checkthis is a full track.

I tried what you said, however these things are totally new to me. I don't have any ISO files, I just have that folder with the .bin (files), I made a .ISO file with that folder but then I don't know what to do. What do you mean by "going to BACK directory"?

Also can you share the app you use?
I only used SEQ2MID that extract only a few seconds of track (in MIDI), and Sgconv from: Wayback Machine that gives me only error and doesn't extract at all

If you don't want to give me your app or explain the process (I am a noob in this area), can you convert all the sequence and upload like the checkthis.zip file? I would be really grateful.
I'm insterested in this saturn game only
 
Cue/bin,ISO, all the same. Do not share images of CDs, ROMs of games etc. The cue/bin files are just regular CD images, just mount it with Daemon tools or some other software designed to load them. Heck, burn it to a CDR if you have to. It will them be a regular folder structure, one of which is named BACK. Go into the BACK folder, and you will see files with no extension. Some if not all of those files are your SEQ files.
 
Cue/bin,ISO, all the same. Do not share images of CDs, ROMs of games etc. The cue/bin files are just regular CD images, just mount it with Daemon tools or some other software designed to load them. Heck, burn it to a CDR if you have to. It will them be a regular folder structure, one of which is named BACK. Go into the BACK folder, and you will see files with no extension. Some if not all of those files are your SEQ files.
FINALLY!!! Thank you very much, now I have full tracks!!
 
No problem. Those extra bytes are probably FAT information or something, which is why the audio was thrown off. Thankfully when you mentioned Azuti, I was able to immediately find what we were looking for. Hope it all works out well for you.
 
No problem. Those extra bytes are probably FAT information or something, which is why the audio was thrown off. Thankfully when you mentioned Azuti, I was able to immediately find what we were looking for. Hope it all works out well for you.
What's the program you used?
I'm trying to extract midi files from Radiant Silvergun, however only few seconds of the song are played.
 
oh man, i would have to dig through my drives to find what I did if it exists still.
Please! I would be super glad if you can share it.
I tried to contact you via Youtube one month ago, and Fedex too, although I wasn't able to find a contact email or Discord user or any other social network.
 
Please! I would be super glad if you can share it.
I tried to contact you via Youtube one month ago, and Fedex too, although I wasn't able to find a contact email or Discord user or any other social network.
fedex? oh. nevermind, the guy in this chat. Why didnt you just post in this forum a month ago then lol.
 
Last edited:
fedex? oh. nevermind, the guy in this chat. Why didnt you just post in this forum a month ago then lol.
Because in that time I had also other projects in queue and didn't had time, until now that I'm trying of re-arranging the songs of that game, because I'm a musician and I really liked its OST + I have more time.

Although as I mentioned above, the DosBox method is kind of inaccurate, so I managed to create a forum account to approach you in any means necessary because my message on one of your videos got ignored lool
 
yeah, if you are the guy who said "I need to talk to you, send me a private message" you are either a bot, or a stalker in my book, and I stay away from those messages lol
 
yeah, if you are the guy who said "I need to talk to you, send me a private message" you are either a bot, or a stalker in my book, and I stay away from those messages
Yeah I'm that guy, and sorry if I sounded creepy that time.
But I guess I'm deviating my point a little bit. Do you still have your SEQ to MID program available? I would really like to test it with other games too (If you give me authorization of course.)
 
What's the program you used?
I'm trying to extract midi files from Radiant Silvergun, however only few seconds of the song are played.
Hello, it is very easy really once you know the trick xD
If you convert from .ssf to .midi it will only convert the first few (like) 20 seconds and then stops suddently, so you can't download the .ssf files from sites like zophar or similar.

The first thing to do is downloading the ROM of the game, then you need to mount the ISO with some burning program, I think I've used PowerISO and mount it on a virtual drive, basically right click the .iso/.bin and open with poweriso and check the folders. You need to find the folder with .seq and .bin in it. Extract that folder where you want.

You then need to download Dosbox software to run 32bit programs because you need to download seq2mid (which run only in 32bit mode), any version is OK. Open dosbox and navigate to open the seq2mid file. ALSO VERY IMPORTANT: Put the .seq file you want to convert in the same folder as the seq2mid software. To navigate you need to type this:

mount C C:\(put there the extact path of the folder of where seq2mid is)
C:
seq2mid
seq2mid -l 0 (name of file).SEQ

Then you get your midi in the same folder of the seq2mid where you put your file. Done.

To get the soundbank of the track, if you need to know which instruments play you need "toncnv". This time is very easey. Once you downloaded toncnv, just put the .bin of the track you want with the corrisponding name (example: if you converted battle1.seq you need to find battle1.bin) and put it on the same folder of toncnv. Then simply drag and drop the .bin into the toncnv.exe and you will get a .dls file that you can import in fl studio once you open the midi. If you want to know how I can explain.

Hope it helped :)
 
Last edited:
Back
Top