/*
* Scaletempo works by producing audio inconstant sized chunks (a "stride") but
* consuming chunks proportional to theplayback rate.
*
* Scaletempo then smooths the output byblending the end of one stride with
* the next ("overlap").
*
* Scaletempo smooths the overlap further bysearching within the input buffer
* for the best overlap position. Scaletempo uses a statistical crosscorrelation
* (roughly a dot-product). Scaletempo consumes most of its CPU cycleshere.
*
* NOTE:
* sample: a single audio sample for onechannel
* frame: a single set of samples, one for eachchannel
* VLC uses these terms differently
*/
Scaletempo的工作原理是在固定大小的块(一个“步幅”)中制作音频。消耗的块与回放速度成比例。 Scaletempo通过混合一个步骤的结束来平滑输出下一个(“重叠”)。Scaletempo通过在输入缓冲区内搜索来进一步消除重叠 最佳重叠位置。Scaletempo使用了统计互相关(大致点积)。Scaletempo在这里消耗了大部分CPU周期。
*注意:
*样本:一个频道的单一音频样本
*框架:一组样本,每个通道一个样本
* VLC使用不同的术语。
add_integer_with_range( "scaletempo-stride", 30, 1, 2000, N_("Stride Length"),N_("Length in milliseconds to output each stride"), true )
步长,输出每个步幅的长度
add_float_with_range("scaletempo-overlap", .20, 0.0, 1.0, N_("Overlap Length"),N_("Percentage of stride to overlap"), true )
重叠长度 ,重叠步幅的百分比
add_integer_with_range("scaletempo-search", 14, 0, 200, N_("Search Length"),N_("Length in milliseconds to search for best overlap position"),true )
搜索长度”),搜索最佳重叠位置的长度add_integer_with_range
一些网址:
https://www.cnblogs.com/wangyaoguo/p/8392660.html
iOS 音频-AVAudioSession
https://www.jianshu.com/p/fb0e5fb71b3c
AVAudioSession
https://www.jianshu.com/p/5b3a920db773
[iOS]关于AudioUnit录音处理回声及遇到的问题
https://www.jianshu.com/p/7c159f635db9
[IOS]IOS上AudioSession设置, 切换扬声器和听筒详解 .
https://www.cnblogs.com/gaoxiao228/archive/2013/03/15/2961397.html
ffmpeg基础使用
https://www.jianshu.com/p/ddafe46827b7
时间戳转化
https://tool.lu/timestamp/
https://www.cnblogs.com/wanggang123/p/11280283.html
WebRTC示例
https://webrtc.github.io/samples/