SGT

From Video Game Music Preservation Foundation Wiki
Jump to: navigation, search
DirectMusic Segment
SGT.png
Developer: Microsoft
Header: RIFF
Content: Unknown
Instruments: External
Target Output
Output - Digital Audio.png Output - MIDI.png Output - FM Synthesis - No.png Output - PSG - No.png
Released: 1996-??-??
First Game: ?
Extensions
  • *.sgt

The DirectMusic Segment is a proprietary file format was created by Microsoft Corporation. These files can be played with DirectMusic API using Microsoft Software Synthesizer or any installed MIDI output device. Since DirectMusic provides DLS support, SGT files often coming with sound banks, thus increasing the fidelity of a song.

SGT files contain playing order and track information. Segment files always come with Style files, because they contain all required melody pattern information.

Segment files has some improvements in comparison with MIDI or RMI, for example:

  • External DLS sound bank support (more than one)
  • Pattern randomization (each time you play a song, it can sound different)

Players

(Category)

Editors

(Category)

Games

(Category)
Released Title Sample
1999-02-03 DirectX Diagnostic Tool (W32)
2000-01-25 Final Fantasy VIII (W32)
2000-09-22 Midtown Madness 2 (W32)
2000-11-19 Hitman: Codename 47 (W32)
2001-11-13 Empire Earth (W32)
2001-11-15 Gothic (W32)
2003-08-18 Donuts 4: Revenge of the Space Torus (W32)
2003-08-21 Gothic II: Night of the Raven (W32)
2003-10-28 Gothic II (W32)
2005-04-28 American Civil War Gettysburg (W32)
2005-06-27 La-Mulana (W32)
2010-??-?? Marine Aquarium 3 (W32)

Technical

All SGT files use RIFF tree structure, and the identifier is DMSG.

RIFF Tree Structure

File Root
│
└─ RIFF:DMSG         - DirectMusic Segment header
   ├─ segh           - Segment header
   ├─ LIST:sgdl      - Segment data list
   │  └─ segd        - Segment data
   ├─ vers           - Version info
   ├─ LIST:UNFO      - Information container (Unicode)
   │  ├─ INAM        - Name / Title
   │  ├─ IART        - Artist
   │  └─ ...
   └─ LIST:trkl      - Track list
      ├─ RIFF:DMTK   - Track #1
      │  ├─ trkh     - Track header (specifies track type and next chunk name)
      │  └─ ????     - Track data (can be single chunk, LIST or RIFF branch)
      ├─ RIFF:DMTK   - Track #2
      │  └─ ...
      └─ ...

Links