#smash #music #super #decoding #audio #decode #parser

hps_decode

一个用于解析和解码《超级 Smash Bros. Melee》音乐文件的库

4 个版本

0.2.1 2023年10月5日
0.2.0 2023年10月2日
0.1.1 2023年4月10日
0.1.0 2023年4月7日

#8 in #smash

Download history 10/week @ 2024-03-11 97/week @ 2024-03-18 30/week @ 2024-03-25 40/week @ 2024-04-01 13/week @ 2024-04-08 24/week @ 2024-04-22 1/week @ 2024-05-06 18/week @ 2024-05-13 110/week @ 2024-05-20 150/week @ 2024-05-27 75/week @ 2024-06-03 6/week @ 2024-06-10 14/week @ 2024-06-17 22/week @ 2024-06-24

每月 150 次下载

MIT 许可协议

25KB
461

HPS Decode

Latest Version Rust Documentation Build Status

一个用于解析和解码《超级 Smash Bros. Melee》音乐文件的 Rust 库。

快速入门

以下是一个使用 .hps 文件和 rodio-source 特性标志及 rodio 0.17 播放立体声文件的快速示例

use hps_decode::Hps;
use rodio::{OutputStream, Sink};
use std::error::Error;

fn main() -> Result<(), Box<dyn Error>> {
    // Decode an .hps file into PCM samples for playback
    let hps: Hps = std::fs::read("./respect-your-elders.hps")?.try_into()?;
    let audio = hps.decode()?;

    // Play the song with the rodio library
    let (_stream, stream_handle) = OutputStream::try_default()?;
    let sink = Sink::try_new(&stream_handle)?;

    sink.append(audio);
    sink.play();
    sink.sleep_until_end();

    Ok(())
}

文档

有关库的更多详细信息,请查看 docs.rs

.HPS 文件布局

有关 .hps 文件格式的通用、语言无关信息,请参阅此处

依赖

~2–32MB
~488K SLoC