C0Assassin / rb4-to-rb2

Complete recreation of Rock Band 4's venues/animations/lipsyncing in Rock Band 2's midi/milo format.
90 stars 17 forks source link

Missmatching stem/dta info #41

Closed Blackened15 closed 6 months ago

Blackened15 commented 7 months ago

I came across some problematic songs that when converted back to RB4 song with libforge ended up crashing the game when the audio for those song tried loading (preview on the song list, or when the song actually starts for gameplay).

Some songs have missmatching audio stem and what's written in the DTA, making the engine crash (also, loading the CON in the audio analyzer in Nautilus gives an error, but loading only the Mogg worked, which is what clued me in that it was a missmatch in the DTA)

So for example in the Manual DLC pack 1, 2 songs freeze the game when it tries to play some audio

Goo Goo Dolls - Iris Slayer - Angel of Death

For example, the Goo Goo Doll song only has 9 track in the MOGG, but the DTA list 10 (problem is the bass only has one track in the mogg, not 2 like the dta says)

So changing

 (
     'tracks'
     (
        (
           'drum'
           (0 1)
        )
        (
           'bass'
           (2 3)
        )
        (
           'guitar'
           (4 5)
        )
        (
           'vocals'
           (6 7)
        )
     )
  )
  (vocal_parts 2)
  (
     'pans'
     (-1.0 1.0 -1.0 1.0 -1.0 1.0 -1.0 1.0 -1.0 1.0)
  )
  (
     'vols'
     (0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0)
  )
  (
     'cores'
     (-1 -1 -1 -1 1 1 -1 -1 -1 -1)
  )

to

 (
     'tracks'
     (
        (
           'drum'
           (0 1)
        )
        (
           'bass'
           (2)
        )
        (
           'guitar'
           (3 4)
        )
        (
           'vocals'
           (5 6)
        )
     )
  )
  (vocal_parts 2)
  (
     'pans'
     (-1.0 1.0 0.0 -1.0 1.0 -1.0 1.0 -1.0 1.0)
  )
  (
     'vols'
     (0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0)
  )
  (
     'cores'
     (-1 -1 -1 1 1 -1 -1 -1 -1)
  )

fixed the issue and the song now play and load properly.

I dont know whats the behaviour of those song in RB2, but I'm pretty sure that even if the game doesnt crash on them, the missmatching audio with expected track probably at least mutes the wrong track when missing notes, and volumes affects the wrong instruments.

Blackened15 commented 7 months ago

the slayer song is fixed by removing the 2 Crowd track from the pan, vols and cores entry, since they dont exist in the MOGG

Changing

 ;                DRUMS       BS       GUITAR     VOCALS      FAKE       CROWD
 (pans        (-1.0  1.0  -1.0  1.0  -1.0  1.0  -1.0  1.0  -1.0  1.0  -1.0  1.0))
 (vols        (-0.0 -0.0  -0.0 -0.0  -0.0 -0.0  -0.0 -0.0  -0.0 -0.0  -0.0 -0.0))
 (cores       ( -1   -1    -1   -1     1    1    -1   -1    -1   -1    -1   -1))

to

 ;                DRUMS       BS       GUITAR     VOCALS      FAKE
 (pans        (-1.0  1.0  -1.0  1.0  -1.0  1.0  -1.0  1.0  -1.0  1.0))
 (vols        (-0.0 -0.0  -0.0 -0.0  -0.0 -0.0  -0.0 -0.0  -0.0 -0.0))
 (cores       ( -1   -1    -1   -1     1    1    -1   -1    -1   -1))
Blackened15 commented 7 months ago

Im gonna go through and fix all RB4 DLC for myself, let me know if you want me to post the list of "broken" song here

C0Assassin commented 7 months ago

The reason why you're running into so many issues is because your workflow is literally "RB4toRB2toRB4" which is just the wrong way to do things. You should not be converting these to any other game. Not CH, not YARG, not PS, not RB3, not RB4, not anything. They work just fine for only on the games that they are supported for, and that is RB1, RB2, Lego, and RB3, without any reconversion needed from automation tools.

There are legitimate RB4 dumps that you can already use from Archive org, specifically for RB4. I suggest you search for those and use those, you'll have far less problems.

