#glsl #gpu #audio #glsl-shader

bin+lib sound-shader

简单声音着色器播放器

1 个不稳定版本

0.1.1 2021年10月5日
0.1.0 2021年10月4日

#188 in 多媒体

Apache-2.0

34KB
892

使用 Rust 的简单声音着色器播放器

Crates.io Docs.rs

一个简单的命令行应用程序,用于通过 Rust 播放声音 GLSL 着色器。

如何开始

克隆仓库,然后运行

cd sound-shader
mkdir workspace
cd workspace
cargo run -- --init
cargo run

示例

examples 中有一些示例。可以使用以下命令播放 Inigo Quilez 的一个非常酷的声音着色器!

cargo run -- examples/pirates.comp

帮助

sound-shader 0.1.0
Yoshinori Tanimura <[email protected]>
Simple sound shader player

USAGE:
    sound-shader.exe [FLAGS] [OPTIONS] [--] [FILE]

FLAGS:
    -h, --help       Prints help information
        --init       init default config file "default.json" and prepare sample shader source "sample.comp"
    -V, --version    Prints version information

OPTIONS:
    -c, --config <FILE>          read configuration json
    -o, --output <FILE>          recording wav file
    -r, --resources <FILE>...    add audio resource, wav is supported.
    -s, --silent <SECONDS>       not play, just recording.

ARGS:
    <FILE>    run shader source

--cofig 中指定的 json 设置将被视为基本设置。如果为着色器、资源或输出指定了其他参数,则在运行时将覆盖这些设置。例如,如果仅在其他参数中指定了不同的着色器,则结果将输出到指定的 json 目标。如果没有指定任何参数,将加载 default.json,但如果指定了其他参数,则将忽略它们;如果想要使用 default.json 作为默认设置,则必须使用 --config 明确加载。

许可证

此crate以Apache-2.0许可证分发。然而,此仓库包含一些仅以非商业为基础分发的资源。具体来说,以下文件仅以非商业为基础分发。

  • 资源/*.wav
  • examples/pirates.comp

操作系统环境

单元测试和示例在我的Windows和Mac机器上完成。由于此程序使用GPU和音频设备,我尚未建立有效的CI。

未来工作

  • 回环
  • 其他音频资源:flac、mp3 等。

依赖关系

~12–26MB
~403K SLoC