soundtouch 簡介
編譯完成之后$soundstretch --help
This program is subject to (L)GPL license. Run "soundstretch -license" for
more information.
This application processes WAV audio files by modifying the sound tempo,
pitch and playback rate properties independently from each other.
Usage :
soundstretch infilename outfilename [switches]
To use standard input/output pipes, give 'stdin' and 'stdout' as filenames.
Available switches are:
-tempo=n : Change sound tempo by n percents (n=-95..+5000 %)
-pitch=n : Change sound pitch by n semitones (n=-60..+60 semitones)
-rate=n : Change sound rate by n percents (n=-95..+5000 %)
-bpm=n : Detect the BPM rate of sound and adjust tempo to meet 'n' BPMs.
If '=n' is omitted, just detects the BPM rate.
-quick : Use quicker tempo change algorithm (gain speed, lose quality)
-naa : Don't use anti-alias filtering (gain speed, lose quality)
-speech : Tune algorithm for speech processing (default is for music)
-license : Display the program license text (LGPL)
測試與結(jié)果
音頻原樣為附件中的:
y.wav
實(shí)驗(yàn)若干次發(fā)現(xiàn) 其實(shí)都是在修改如下三個(gè)參數(shù)
pitch(音調(diào)) tempo(節(jié)拍) rate(速度)
測試使用音頻為資源文件中的y.wav
-
pitch 變調(diào)不變速
設(shè)定pitch 分別為+10 和 -10
pitch+10 為資源文件中的pitch10.wav
pitch-10 為資源文件中的pitch-10.wav
打開音頻對比波形:
發(fā)現(xiàn)是在插入或者刪除波動周期论笔。例如降低pitch 就是將多次波動采郎,改為一次均值的波動,從而使得音調(diào)降低狂魔,而音量和時(shí)間長度都保持不變蒜埋。
-
tempo 變速不變調(diào);
分別設(shè)定參數(shù)為tempo+20 和tempo-20
tempo+20 的輸出效果為資源文件中的 tempo20.wav
tempo-20 的輸出效果為資源文件中的 tempo-20.wav
說明tempo的修改是將音頻波形線性延長或縮短最楷。
-
rate 變速和變調(diào)
rate+20rate20.wav 為資源文件中的rate20.wav
rate-20 rate-20.wav為資源文件中的rate-20.wav
通過線性插值抽值實(shí)現(xiàn)整份。