Expand description
YM File Format Parser and Music Replayer
This crate provides YM music file parsing and playback for YM2149 PSG chips. It supports YM2/3/5/6 file formats, tracker modes, and various effects.
§Features
- YM2/3/5/6 file format parsing with LHA decompression
- Generic over YM2149 backend (hardware-accurate or experimental)
- Tracker mode support (YMT1/YMT2)
- Mad Max digi-drums
- YM6 effects (SID voice, Sync Buzzer)
- Optional streaming audio output
- Optional WAV/MP3 export
§Example
use ym2149_ym_replayer::{load_song, PlaybackController};
let data = std::fs::read("song.ym")?;
let (mut player, summary) = load_song(&data)?;
player.play()?;
let samples = player.generate_samples(44100);Re-exports§
pub use compression::decompress_if_needed;pub use loader::load_bytes;pub use loader::load_file;pub use parser::EffectCommand;pub use parser::RawParser;pub use parser::Ym6EffectDecoder;pub use parser::Ym6Parser;pub use parser::YmMetadata;pub use parser::YmParser;pub use parser::decode_effects_ym5;pub use player::CycleCounter;pub use player::EffectsManager;pub use player::LoadSummary;pub use player::PlaybackController;pub use player::Player;pub use player::TimingConfig;pub use player::VblSync;pub use player::Ym6Info;pub use player::Ym6Metadata;pub use player::Ym6Player;pub use player::YmFileFormat;pub use player::YmPlayer;pub use player::YmPlayerGeneric;pub use player::load_song;pub use player::load_song_with_rate;
Modules§
- compression
- Compression support for YM file formats
- loader
- YM File Loader Domain
- parser
- File Format Support
- player
- YM Music Playback Engine Domain
Enums§
- Playback
State - Playback state for chiptune players.
- Replayer
Error - Error type for YM file replayer operations
Traits§
- Chiptune
Player - Unified player interface for chiptune formats.
- Playback
Metadata - Unified metadata trait for chiptune playback.
Type Aliases§
- Result
- Result type for replayer operations