# pygoattracker: anarkiwi/pygoattracker

> Source: <https://reversedwithai.com/p/pygoattracker-75592ab0>
> Published: 2026-10-26 06:00:44+00:00

## Evidence at a glance

Based on the linked sources. The author's reported result and independent confirmation are separate checks.

- AI involvement
- Reported models: Claude. Tools: pysidtracker, sidplayfp, 6502 emulator. The writeup below describes the work attributed to AI.
- Reported result
- Works. This is the directory's source-based outcome classification.
- Independent confirmation
- Not reported.
- Human work and limitations
- The project uses a collaborative workflow where AI models (Claude) assist in refactoring, testing, and implementing features. Several known limitations and open issues are tracked via strict xfails in the test suite.

### Original sources

## What was done

A Python library for reading, writing, and playing GoatTracker 2 (.SNG) and GoatTracker 1 songs. It supports .sid file decompilation using a 6502 emulator and provides byte-exact audio rendering validated against sidplayfp.

pygoattracker is a pure-Python library designed to read, write, and play GoatTracker 2 (.SNG) songs. The tool supports the recovery of songs from .sid files (PSID/RSID containers) and bare .prg images by utilizing a 6502 emulator to handle crunched or relocated images, as container headers are not trusted. Additionally, the library recognizes and decompiles GoatTracker 1.x packed tunes into a Gt1Song format for playback. The player implementation derives from pysidtracker.MemPlayer, with audio rendering validated byte-exactly against a sidplayfp oracle. Development history shows ongoing collaboration with AI models, specifically Claude Opus 5.5 and Claude Sonnet 5.5, which have contributed to code refactoring, player dispatch logic, and the implementation of strict xfails for open issues such as specific GT1 playroutine clusters and binary-relocator players. The library is available via pip and includes support for register logs and WAV rendering. Documentation and usage examples are provided in the repository, including details on the format specification and oracle testing. Source: [pygoattracker](https://raw.githubusercontent.com/anarkiwi/pygoattracker/HEAD/README.md).

## Reproduce it

``` python
pip install pygoattracker; from pygoattracker import decompile_sid, write_sng; result = decompile_sid('tune.sid'); write_sng(result.song, 'tune.sng')
```


