4个版本
0.5.1 | 2023年9月16日 |
---|---|
0.5.0 | 2023年9月16日 |
0.4.3 | 2023年7月21日 |
0.4.1 | 2021年8月1日 |
0.4.0 |
|
#89 in 音频
每月 35 次下载
53KB
876 行
ness_stretch
Rust版本由Sam Pluta提供
实现了相位随机化的真实FFT时间拉伸算法NessStretch,它将原始音频文件分割成9个离散的频率带,并使用递减的帧大小来对应增加的频率。从最大的65536帧开始,算法将使用以下频率带/帧大小分解(假设输入为44100 Hz)
0-86 Hz : 65536帧,86-172 : 32768,172-344 : 16384,344-689 : 8192,689-1378 : 4096,1378-2756 : 2048,2756-5512 : 1024,5512-11025 : 512,11025-22050 : 256。
NessStretch是Paul Nasca的出色算法PaulStretch的改进。PaulStretch在整个频率范围内使用单个帧大小。NessStretch的分层分析带更适合人类频率感知,并且更好地解决了较短的、噪声较大的高频声音(沙沙声、鼓点等)。
有关更多详情,请参阅ICMC论文。或者只需运行它并听听看。
安装
Rust
为了获得NessStretch的优化版本,请使用命令行Rust版本,可以通过以下几种方式安装
- 通过homebrew(mac通用构建,因此应该能在所有mac上运行),运行
brew tap spluta/ness_stretch
brew install ness_stretch
然后
ness_stretch -h
以获取帮助。
- Rust cargo用户可以使用cargo安装
cargo install ness_stretch
Mac x86、Linux和Windows构建版本(使用GitHub Actions的未经测试的自动构建)可在以下位置找到
https://github.com/spluta/ness_stretch/releases/tag/0.2.3
或下载Rust源代码,并使用cargo进行编译。
依赖项
~11MB
~161K SLoC