Difference between revisions of "Music.tbl"

From FreeSpace Wiki
Jump to: navigation, search
(Music Tracks)
m (update)
Line 1: Line 1:
 +
Revision information.. <!-- Please update this information when page is updated -->
 +
::'''3.6.x branch:''' 2.40.2.5
 +
::'''3.7 branch:''' 2.46
 +
 +
 
==General Format==
 
==General Format==
 
*Music.tbl consist of several sections. Some are used to define in-game soundtracks and others various other musics.
 
*Music.tbl consist of several sections. Some are used to define in-game soundtracks and others various other musics.
Line 9: Line 14:
 
**Music names and definitions
 
**Music names and definitions
 
**'''#Menu Music End'''
 
**'''#Menu Music End'''
 +
  
 
==Soundtrack Musics==
 
==Soundtrack Musics==
 +
  
 
===$Soundtrack Name:===
 
===$Soundtrack Name:===
 
*Soundtrack Name is immediately followed by the soundtrack order number and the name of the soundtrack.
 
*Soundtrack Name is immediately followed by the soundtrack order number and the name of the soundtrack.
*Syntax: ''Value'': ''Name''
+
*Syntax: '''Integer''': '''String'''
 
**Example: 1: Genesis
 
**Example: 1: Genesis
 +
 +
 +
===+nocreate===
 +
{{Table36|
 +
*Used with [[Modular Tables|modular tables]] to set the parser to use the modular table only for modifying an existing entry instead of creating new (possibly incomplete) one.}}
 +
  
 
===Soundtrack Flags===
 
===Soundtrack Flags===
 +
{{Table36|
 
If the music should be played according to the FS1 style, the following flags should be added after $Soundtrack Name:
 
If the music should be played according to the FS1 style, the following flags should be added after $Soundtrack Name:
  
*+Cycle: FS1
+
*'''+Cycle: FS1'''
 
**This cycles the NRML and BTTL tracks the FS1 way, instead of the FS2 way.
 
**This cycles the NRML and BTTL tracks the FS1 way, instead of the FS2 way.
  
*+Allied Arrival Overlay: NO
+
*'''+Allied Arrival Overlay: NO'''
**This allows the Allied Arrival track to play on its own, as it did in FS1.
+
**This allows the Allied Arrival track to play on its own, as it did in FS1.}}
 +
 
  
 
===Music Tracks===
 
===Music Tracks===
*All music track lines beging with '''$Name:''' followed by the '''filename''' of music track. After the tracks filename the '''number of measures''' (NM) in the track is defined followed by the '''number of samples per measure''' (SPM).
+
*All music track lines beging with '''$Name:''' followed by the '''filename''' of music track, with file extension. After the tracks filename the '''number of measures''' (NM) in the track is defined followed by the '''number of samples per measure''' (SPM).
*Syntax: $Name: ''Filename.xxx'' ''Value'' ''Value''
+
*Syntax: '''String''' '''Float''' '''Integer'''
 
**Example: $Name: FS2_Amb_A01.wav 25.0 105840
 
**Example: $Name: FS2_Amb_A01.wav 25.0 105840
 
*The SPM value is computed using the formula '''SPM = (2*SF*L)/NM''', where SF is the sampling frequency in hz and L is length of the music piece in seconds (only up to the point where the game is supposed to truncate it, not necessarily the length of the entire file). The NM value is irrelevant. You can put in anything for it as long as the SPM is calculated correctly, since the game internally just multiplies them together. The main piece of information that the game needs is L. It tells the game where to stop playing the file and make the transition to the next music piece, which in some cases is significantly earlier than the full length of the file. The track B enemy arrival piece, FS2_Btl_B04.wav, is one example of this.
 
*The SPM value is computed using the formula '''SPM = (2*SF*L)/NM''', where SF is the sampling frequency in hz and L is length of the music piece in seconds (only up to the point where the game is supposed to truncate it, not necessarily the length of the entire file). The NM value is irrelevant. You can put in anything for it as long as the SPM is calculated correctly, since the game internally just multiplies them together. The main piece of information that the game needs is L. It tells the game where to stop playing the file and make the transition to the next music piece, which in some cases is significantly earlier than the full length of the file. The track B enemy arrival piece, FS2_Btl_B04.wav, is one example of this.
  
===Order of the music tracks:===
+
 
