Important information: this site is currently scheduled to go offline indefinitely by end of the year.
Amplitude Tracks (decrypting files)
Amplitude Tracks (decrypting files)
The contents of this post was deleted because of possible forum rules violation.
Last edited by kain34 on Sat Jan 29, 2011 3:22 am, edited 1 time in total.
Re: Amplitude Tracks (decrypting files)
if you or someone gets this to work, let me know. There are a bunch of mixes in that game I would love to have direct rips of.
-
- advanced
- Posts: 61
- Joined: Sun Sep 12, 2010 11:11 pm
- Has thanked: 35 times
- Been thanked: 8 times
Re: Amplitude Tracks (decrypting files)
Perhaps you can let yourself know by subscribing to this topic...
Re: Amplitude Tracks (decrypting files)
I never played that game... would it be possible to create a song, for example with only drums. Then I could record this with a device, then create a song with guitar only? Someone who can confirm this?
Re: Amplitude Tracks (decrypting files)
I decrypted these files a long time ago but I really do not remember the tool (this was a very long time ago). But I know I did not get the separate tracks. I got the songs as a whole, I just wanted them to listen to as no OST ever came out. I have them in 48 KHz MP3 after the conversion to WAV.
The songs (full tracks, no splitting of instruments) are in those files as a well-documented PS2 file format.
The songs (full tracks, no splitting of instruments) are in those files as a well-documented PS2 file format.
Re: Amplitude Tracks (decrypting files)
If I get you right: you tried it too (I think with the programm called Jaeder Naub) and you also received only .wav files? I mean the seperate audio must be in the .str files, because there is no other folder which could contain them.Tatsh wrote:I decrypted these files a long time ago but I really do not remember the tool (this was a very long time ago). But I know I did not get the separate tracks. I got the songs as a whole, I just wanted them to listen to as no OST ever came out. I have them in 48 KHz MP3 after the conversion to WAV.
The songs (full tracks, no splitting of instruments) are in those files as a well-documented PS2 file format.
The songs must be in .ogg format and after Amplitude, people managed to hack other Harmonix games like Rock Band 1 and 2 which are much more safer. There must be a possibility.
-
- veteran
- Posts: 145
- Joined: Sat Oct 21, 2006 12:58 pm
- Has thanked: 5 times
- Been thanked: 24 times
Re: Amplitude Tracks (decrypting files)
There is no ogg vorbis in example file from Amplitude, would be tad heavy for ps2 to handle anyways. Jaedernaub seems to give just 48khz mono and output size is half of str curiously, maybe missing the other channel or something. anyway doesn't have more than the single track in raw listening it seems.
Re: Amplitude Tracks (decrypting files)
Ok another format... it could be everything but I don't know how to open .str files. Hexeditor is nonsense and there is no other programm atm.Apollo wrote:There is no ogg vorbis in example file from Amplitude, would be tad heavy for ps2 to handle anyways. Jaedernaub seems to give just 48khz mono and output size is half of str curiously, maybe missing the other channel or something. anyway doesn't have more than the single track in raw listening it seems.
Re: Amplitude Tracks (decrypting files)
The str files are 512-byte interleaved PCM, 16-bits @ 48000 Hz
Here's a bit of C code to turn that into regular interleaved stereo PCM.
Unfortunately there seems to be something else going on in there, as there is a lot of high-frequency content in the resulting file, as evidenced by this pretty picture from Audacity:
I would be interested to see if anyone else has some knowledge of the format.
edit: Fixed the code, it now decodes correctly.
Here's a bit of C code to turn that into regular interleaved stereo PCM.
Code: Select all
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(int argc, char** argv)
{
if(argc == 1) {
printf("Usage: %s <path_to_file.str>\n", argv[0]);
return -1;
}
FILE *fp = fopen(argv[1], "rb");
int len = strlen(argv[1]);
char * out_name = (char*)calloc(len + 5, 1);
memcpy(out_name, argv[1], len);
strncat(out_name, ".raw", 4);
FILE *fo = fopen(out_name, "wb");
free(out_name);
if(!fp || !fo) {
puts("Error opening input/output files");
return -1;
}
const int INTERLEAVE = 512;
int ctr = 0;
char buffer[INTERLEAVE * 2];
const int width = 2;
while(!feof(fp)) {
if(ctr < INTERLEAVE) {
fread(buffer + ((ctr / width) << 2), width, 1, fp);
ctr += width;
}
else if(ctr < (INTERLEAVE * 2)) {
fread(buffer + (((ctr - INTERLEAVE) / width) << 2) + width, width, 1, fp);
ctr += width;
}
else {
fwrite(buffer, (INTERLEAVE * 2), 1, fo);
ctr = 0;
memset(buffer, 0, (INTERLEAVE * 2));
}
}
fclose(fp);
fclose(fo);
return 0;
}
I would be interested to see if anyone else has some knowledge of the format.
edit: Fixed the code, it now decodes correctly.
Last edited by maxton on Thu Jun 23, 2016 8:48 pm, edited 1 time in total.
-
- mega-veteran
- Posts: 263
- Joined: Sun Oct 18, 2009 9:41 pm
- Location: Portland, OR
- Has thanked: 3 times
- Been thanked: 79 times
- Contact:
Re: Amplitude Tracks (decrypting files)
I'd guess that you have to interleave 2 bytes at a time instead of 4 bytes as you're doing here, the interleave blocks being 512 bytes of left channel, then 512 bytes of right channel.
Re: Amplitude Tracks (decrypting files)
Of course! I must have been thinking that the audio was 32-bit while I wrote that code. Seems fine now, thanks for the help!
So every .str file in the game is the stereo mix of a song. The separate instruments are sliced up and put into sound banks which are sampled while you play. It seems to be an in-house format:
.bnk - the soundbank descriptor, contains the names of all the samples, their positions, as well as original file names (like "R:\FREQ2\FreQ2_Game Levels\Blink 182\Wav Slices\bass_sect 01&7&15 to 19\bass_sect 01 001.wav\") Apparently Amplitude's codename was Frequency 2.
It's made up of several chunks:
Chunk IDs:
If I import the .nse files into audacity as 8-bit, mono PCM at 22050 Hz, I can make out some musical audio and glitched vocals above the noise. Perhaps it's some sort of ADPCM, or simple compression algorithm? It's very close to PCM...
The histogram of byte values in the file looks like this:
Does anyone more experienced with audio formats recognize such a pattern?
So every .str file in the game is the stereo mix of a song. The separate instruments are sliced up and put into sound banks which are sampled while you play. It seems to be an in-house format:
.bnk - the soundbank descriptor, contains the names of all the samples, their positions, as well as original file names (like "R:\FREQ2\FreQ2_Game Levels\Blink 182\Wav Slices\bass_sect 01&7&15 to 19\bass_sect 01 001.wav\") Apparently Amplitude's codename was Frequency 2.
It's made up of several chunks:
Code: Select all
typedef struct {
char chunk_id[4];
uint32 chunk_size;
byte chunk_data[chunk_size];
} soundbank_chunk;
- SAMP - sample definitions
- SANM - sample names
- SAFN - sample original filenames
- BANK - banks?
- BKNM - bank names
- INST - instrument definitions
- INNM - instrument names
- SDES - ??
- SDNM - names for the previous section
Code: Select all
first 192 bytes of a .nse file:
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
44 00 F0 10 FE F2 00 FF E0 F0 F1 12 D0 CD FD 30
24 00 35 13 B0 DB 2D 32 F2 0F F1 12 12 01 10 F2
24 00 CD 0D 55 C2 DD 01 21 13 D0 FE 00 DF ED 01
24 00 ED 1D 30 22 01 BB EA 52 35 D0 DE 1F 11 12
24 00 FF FF 2F 31 01 EF EE 52 24 21 20 33 30 12
25 00 01 E0 DC 41 76 16 BC 21 44 11 57 15 C1 AB
44 00 51 45 11 DE 30 22 F3 11 52 45 F1 0F 2F 32
44 00 43 04 FF FC 42 35 24 12 2F 34 03 12 23 12
24 00 0F 30 66 23 00 E0 F0 E1 FE F0 12 31 43 22
25 00 25 01 2E 42 33 10 20 21 21 33 13 13 23 24
24 00 10 21 13 10 31 44 33 E2 20 C2 20 32 22 02
The histogram of byte values in the file looks like this:
Does anyone more experienced with audio formats recognize such a pattern?
-
- mega-veteran
- Posts: 263
- Joined: Sun Oct 18, 2009 9:41 pm
- Location: Portland, OR
- Has thanked: 3 times
- Been thanked: 79 times
- Contact:
Re: Amplitude Tracks (decrypting files)
Looks like standard Playstation ADPCM, decodable with FastElbja's ADPCM player or similar.
-
- veteran
- Posts: 82
- Joined: Thu Oct 15, 2015 8:15 pm
- Has thanked: 18 times
- Been thanked: 8 times
Re: Amplitude Tracks (decrypting files)
It actually is.hcs wrote:Looks like standard Playstation ADPCM
Re: Amplitude Tracks (decrypting files)
Is there a specification for the format of Playstation ADPCM somewhere? I can't get that ADPCM Player to open the files - it thinks they are ~2^32 bytes long, which is definitely wrong.
edit - I added a header with GENH and some of the samples in the file are now clearly audible when I play them in vgmstream, I guess the interleave must be wrong.
edit 2 - it kind of works with a freqency of 24000 in mono, but I can't figure out the interleave for 2 channels. That's probably stored in the .bnk file
edit - I added a header with GENH and some of the samples in the file are now clearly audible when I play them in vgmstream, I guess the interleave must be wrong.
edit 2 - it kind of works with a freqency of 24000 in mono, but I can't figure out the interleave for 2 channels. That's probably stored in the .bnk file