{"id":51558570,"url":"https://github.com/ruguevara/taym","last_synced_at":"2026-07-10T08:02:00.996Z","repository":{"id":367771741,"uuid":"1279534590","full_name":"ruguevara/taym","owner":"ruguevara","description":"Chip-agnostic interchange format for PSG music with timer tricks (PWM, duty sweeps, envelope retriggers, samples) — spec + Python/C reference implementations. Source you compile from, not a playback format.","archived":false,"fork":false,"pushed_at":"2026-06-27T15:49:34.000Z","size":118,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-06-27T16:15:15.627Z","etag":null,"topics":["ay-3-8910","chiptune","demoscene","interchange-format","music","psg","ym2149"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ruguevara.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-06-24T19:26:38.000Z","updated_at":"2026-06-27T15:46:33.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/ruguevara/taym","commit_stats":null,"previous_names":["ruguevara/taym"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/ruguevara/taym","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruguevara%2Ftaym","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruguevara%2Ftaym/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruguevara%2Ftaym/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruguevara%2Ftaym/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ruguevara","download_url":"https://codeload.github.com/ruguevara/taym/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruguevara%2Ftaym/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35325188,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-10T02:00:06.465Z","response_time":60,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ay-3-8910","chiptune","demoscene","interchange-format","music","psg","ym2149"],"created_at":"2026-07-10T08:02:00.018Z","updated_at":"2026-07-10T08:02:00.987Z","avatar_url":"https://github.com/ruguevara.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# TAYM interchange format\n\nA chip-oriented *interchange* format for music with timer tricks. Trackers and\nsynthesis tools export TAYM; platform-specific converters turn it into their own\nruntime formats for retrocomputer platforms. This format is not intended for\ndirect multiplatform playback.\n\nThe format is chip-agnostic: although the name references the AY-3-8910\n(TAYM is acronym for \"Timer-tricks AY Music\", spelled as \"time\"), the format\ntargets any retro music chip (SID, OPL, SN76489, etc.) where timer-trick\ntechniques apply.\n\nThis repository holds the **format specification** and **reference\nimplementations** of it. Start with the\n[overview](docs/TAYM-overview.md) for the mental model, then the\n[normative spec (draft 0.1)](docs/TAYM-format-draft-0.1.md).\n\n## Layout\n\n```\ndocs/        the format specification (language-neutral, normative)\npython/      Python reference reader/writer/validator + AY reference renderer\nc/           C reference model + reader/writer\n```\n\n- **[`docs/TAYM-format-draft-0.1.md`](docs/TAYM-format-draft-0.1.md)** — the\n  normative spec (draft 0.1). [`docs/TAYM-overview.md`](docs/TAYM-overview.md)\n  is the informal tour; read it first.\n- **`python/`** — the `taym` package: codec, strict spec-section-14 validator,\n  stats, dumps, and an offline AY reference renderer (`taym.engine`, the audio\n  oracle). `pip install taym`. See `python/README.md`.\n- **`c/`** — a C reference model plus structural reader/writer, so a plain C\n  consumer has a vetted implementation to start from. It intentionally omits\n  section-14 semantic validation and rendering.\n\n## On LLM-assisted tooling\n\nThe reference implementation here was largely written with the help of LLM\ncoding agents. That is intentional, not incidental: in practice, much of the\ntooling around this format — readers, writers, and platform converters — will\nlikely be written with AI assistance anyway. So the project leans into it. The\nspec is deliberately generic and self-contained, and the reference code is\nplain and conventional, precisely so that a similar LLM can read the spec, study\nthe reference, and produce a correct implementation for a new platform with\nminimal friction. Easy for a human to understand, easy for a model to\nunderstand — same goal.\n\nIn the demoscene, hacker craftsmanship lives mostly in the tight, elegant code\nwritten for the target platforms themselves — not so much in the interchange\nformat's tooling. So letting an LLM handle the readers, writers, and converters\nfrees that craft to go where it actually matters.\n\n## License\n\nMIT — see `LICENSE`.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fruguevara%2Ftaym","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fruguevara%2Ftaym","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fruguevara%2Ftaym/lists"}