SMR.szs: Difference between revisions

From Luma's Workshop
Jump to navigation Jump to search
(Added volume and cit references)
(changed structure of page, moved editing instructions to the bottom)
Line 3: Line 3:
{{WIP}}
{{WIP}}


SMR.szs is a compressed BAA-file which defines the game's sound system. It contains strings relating to music, as well as information about various sequenced music and sound effects. Among other things, the file paths of [[AST]] stream files and the names of BGM, MBGM and STM tracks are specified within this file.
'''SMR.szs''' is a compressed BAA file ('''B'''inary '''A'''udio '''A'''rchive) which defines the game's sound system. It contains references to [[AST (File Format)|streamed]] and [[BMS (File Format)|sequenced]] music files as well as data for sound effects and instruments. It can be found in various JAudio games, however the specifications below mainly apply to ''Super Mario Galaxy'' and ''Super Mario Galaxy 2''.<br>
<br>
The following files are directly linked to SMR.szs:
* [[BgmParam|AudioRes/Info/BgmParam.arc]] (SMG2 only, overrides the BGM and STM volume parameter)
* [[CIT (File Format)|AudioRes/Info/JaiChord.arc]] (SMR.szs links BGM labels to CIT file IDs within this archive)
* [[BMS (File Format)|AudioRes/Seqs/JaiSeq.arc]] (SMR.szs links BGM labels to BMS file IDs within this archive)
* [[AST (File Format)|AudioRes/Stream/*.ast]] (SMR.szs links STM labels to AST files)
* [[AW (File Format)|AudioRes/Waves/*.aw]] (SMR.szs defines the contents of AW files)
 
 
The following files are indirectly linked to SMR.szs:
* [[ActionSound|AudioRes/Info/ActionSound.arc]] (SMG2 only, links hardcoded triggers for all objects to sound effects in SMR.szs)
* AudioRes/Info/JaiMe.arc (References instruments from SMR.szs)
* [[BRS (File Format)|AudioRes/Info/JaiRemixSeq.arc]] (References instruments from SMR.szs)
* [[MultiBgmInfo|AudioRes/Info/MultiBgmInfo.arc]] (SMG2 only, connects MBGM labels to STM and BGM labels, allowing streamed and sequenced audio to play simultaneously)
* [[SoundIdToInstList|AudioRes/Info/SoundIdToInstList]] (SMG2 only, references Sound IDs and instruments from SMR.szs and allows loading AW files)
* AudioRes/Info/StageBgmInfo.arc (SMG2 only, controls the [[ScenarioBgmInfo|main music]] and [[StageBgmInfo|music changes]] for all stages)
 
==BST==
==BSTN==
==SC==
==WSYS==
==IBNK==
 
==Editing SMR.szs==
'''The following section contains instructions for editing SMR.szs with the SoundModdingToolkit. They do not contain specifications for the file itself.'''


The tool [https://xayr.gay/tools/SoundModdingToolkit/ SoundModdingToolkit] can convert this file into a clear and readable file structure, so the structure of the file is shown on this page using the tool's converted structure.
The tool [https://xayr.gay/tools/SoundModdingToolkit/ SoundModdingToolkit] can convert this file into a clear and readable file structure, so the structure of the file is shown on this page using the tool's converted structure.
Line 9: Line 34:
'''Please note that only version 4.1.0 can edit the lists without any problems. Later versions can lead to problems such as muted songs.'''
'''Please note that only version 4.1.0 can edit the lists without any problems. Later versions can lead to problems such as muted songs.'''


==BGM==
===BGM===
===MAIN_BGM===
====MAIN_BGM====
Found in ''SoundTable/BGM/libraries/MAIN_BGM.json'' </br>
Found in ''SoundTable/BGM/libraries/MAIN_BGM.json'' </br>
Defines the sequenced music. The music sequence files can be found in bms format in ''AudioRes/Seqs/JaiSeq.arc''.
Defines the sequenced music. The music sequence files can be found in bms format in ''AudioRes/Seqs/JaiSeq.arc''.
Line 47: Line 72:
|}
|}


===MULTI_BGM===
====MULTI_BGM====
Found in ''SoundTable/BGM/libraries/MULTI_BGM.json'' </br>
Found in ''SoundTable/BGM/libraries/MULTI_BGM.json'' </br>
Defines settings about Multi BGM such as its name. Multi BGM combines Stream (STM) and sequential Music (BGM). Which Music is set for each Multi BGM is defined in [[MultiBgmInfo]].
Defines settings about Multi BGM such as its name. Multi BGM combines Stream (STM) and sequential Music (BGM). Which Music is set for each Multi BGM is defined in [[MultiBgmInfo]].
Line 84: Line 109:
|}
|}


==STREAM==
===STREAM===
Found in ''SoundTable/STREAM/0.json''</br>
Found in ''SoundTable/STREAM/0.json''</br>
Defines the streamed ast audio files including its internal STM name as well as its filepath.
Defines the streamed ast audio files including its internal STM name as well as its filepath.
Line 118: Line 143:
|}
|}


==SE==
===SE===
===AW===
====AW====
Each aw. file is converted by the tool into a folder that has the ID of the aw file in its name, and besides the sound files converted in wav format, contains the following settings for each sound:
Each aw. file is converted by the tool into a folder that has the ID of the aw file in its name, and besides the sound files converted in wav format, contains the following settings for each sound:
*'''manifest.json''' Contains the ID and name of the aw file
*'''manifest.json''' Contains the ID and name of the aw file
*'''wavetable.json''' Contains settings for each sound of the aw. file
*'''wavetable.json''' Contains settings for each sound of the aw. file


====wavetable====
=====wavetable=====
Each entry starts with the name of the Wav file (e.g. "31") followed by its settings:
Each entry starts with the name of the Wav file (e.g. "31") followed by its settings:
{| class="wikitable"  
{| class="wikitable"  
Line 159: Line 184:
|}
|}


 
====Libraries====
===Libraries===
In ''SoundTable\SE\libraries\'' there are several libraries which contain settings for sounds with their internal assigned names.
In ''SoundTable\SE\libraries\'' there are several libraries which contain settings for sounds with their internal assigned names.



Revision as of 11:29, 3 February 2025

This page is in progress and may contain incomplete information or editor's notes.

SMR.szs is a compressed BAA file (Binary Audio Archive) which defines the game's sound system. It contains references to streamed and sequenced music files as well as data for sound effects and instruments. It can be found in various JAudio games, however the specifications below mainly apply to Super Mario Galaxy and Super Mario Galaxy 2.

The following files are directly linked to SMR.szs:


The following files are indirectly linked to SMR.szs:

BST

BSTN

SC

WSYS

IBNK

Editing SMR.szs

The following section contains instructions for editing SMR.szs with the SoundModdingToolkit. They do not contain specifications for the file itself.

The tool SoundModdingToolkit can convert this file into a clear and readable file structure, so the structure of the file is shown on this page using the tool's converted structure.

Please note that only version 4.1.0 can edit the lists without any problems. Later versions can lead to problems such as muted songs.

BGM

MAIN_BGM

Found in SoundTable/BGM/libraries/MAIN_BGM.json
Defines the sequenced music. The music sequence files can be found in bms format in AudioRes/Seqs/JaiSeq.arc.

Name Description
unk1
unk2 Volume (overridden by BgmParam in SMG2)
unk3 File ID of the bms file in JaiSeq.arc to use (the filename is ignored)
unk4 File ID of the cit file in JaiChord.arc to use (the filename is ignored)
unk5
type
mOffset
NameOffset
name Internal mapping name for this sequence (e.g. "BGM_MISS").
This name can then be used in musiclists like ScenarioBgmInfo.

MULTI_BGM

Found in SoundTable/BGM/libraries/MULTI_BGM.json
Defines settings about Multi BGM such as its name. Multi BGM combines Stream (STM) and sequential Music (BGM). Which Music is set for each Multi BGM is defined in MultiBgmInfo.

Name Description
unk1 ? always 112
unk2 ? always 120
unk3 ? always 0
unk4 ? always -1
unk5 ? always 0
type ? always 96
mOffset
NameOffset ? always 0
name Internal mapping name for this entry (e.g. "MBGM_STAR_CHANCE")
This name can then be used in musiclists like ScenarioBgmInfo.

STREAM

Found in SoundTable/STREAM/0.json
Defines the streamed ast audio files including its internal STM name as well as its filepath.

Name Description
unk1 ? always 128
unk2 Volume (overridden by BgmParam in SMG2)
streamType Stream Type
14: Standard Stream (2 Channels)
238: Multi Stream (4 Channels)
streamPath Filepath of the AST file to use (e.g. "/AudioRes/Stream/smg2_ev_starchance_strm.ast")
type ? always 112
mOffset
NameOffset ? always 0
name Internal mapping name for this song (e.g. "STM_STAR_CHANCE")
This name can then be used in musiclists like ScenarioBgmInfo.

SE

AW

Each aw. file is converted by the tool into a folder that has the ID of the aw file in its name, and besides the sound files converted in wav format, contains the following settings for each sound:

  • manifest.json Contains the ID and name of the aw file
  • wavetable.json Contains settings for each sound of the aw. file
wavetable

Each entry starts with the name of the Wav file (e.g. "31") followed by its settings:

Name Description
format ? always 0
key
sampleRate The sample rate at which the sound should be played. (e.g. "22050.0")
sampleCount Length of the sound in samples
loop Whether it should be looped or not
true: loop
false: do not loop
loop_start Loop Start position in samples.
loop_end Loop End position in samples.
last
penult

Libraries

In SoundTable\SE\libraries\ there are several libraries which contain settings for sounds with their internal assigned names.

Name Description
unk1 ? always 128
unk2
unk3
unk4
unk5
unk6
type Always 80
mOffset
NameOffset ? Always 0
name Internal Name of the soundeffect (e.g. "SE_SV_LV_YOSHI_FLUTTER")