*'''Ambience'''
+
====Order of the music tracks:====
*'''Allied Arrival during Normal'''
+
{|-
*'''Enemy Arrival during Normal'''
+
| style="width:350px"|'''Ambience'''  
*'''Battle 1'''
+
| style="width:100px"|''"Normal 1"''
*'''Battle 2'''
+
|-
*'''Battle 3'''
+
|'''Allied Arrival during Normal'''
*'''Allied Arrival during Battle'''
+
|''"Ally arrival 1"''
*'''Enemy Arrival during Battle'''
+
|-
*'''Victory 1 ( goal completed )'''
+
|'''Enemy Arrival during Normal'''
*'''Victory 2  ( all enemies dead, goals completed )'''
+
|''"Enemy arrival 1"''
*'''Goal Failed'''
+
|-
*'''Player dies'''
+
|'''Battle 1'''
 +
|''"Battle 1"''
 +
|-
 +
|'''Battle 2'''
 +
|''"Battle 2"''
 +
|-
 +
|'''Battle 3'''
 +
|''"Battle 3"''
 +
|-
 +
|'''Allied Arrival during Battle'''
 +
|''"Ally arrival 2"''
 +
|-
 +
|'''Enemy Arrival during Battle'''
 +
|''"Enemy arrival 2"''
 +
|-
 +
|'''Victory 1 ( goal completed )'''
 +
|''"Victory 1"''
 +
|-
 +
|'''Victory 2  ( all enemies dead, goals completed )'''
 +
|''"Victory 2"''
 +
|-
 +
|'''Goal Failed'''
 +
|''"Failure 1"''
 +
|-
 +
|'''Player dies'''
 +
|''"Dead 1"''
 +
|-
 +
|}
 +
{{Table36|
 +
*Following entries have been added by SCP}}
 +
{|-
 +
| style="width:350px"|'''Ambience 2'''
 +
| style="width:100px"|''"Normal 2"''
 +
|-
 +
|'''Ambience 3'''
 +
|''"Normal 3"''
 +
|-
 +
|}
 +
 
 +
 
 +
