5个版本
0.2.2 | 2023年3月1日 |
---|---|
0.2.1 | 2023年2月28日 |
0.1.6 | 2023年2月26日 |
#451 in 音频
每月50次下载
15KB
175 代码行
数据到声音
一个简单的crate,可以将数据转换为声音,也可以将声音转换为数据。声音文件格式是WAV。你可以将其用作库或命令行工具,也支持WASI。(无依赖)
最低支持的Rust版本
最低支持的Rust版本是1.59.0。
注意
声音频率是202860Hz(202.86kHz),声音是单声道的。声音以16位编码。
缺点
- WAV文件大小限制为4GB,因此你不能在单个文件中存储超过4GB的数据。
优点
- 声音文件是标准的.wav文件,因此你可以用任何音频播放器播放它。
- 声音文件的大小将与数据文件相同。
用法
使用此crate有两种方式。作为库,或作为命令行工具。库是工具的核心,因此你可以使用库来创建自己的工具。我们还支持WASI,因此你可以在WASI环境中使用cli。
库
将其添加到你的Cargo.toml中
[dependencies]
data2sound = "0.2.0"
有关库的更多信息,请参阅文档。
命令行界面
使用cargo安装工具
cargo install data2sound
运行工具
data2sound --help
将文件转换为声音
data2sound encode input_file output_file.wav
将声音文件转换为数据
data2sound decode input_file.wav output_file
WASI
你可以在WASI环境中使用CLI。你需要做的就是从发布页面安装wasm文件,并用wasmtime或wasmer运行它。
使用GitHub CLI安装
gh release download -R TheAwiteb/data2sound -p "*wasm32-wasi.zip"
unzip *wasm32-wasi.zip # The zip file contains the wasm
Wasmtime
你需要访问输入文件所在的目录,以及输出文件将被创建的目录。你可以使用--dir
标志来完成。帮助信息
wasmtime data2sound.wasm -- --help
编码和解码
wasmtime data2sound.wasm --dir . -- encode input_file output_file.wav
wasmtime data2sound.wasm --dir . -- decode input_file.wav output_file
Wasmer
与wasmtime相同。帮助信息
wasmer data2sound.wasm -- --help
编码和解码
wasmer data2sound.wasm --dir . -- encode input_file output_file.wav
wasmer data2sound.wasm --dir . -- decode input_file.wav output_file
用例
该软件包可用于在声音文件中存储数据,并从声音文件中检索数据。这在将数据存储在声音文件中非常有用。
基准测试
以下基准测试是在4.600GHz的12代英特尔酷睿i7-12700H CPU和16GB内存上进行的。
编码
文件大小 | 音频文件大小 | 音频长度 | 速度 | 链接 |
---|---|---|---|---|
2687.94MB | 2687.94MB | 01:28:13 | 1.47秒 | Soundcloud链接 |
35.3MB | 35.3MB | 00:01::27 | 39.07毫秒 | Soundcloud链接 |
解码
文件大小 | 音频文件大小 | 音频长度 | 速度 | 链接 |
---|---|---|---|---|
2687.94MB | 2687.94MB | 01:28:13 | 1.44秒 | Soundcloud链接 |
35.3MB | 35.3MB | 00:01::27 | 38.97毫秒 | Soundcloud链接 |
免责声明
本工具旨在教育目的,它解释了如何在音频文件中保存数据。不推荐利用此工具使用云音频存储服务来存储您的数据,因为您的账户可能会被封禁。
许可
本项目遵循MIT许可协议。有关更多信息,请参阅LICENSE文件。