Previous Page | Next Page
- by Nicknine at 2:39 PM EDT on July 3, 2018
I've used Python scripts made by Frankelstner:
Sb toc dumper
EBX To Text Converter
SPS files themselves appear to be practically same as in NFS: Hot Pursuit and other games except they can contain multiple headers plus they have a seek table before or after each sound.
Speaking of map archives, have you looked at MPF files in EA 6th gen games? The format seems to be vaguely similar to MAP files used in 5th gen games like Need for Speed 2/3 which I've figured out just now. Understanding MPF format might prove useful for games where music is segmented.
edited 2:47 PM EDT July 3, 2018
- by Ultrafighter at 12:00 AM EDT on July 4, 2018
- Hey Nicknine, HUGE thanks for that MOH hint, you're truly a lifesaver!
And Bnnm, I've just examined quite a few bigger samples from Hot pursuit (playable SPS files) in a hex editor and they all have expected headers while unplayables don't.
Anyway is it possible to play those ATM? Are you planning to add this kind of headerless *.SPS as a new variation of the format in the next update or can I simply make SNR+SNS for such streams? Of course I can wait for proper implementation, I just want to know what the upcoming solution is going to look like.
- by Nicknine at 8:28 PM EDT on July 5, 2018
- Need to add 0x1A tag type to SCHl parser, it's seen in SSX 3 BNK files, vgmstream not parsing it prevents the files from being played. Don't know what it actually contains but it doesn't seem to be required for playback, I've changed it to 0x14 and the file played normally.
Some sounds from SSX3 also play partially or completely distorted:
edited 8:52 PM EDT July 5, 2018
- by marcusss at 2:50 AM EDT on July 6, 2018
- Can bnnm or someone take a look at these. Games have nice music apparently but seem encrypted ,obsufcated or something.
Both games use the same method and extensions. Both have .sec extensions and header for all? music is
Ps : Later will post exe also
edited 6:27 AM EDT July 6, 2018
- by Nicknine at 4:18 PM EDT on July 7, 2018
- Figured out how to cut up Frostbite chunks, I can go through blocks until end marker (block 0x45) is reached. I have adapted Frankelstner's decoder script so it extracts individual sounds as SPS files from chunks instead.
Frostbite SPS extractor
@bnnm - I think you should either rework init_vgmstream_ea_sps_fb to cut the file into subsongs or remove it entirely and leave it to users to chop up Frostbite chunks with a script.
EDIT: I'm also using a modified EBX converter script that ignores unknown field types instead of throwing exception.
Frostbite EBX Converter
edited 7:17 PM EDT July 7, 2018
- by bnnm at 6:40 PM EDT on July 7, 2018
- latest vgmstream changes (autobuilds (MSVC) / foobar / test+winamp+xmplay (GCC) / bug list)
- Fix some Frostbite .SPS [Need for Speed: The Run (PC)]
- Fix some EA SCHl MicroTalk [Need for Speed: Most Wanted (PC)]
- Fix various music and bank .ivaud [GTA IV (PC)]
@Ultrafighter - I think you missed my last message?
@marcusss - XOR'ed Ogg I believe, can't find the key. Maybe you could try to find the decrypted OggS in RAM (would have a "vorbis" word), would help.
@Nicknine - MPF never heard of it. Most SSX3 banks will play now but may have glitches, will fix later I guess. I'd need some chunked Frostbite .sps to check.
- by Nicknine at 7:29 PM EDT on July 7, 2018
- @bnnm - Here are 3 chunks with multiple sounds in them:
/* file has a Frostbite descriptor (SoundWaveAsset segments) data before actual .sps, exact size unknown.
+ * 0x00: segments/flags/sizes? 0x04: SegmentLength?, 0x08: SeekTableOffset?, 0x0c: mini SPS header
+ * rest: unknown fields? may be padded? (ex. 0x22 > 0x24, 0x1d > 0x20 */
Uh, I'm not sure if this is correct? EBX files are stored separately from the actual audio chunks. AFAIK, chunk files only contain seek table besides the actual sounds which may or may not come before the first SPS header.
Seems like the header of this data before SPS header is platform specific, it starts with 0x011006C0 in NFS: The Run on PS3, just like in NFS: Rivals on PS4. I'm going to look at NFS: The Run on X360.
Alright, so the seek table may not be present in a chunk in which case SeekTableOffset will be set to 4294967295 (0xFFFFFFFF) in EBX file. When it is present it's always at the file start. That makes things easier.
Seek table starts with 0x01100180 on X360. The dumper does not work on X360 version on NFS: The Run for some reason, though.
edited 9:06 PM EDT July 7, 2018
- by marcusss at 8:16 PM EDT on July 7, 2018
- @bnnm. Thx. I will try to dump the ram ingame while playing and see how I go.
- by Nicknine at 10:17 PM EDT on July 7, 2018
- @bnnm - Could you add PS3 support to SCHl parser? Its platform ID is 0x0E, codec and sample rate defaults are same as for X360.
- by Ultrafighter at 4:24 AM EDT on July 8, 2018
- @Bnnm - I didn't miss it, perhaps I simply thought it's not so crucial to search for SPS headers when you've already found out the most basic codec info / audio specs. Anyway sorry for that, I see that having proper headers by devs (even if they hid them somewhere else) is better than guessing frequency and other values.
As I said earlier neither USRDIR\SOUND\STREAMS\ nor USRDIR\UI\STREAMS\ doesn't contain anything besides (mostly) troublesome *.SPS but I've just checked files with various extensions (set Alpha23's scan.bms according to the task, BTW I've just realized there was a preset for an SPS header all along!) from USRDIR\SOUND\, USRDIR\UI\ & even USRDIR\ (judging by names they might refer to audio or store some info about sound in the game) but found nothing, not a single file which starts with anything similar to 0x4800000C. Does it mean the headers we're looking for are really absent or would you like to try and look for them yourself?
All the best!
PS. Here's a list of those checked assets:
Edit: I've just started remaking Tribes - Aerial assault (PS2) rip I did a few months ago and I presume that music bank can be properly split, no ADPCM Player v1.44h or CubeMediaPlayer or anything like those programs is going to be required anymore. I suspect that headers for all 6 BGMs are in the very beginning of a bigfile while each track also has 2 stop markers (they're the same as in The matrix - Path of Neo or UFC Sudden impact) closer to end so that dividing the bank is possible... with a BMS I guess?
I upped entire MUSIC.PKG here since it's tiny anyway. Codec is Playstation 4-bit ADPCM, frequency is 22050, interleave equals 0x800 & there're 2 channels.
Finally there're exactly 6 mentions of 0x2256 at file start. That stop marker I was talking about looks like this: 0x00077777777777777777777777777777; I believe we have to use each 2nd marker as a split point if we don't want to actually leave out a portion of a track. I hope all these details help.
edited 7:41 AM EDT July 8, 2018
Previous Page | Next Page
HCS Forum Index
Go to Page 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238
Search this thread
Show all threads
Reply to this thread:
Halley's Comet Software
Generated in 0.0407s;