Expand description
Arkos Tracker 3 (AKS) file parser and multi-PSG player
This crate provides support for loading and playing Arkos Tracker 3 songs (.aks format), which is an XML-based tracker format supporting multiple PSG chips for expanded polyphony.
§Features
- Load AKS (Arkos Tracker 3) XML files
- Multi-PSG support (n chips = n×3 channels)
- Per-PSG frequency configuration (CPC, Atari ST, PlayCity, etc.)
- Instruments with software/hardware envelopes
- Arpeggios and pitch tables
- Pattern-based sequencing with positions
- Subsong support
§Quick Start
use ym2149_arkos_replayer::{load_aks, ArkosPlayer};
let data = std::fs::read("song.aks")?;
let song = load_aks(&data)?;
println!("Title: {}", song.metadata.title);
println!("Subsongs: {}", song.subsongs.len());
if !song.subsongs.is_empty() {
println!("PSGs: {}", song.subsongs[0].psgs.len());
let mut player = ArkosPlayer::new(song, 0)?; // Subsong 0
player.play()?;
let samples = player.generate_samples(882);
}Re-exports§
pub use error::ArkosError;pub use error::Result;pub use format::AksSong;pub use format::Arpeggio;pub use format::Cell;pub use format::ChannelLink;pub use format::Effect;pub use format::Instrument;pub use format::InstrumentCell;pub use format::Pattern;pub use format::PatternCell;pub use format::PitchTable;pub use format::Position;pub use format::PsgConfig;pub use format::PsgType;pub use format::SampleInstrument;pub use format::SongMetadata;pub use format::SpecialCell;pub use format::SpecialTrack;pub use format::Subsong;pub use format::Track;pub use parser::load_aks;pub use player::ArkosMetadata;pub use player::ArkosPlayer;
Modules§
- error
- Error types for Arkos Tracker parsing and playback.
- format
- AKS file format data structures
- parser
- AKS XML parser for Arkos Tracker 2/3 files.
- player
- Arkos Tracker song player.
Traits§
- Chiptune
Player - Unified player interface for chiptune formats.
- Playback
Metadata - Unified metadata trait for chiptune playback.