SGT
From Video Game Music Preservation Foundation Wiki
DirectMusic Segment | |||||
Developer: | Microsoft | ||||
Header: | RIFF | ||||
Content: | Unknown | ||||
Instruments: | External | ||||
Target Output
| |||||
Released: | 1996-??-?? | ||||
First Game: | ? | ||||
Extensions |
|
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)
Contents
Players
(Category)
- DirectMusic Producer - Windows 16
- DM-Player v1.10 (DMPL.EXE) (doesn't seem to play sound in modern Windows)
- Ficedula DirectMusic Plugin - Winamp
- FMOD - Windows 32 (not supported in v4.30, works in v3.75 (missing download) (Java version (source))
- libdmusic - Linux, Windows 32, Windows 64
- Simple DirectMusic Player - Windows 32
Editors
(Category)
- DirectMusic Producer - Windows 16
Converters
(Category)
SGT to ?
- libdmusic - Linux, Windows 32, Windows 64 - WAV
- sgt2wav can also be used to extract music to WAV (need someone to compile an EXE) however this may be missing DLS instruments to give the unique sound
? to SGT
Games
(Category)
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
- en.wikipedia.org/wiki/DirectMusic - Wikipedia.
- msdn.microsoft.com/en-us/library/dd551277(v=vs.85).aspx - MSDN - DirectMusic C/C++ Reference.
- youtube.com/watch?v=gVPxPBcVDzI - Investigating DirectMusic: The Lego Island 2 Soundtrack - Druaga1 - YouTube.