Jump to content

XML:SNDD: Difference between revisions

1,627 bytes added ,  19 February 2023
→‎BaseTrack2: rewrote and restructured the section
(confirming that Weight does what we thought)
(→‎BaseTrack2: rewrote and restructured the section)
Line 731: Line 731:
* Test your stuff in-game!
* Test your stuff in-game!


==BaseTrack2==
==Using BaseTrack2 to mix music and sound effects==
You can also place a sound in the OSBD.amb's <BaseTrack2> and it will play in parallel with <BaseTrack1>. This allows you to play one music track continuously over another. An example of this is OSBDmus_xtr2, which is invoked in both the Shinatama farewell scene and the conclusion of the Dream Driver monologue. Its use of <BaseTrack1> and <BaseTrack2> leads to the high string note SNDDmus_xtr2hi.aif playing continuously over the melody in SNDDmus_xtr2_[1-6].aif.
You can place a sound in the OSBD.amb's <BaseTrack2> and it will play in parallel with <BaseTrack1>.


The benefit of this live-mix approach is that you can use one of these tracks in isolation in other places, or in combination with another track; for instance, OSBDmus_choral1 calls for SNDDmus_xtr2_[1-6].aif to be mixed with SNDDmus_choral1.aif (except that this mus_choral1 piece doesn't exist and the OSBD is never called…).
===Mixing music tracks===
Oni uses this feature in order to layer one music track over another, but only in one functioning OSBD: '''OSBDmus_xtr2''', the sorrowful string piece which plays in the Shinatama farewell scene in {{C8}} and at the conclusion of Hasegawa's monologue at the start of {{C11}}. The OSBD's use of <BaseTrack1> and <BaseTrack2> leads to the high string note SNDDmus_xtr2hi.aif playing continuously over the melody in SNDDmus_xtr2_[1-6].aif.


Note that when combining music tracks, both tracks have to share the same <InSound> and <OutSound>. Thus, SNDDmus_xtr2endmx.aif was created to end the mix of SNDDmus_xtr2hi.aif and SNDDmus_xtr2_[1-6].aif, as opposed to SNDDmus_xtr2_end.aif which provides an end for only SNDDmus_xtr2_[1-6].aif when playing on its own.
The benefit of this live-mix approach is that you can also use one of the tracks on its own in other places, or in combination with a different second track; for instance, '''OSBDmus_choral1''' calls for SNDDmus_xtr2_[1-6].aif to be mixed with SNDDmus_choral1.aif (except that SNDDmus_choral1.aif doesn't exist and the OSBD is never called…).


Another use of <BaseTrack2> is ambient environmental sound; an example is found in Musashi Manufacturing Plant, where OSBDMP_ovalthings is used to play SNDDtransroom1lp2.aif on top of SNDDac3lp[1-3].aif when you get close to each of the eight oval things in the, uh, room with the oval things.
Note that when mixing two tracks in this way, both tracks will have to share the same <InSound> and <OutSound>. For this reason, SNDDmus_xtr2endmx.aif was created to end the mix of SNDDmus_xtr2hi.aif and SNDDmus_xtr2_[1-6].aif, as opposed to SNDDmus_xtr2_end.aif which provides an end for only SNDDmus_xtr2_[1-6].aif when playing on its own.


BaseTrack2 is even used in OSBDbarab_recharge to beef up Barabas' recharging effect by playing his recharge sound twice at the same time.
There is no requirement that the <Sound>s in BaseTrack1's .grp file have the same length as BaseTrack2's; each base track will keep looping its specified <Sound>s independently until the music ends. However, if the two tracks do not have segments of the same length (or at least, if one track's segments do not evenly divide into the other's), it might be very noticeable when one base track cleanly transitions to the shared <OutSound> and the other base track cuts abruptly to it. '''OSBDmus_xtr2''' showcases a solution to this: mixing an "unstructured" track with a "structured" track; because SNDDmus_xtr2hi.aif is a continuous note, it doesn't matter that it's 5 seconds long and the SNDDmus_xtr2_[1-6].aif segments are 14-24 seconds long; the OSBD can cut to its outro at the end of any SNDDmus_xtr2_*.aif segment without audible disruption in SNDDmus_xtr2hi.aif.
 
A second solution to the problem of mismatched lengths is simply to fade out the piece using <code>sound_music_volume</code> instead of relying on the base tracks to line up going into the outro. Oni does this with '''OSBDmus_xtr2''' at the end of the Shinatama cutscene in order to cross-fade into atm_cl10, though it does rely on the .amb's <OutSound> to bring the music to a graceful close in the Dream Lab cutscene by calling <code>sound_music_stop</code>.
 
===Layering ambience===
[[Image:Ch. 2 dynamo room.jpg|200px|thumb|The, uh, room with the oval things.]]
Another use of <BaseTrack2> in Oni is for ambient environmental sound; an example is found in Musashi Manufacturing Plant, where '''OSBDMP_ovalthings''' is used to play SNDDtransroom1lp2.aif on top of SNDDac3lp[1-3].aif when you get close to each of the, uh, oval things.
 
===Doubling a sound effect===
<BaseTrack2> is even used in '''OSBDbarab_recharge''' to beef up Barabas' recharging effect by playing his recharge sound twice at the same time.


{{XML}}
{{XML}}