<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://fileformats.archiveteam.org/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://fileformats.archiveteam.org/index.php?action=history&amp;feed=atom&amp;title=GoatTracker_module</id>
		<title>GoatTracker module - Revision history</title>
		<link rel="self" type="application/atom+xml" href="http://fileformats.archiveteam.org/index.php?action=history&amp;feed=atom&amp;title=GoatTracker_module"/>
		<link rel="alternate" type="text/html" href="http://fileformats.archiveteam.org/index.php?title=GoatTracker_module&amp;action=history"/>
		<updated>2026-06-23T02:13:05Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.19.2</generator>

	<entry>
		<id>http://fileformats.archiveteam.org/index.php?title=GoatTracker_module&amp;diff=51861&amp;oldid=prev</id>
		<title>Polluks: Created page with &quot;{{FormatInfo |formattype=electronic |subcat=Audio and Music |extensions={{ext|sng}} |wikidata={{wikidata|Q105852999}} }}  '''&lt;code&gt;.sng&lt;/code&gt;''' is the native project file fo...&quot;</title>
		<link rel="alternate" type="text/html" href="http://fileformats.archiveteam.org/index.php?title=GoatTracker_module&amp;diff=51861&amp;oldid=prev"/>
				<updated>2026-06-22T10:56:00Z</updated>
		
		<summary type="html">&lt;p&gt;Created page with &amp;quot;{{FormatInfo |formattype=electronic |subcat=Audio and Music |extensions={{ext|sng}} |wikidata={{wikidata|Q105852999}} }}  &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;.sng&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; is the native project file fo...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{FormatInfo&lt;br /&gt;
|formattype=electronic&lt;br /&gt;
|subcat=Audio and Music&lt;br /&gt;
|extensions={{ext|sng}}&lt;br /&gt;
|wikidata={{wikidata|Q105852999}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;code&amp;gt;.sng&amp;lt;/code&amp;gt;''' is the native project file format used by '''GoatTracker''', a popular cross-platform music tracker designed to compose music for the Commodore 64 SID (Sound Interface Device) chip. &lt;br /&gt;
&lt;br /&gt;
The format stores the compositional data (patterns, instrument parameters, and sequence orders) rather than actual audio waveforms. It is intended to be opened and edited within the GoatTracker software, as opposed to the compiled [[SID (audio format)|.sid]] format which is used for playback.&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
* [[GoatTracker]]&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
The &amp;lt;code&amp;gt;.sng&amp;lt;/code&amp;gt; format is a binary file format. It is structured to map directly to GoatTracker's internal memory structures, containing the following primary components:&lt;br /&gt;
&lt;br /&gt;
* '''Header and Metadata:''' Includes a file signature, format version number, and song title.&lt;br /&gt;
* '''Global Parameters:''' Stores the song's initial tempo, timing mode (e.g., CIA or VBI), and the number of sub-songs contained within the file.&lt;br /&gt;
* '''Instrument Data:''' GoatTracker instruments are defined by hardware register manipulation. The file stores tables for ADSR (Attack, Decay, Sustain, Release) envelopes, waveform shapes (triangle, sawtooth, pulse, noise), pulse-width modulation tables, and filter cutoff/resonance settings.&lt;br /&gt;
* '''Order List:''' A sequential array dictating the playback order of the song's patterns.&lt;br /&gt;
* '''Pattern Data:''' A matrix of note values, instrument triggers, and effect commands (such as portamento, vibrato, and arpeggios) mapped across the SID chip's voices.&lt;br /&gt;
&lt;br /&gt;
=== Version Differences ===&lt;br /&gt;
There are notable differences between &amp;lt;code&amp;gt;.sng&amp;lt;/code&amp;gt; files saved by GoatTracker 1.x and GoatTracker 2.x:&lt;br /&gt;
* GoatTracker 2 introduced a 4th &amp;quot;track&amp;quot; dedicated solely to hardware filter manipulation, allowing complex filter sweeps independent of the 3 primary SID voices. Files utilizing this feature will not import correctly into GoatTracker 1.&lt;br /&gt;
* GoatTracker 2 expanded the maximum number of patterns, instruments, and order list steps, altering the binary layout of the file.&lt;br /&gt;
&lt;br /&gt;
== Identification ==&lt;br /&gt;
&amp;lt;code&amp;gt;.sng&amp;lt;/code&amp;gt; files can be identified by reading the file's magic bytes at the beginning of the file. The header typically begins with the ASCII string &amp;lt;code&amp;gt;GTS&amp;lt;/code&amp;gt; followed by a version number byte (for example, &amp;lt;code&amp;gt;GTS5&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;GTS6&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;GTS7&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== Specifications ==&lt;br /&gt;
GoatTracker is open-source software written in C and C++. Because the &amp;lt;code&amp;gt;.sng&amp;lt;/code&amp;gt; format lacks formal, external documentation, the definitive specification for the file structure is the source code itself, specifically the file saving and loading routines (typically found in &amp;lt;code&amp;gt;sndfile.cpp&amp;lt;/code&amp;gt; or similar files within the source tree).&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* [https://sourceforge.net/projects/goattracker2/ GoatTracker official page and source code] (SourceForge)&lt;br /&gt;
* [https://github.com/cadaver/sidid sidid]&lt;br /&gt;
&lt;br /&gt;
[[Category:Commodore computers]]&lt;/div&gt;</summary>
		<author><name>Polluks</name></author>	</entry>

	</feed>