And the issue with moggs is that I alter the volumes and add extra channels when I see fit, when I bring them over into RB2/3. (RB4 actually lowers all previous RB songs by a flat 4db, to accomodate the new normalization levels of that engine. So to undo that, I boost all RB4 moggs by 4db.)

The case about Angel of Death, there is indeed a crowd track in there. Its very subtle and only plays during the choruses. It doesnt include any singing, instead its a army death march stomping on the ground.

Blackened15 commented 7 months ago

While I understand the part about not being made for RB4, the missmatching DTA info in the CON's DTA an the track in the CON's mogg file will affect rb2 gameplay. Like I said, it will at least mute the wrong track when missing notes, and in game instrument volume controls (dont remember if rb2 had those), will change the volume on the wrong track.

I'll be sure to check archive.org, thanks for that info Edit: Found the archive, god, wish I had found that a week ago.

C0Assassin commented 7 months ago

Ill double check Iris just to be sure, just in case I did somehow mess it up.

Blackened15 commented 7 months ago

Ill double check Iris just to be sure, just in case I did somehow mess it up.

I'm not going to push you more for this, since you gave me a way to find the proper files I needed anyway. But just to reiterate

This is all directly from the CON downloaded from here

10 track MOGG https://imgur.com/a/GeZ6VcR

12 track MOGG

(angelofdeath
 (name "Angel of Death")
 (artist "Slayer")
 (master TRUE)
 (context 2000)
 (song
   (name        "songs/angelofdeath/angelofdeath")
   (tracks
      ((drum (0 1))
       (bass (2 3))
       (guitar (4 5))
       (vocals (6 7))
      )
   )
   ;(vocal_parts -) ;remove if no harmonies
   ;(crowd_channels 10 11)
   ;                DRUMS         BS       GUITAR     VOCALS      FAKE       CROWD
   (pans        (-1.0  1.0  -1.0  1.0  -1.0  1.0  -1.0  1.0  -1.0  1.0  -1.0  1.0))
   (vols        (-0.0 -0.0  -0.0 -0.0  -0.0 -0.0  -0.0 -0.0  -0.0 -0.0  -0.0 -0.0))
   (cores       ( -1   -1    -1   -1     1    1    -1   -1    -1   -1    -1   -1))
   (drum_solo
      (seqs (kick.cue snare.cue tom1.cue tom2.cue crash.cue))
   )
   (drum_freestyle
      (seqs (kick.cue snare.cue hat.cue ride.cue crash.cue))
   )
   (midi_file "songs/angelofdeath/angelofdeath.mid")
   ;(hopo_threshold 90)
 )

Same with the goo goo doll song except you kinda have to listen to the track to figure out that its a single mono bass channel

C0Assassin commented 7 months ago

I think i understand what may have caused this. A while back ago we had a mass mogg change that replaced all moggs with their real decrypted moggs, and a majority of the earlier songs in this repo were changed, and subsequently no longer matched the old dta information.

Ill check more into it later. Id suggest playing thru a lot of the older songs from this repo if u can. Stuff like the Aerosmith, Van Halen tracks. Just to see if theres any lingering issues that haven't been picked up yet.

r0bd0g commented 7 months ago

So what actually happened here? Were some songs that had their moggs updated, not also updated to have their dtas match with the new moggs? Does this mean I should check every song to make sure the number of tracks in the dta matches the number of tracks in the mogg? Could some of the affected songs have the same number of tracks but different intended vols/pans (meaning there'd be no way to tell the dtas weren't updated)?

C0Assassin commented 6 months ago

I let another collaborator take control and allowed them to update every previously converted v17 song, as prior to the encryption being cracked, they were all just DIY tracks of the album releases/or used another source for the stems, like GH. (Or in some cases, at least within the last year, a diy of a mixdown of the official cracked mogg, just so that we wouldn't send officially decrypted v17 moggs out too early.)

The only problem with this, is that I took liberties with my conversions. Such as decensors, and custom crowd tracks and such. So that obviously would cause issues if the real mogg were to be plugged back in without prior knowledge.

I was told that everything would be accounted for, but it appears that wasnt really the case and that some bugs still slipped through. Its unfortunate but since its such a big project its kind of a given that it would happen.

C0Assassin commented 6 months ago

So I've sent two updates to the initial offending tracks: Angel of Death and Iris. There's possibly more that I don't know about because of the mogg update.

Please list more if you do find them.