soundtouch 变声使用和算法

原文:http://blog.csdn.net/dangxw_/article/details/50974322
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)



音频原样:

实验若干次发现 其实都是在修改如下三个参数
pitch(音调)  tempo(节拍)  rate(速度)
测试使用音频为资源文件中的y.wav
一:pitch  变调不变速

设定pitch 分别为+10 和 -10
pitch+10 为资源文件中的pitch10.wav
pitch-10 为资源文件中的pitch-10.wav
打开音频对比波形:




发现是在插入或者删除波动周期。例如降低pitch 就是将多次波动,改为一次均值的波动,从而使得音调降低,而音量和时间长度都保持不变。

二 :tempo  变速不变调;
分别设定参数为tempo+20 和tempo-20 
tempo+20 的输出效果为资源文件中的 tempo20.wav
tempo-20 的输出效果为资源文件中的 tempo-20.wav



说明tempo的修改是将音频波形线性延长或缩短。




三:rate 变速和变调

rate+20 为资源文件中的rate20.wav
rate-20   为资源文件中的rate-20.wav

通过线性插值抽值实现。

处理之前音频和之后效果音频下载地址: soundtouch变声之后效果下载。

你可能感兴趣的:(soundtouch 变声使用和算法)