5 releases (3 breaking)
Uses new Rust 2024
| 0.4.0 | Jan 17, 2026 |
|---|---|
| 0.3.0 | Dec 29, 2025 |
| 0.2.1 | Dec 26, 2025 |
| 0.2.0 | Dec 6, 2025 |
| 0.1.0 | Dec 6, 2025 |
#307 in Audio
155KB
4K
SLoC
๐๐๐๐๐๐๐๐๐๐
๐ฎ ptcow ๐ฎ
๐๐๐๐๐๐๐๐๐๐
Library for editing and playback of PxTone (.ptcop) music.
Based on the PxTone C++ source code available here.
โ Goals / โNon-goals
-
โ Support V5 (and newer) versions of PxTone.
-
โ No support for V4 and earlier. Maybe read support in the future, but no export support planned.
-
โ Rendering that sounds faithful to the original PxTone rendering
-
โ No sample-by-sample accuracy. There can be minor differences as long as it sounds (almost) indistinguishable.
Limitations
- Currently, ptcow only supports little endian architectures. There may be big endian support added in the future, but it's not a focus right now.
Getting Started
To get started, load a .ptcop or .pttune file into a Vec<u8>, and call read_song on it.
You can also check out crates/ptmoo for a command line player that writes samples to stdout.
Dependencies
~3.5โ6.5MB
~179K SLoC