===Specific Music Tracks===
 +
{{Table36|
 +
*If table doesn't have retail like '''$Name:''' at the beginning of the line then a new method for parsing tables can be used
 +
*Instead $'''String''': can be used where the string is shortened name of the music track.
 +
*After the initial entry on the line, rest of the music entry is added after it.
 +
*Name of the music track, name of the associated music file with file extension, number of measure, number of samples per measure
 +
*Syntax: $'''String''': '''String''' '''Float''' '''Integer'''
 +
*Example: $Battle 1:    FS2_Btl_G01.ogg            25.8  176400}}
 +
 
  
 
==Menu Musics==
 
==Menu Musics==
Line 52: Line 115:
 
**Example: $Filename: FS2_Brief_01.wav  
 
**Example: $Filename: FS2_Brief_01.wav  
  
===$Name: Brief1===
 
*Defines the file used for music when briefing music 1 is selected
 
 
===$Name: Brief2===
 
*Defines the file used for music when briefing music 2 is selected
 
 
===$Name: Brief3===
 
*Defines the file used for music when briefing music 3 is selected
 
 
===$Name: Brief4===
 
*Defines the file used for music when briefing music 4 is selected
 
 
===$Name: Brief5===
 
*Defines the file used for music when briefing music 5 is selected
 
 
===$Name: Brief6===
 
*Defines the file used for music when briefing music 6 is selected
 
 
===$Name: Brief7===
 
*Defines the file used for music when briefing music 7 is selected
 
  
===$Name: Success===
+
===$Name:===
*Sets the music played during debriefing after successful mission
+
*Defines the name of the menu music
 +
*Syntax: '''String'''
 +
**Allowed musics:
 +
***''Brief1''
 +
***''Brief2''
 +
***''Brief3''
 +
***''Brief4''
 +
***''Brief5''
 +
***''Brief6''
 +
***''Brief7''
 +
***''Success''
 +
***''Average''
 +
***''Failure''
 +
***''Aquitane''
 +
***''Psampik''
 +
***''Cinema''
  
===$Name: Average===
 
*Sets the music played during debriefing after average mission
 
  
===$Name: Failure===
+
===+nocreate===
*Sets the music played during debriefing after failed mission
+
{{Table36|
 +
*Used with [[Modular Tables|modular tables]] to set the parser to use the modular table only for modifying an existing entry instead of creating new (possibly incomplete) one.}}
  
===$Name: Aquitaine===
 
*Defines the main menu music
 
  
===$Name: Psampik===
+
===$Filename:===
*Defines the alternate (Vasudan) menu music
+
*Defines the actual file
 +
*Syntax: '''String''', filename with file extension
  
===$Name: Cinema===
 
*Defines the music that is playing when credits are shown
 
  
 
==Sample==
 
==Sample==

Revision as of 14:52, 9 August 2007

Revision information..

3.6.x branch: 2.40.2.5
3.7 branch: 2.46


General Format

  • Music.tbl consist of several sections. Some are used to define in-game soundtracks and others various other musics.
  • Sountrack entries
    • #SoundTrack Start
    • Soundtracks names and definitions
    • #SoundTrack End
  • Other musics
    • #Menu Music Start
    • Music names and definitions
    • #Menu Music End


Soundtrack Musics

$Soundtrack Name:

  • Soundtrack Name is immediately followed by the soundtrack order number and the name of the soundtrack.
  • Syntax: Integer: String
    • Example: 1: Genesis


+nocreate

FS2 Open, 3.6.x:
  • Used with modular tables to set the parser to use the modular table only for modifying an existing entry instead of creating new (possibly incomplete) one.


Soundtrack Flags

FS2 Open, 3.6.x:

If the music should be played according to the FS1 style, the following flags should be added after $Soundtrack Name:

  • +Cycle: FS1
    • This cycles the NRML and BTTL tracks the FS1 way, instead of the FS2 way.
  • +Allied Arrival Overlay: NO
    • This allows the Allied Arrival track to play on its own, as it did in FS1.


Music Tracks

  • All music track lines beging with $Name: followed by the filename of music track, with file extension. After the tracks filename the number of measures (NM) in the track is defined followed by the number of samples per measure (SPM).
  • Syntax: String Float Integer
    • Example: $Name: FS2_Amb_A01.wav 25.0 105840
  • The SPM value is computed using the formula SPM = (2*SF*L)/NM, where SF is the sampling frequency in hz and L is length of the music piece in seconds (only up to the point where the game is supposed to truncate it, not necessarily the length of the entire file). The NM value is irrelevant. You can put in anything for it as long as the SPM is calculated correctly, since the game internally just multiplies them together. The main piece of information that the game needs is L. It tells the game where to stop playing the file and make the transition to the next music piece, which in some cases is significantly earlier than the full length of the file. The track B enemy arrival piece, FS2_Btl_B04.wav, is one example of this.


Order of the music tracks:

Ambience "Normal 1"
Allied Arrival during Normal "Ally arrival 1"
Enemy Arrival during Normal "Enemy arrival 1"
Battle 1 "Battle 1"
Battle 2 "Battle 2"
Battle 3 "Battle 3"
Allied Arrival during Battle "Ally arrival 2"
Enemy Arrival during Battle "Enemy arrival 2"
Victory 1 ( goal completed ) "Victory 1"
Victory 2 ( all enemies dead, goals completed ) "Victory 2"
Goal Failed "Failure 1"
Player dies "Dead 1"
FS2 Open, 3.6.x:
  • Following entries have been added by SCP
Ambience 2 "Normal 2"
Ambience 3 "Normal 3"


Specific Music Tracks

FS2 Open, 3.6.x:
  • If table doesn't have retail like $Name: at the beginning of the line then a new method for parsing tables can be used
  • Instead $String: can be used where the string is shortened name of the music track.
  • After the initial entry on the line, rest of the music entry is added after it.
  • Name of the music track, name of the associated music file with file extension, number of measure, number of samples per measure
  • Syntax: $String: String Float Integer
  • Example: $Battle 1: FS2_Btl_G01.ogg 25.8 176400


Menu Musics

  • Menu musics are defined with filename after the name of the tracks name.
  • Syntax for all of the Menu Music entries are similar
  • Syntax: $Filename: Filename.xxx
    • Example: $Filename: FS2_Brief_01.wav


$Name:

  • Defines the name of the menu music
  • Syntax: String
    • Allowed musics:
      • Brief1
      • Brief2
      • Brief3
      • Brief4
      • Brief5
      • Brief6
      • Brief7
      • Success
      • Average
      • Failure
      • Aquitane
      • Psampik
      • Cinema


+nocreate

FS2 Open, 3.6.x:
  • Used with modular tables to set the parser to use the modular table only for modifying an existing entry instead of creating new (possibly incomplete) one.


$Filename:

  • Defines the actual file
  • Syntax: String, filename with file extension


Sample

  • Uses normal soundtrack and menu musics from FS2
  #SoundTrack Start
  $Soundtrack Name: 1: Genesis
  $Name:   FS2_Amb_A01.wav      25.0     105840
  $Name:   FS2_AArv_A01.wav     1.8      105840
  $Name:   FS2_Arv_B01.wav      3.8      81415
  $Name:   FS2_Btl_A01.wav      25.8     66150
  $Name:   FS2_Btl_A02.wav      27.8     81415
  $Name:   FS2_Btl_A03.wav      39.8     81415
  $Name:   FS2_AArv_A01.wav     1.8      105840
  $Name:   FS2_Arv_B02.wav      3.8      81415
  $Name:   FS2_Vict_A01.wav     2.8      52920
  $Name:   FS2_Vict_A02.wav     30.8     52920
  $Name:   FS2_Dth_A01.wav      23.8     132300
  $Name:   FS2_Dth_A01.wav      23.8     132300
  #SoundTrack End
  #Menu Music Start
  $Name:      Brief1
  $Filename:  FS2_Brief_01.wav
  $Name:      Brief2
  $Filename:  FS2_Brief_02.wav
  $Name:      Brief3
  $Filename:  FS2_Brief_03.wav
  $Name:      Brief4
  $Filename:  FS2_Brief_04.wav
  $Name:      Brief5
  $Filename:  FS2_Brief_05.wav
  $Name:      Brief6
  $Filename:  FS2_Btl_A01.wav
  $Name:      Brief7
  $Filename:  FS2_Cinema2.wav
  $Name:      Success
  $Filename:  FS2_DB_01.wav
  $Name:      Average
  $Filename:  FS2_DB_02.wav
  $Name:      Failure
  $Filename:  FS2_DB_03.wav
  $Name:      Aquitaine
  $Filename:  Aquitaine.wav
  $Name:      Psampik
  $Filename:  Psampik.wav
  $Name:      Cinema
  $Filename:  FS2_Cinema2.wav
  #Menu Music End