发明名称 |
一种实现声音变速的方法 |
摘要 |
本发明提供一种实现声音变速的方法,通过多媒体播放器中的软件解码器,解码出原始音频的信息数据;并读取信息数据到多媒体播放器缓存中,采用定长窗口搜索对信息数据的子系列数据进行操作寻找最佳重叠位置,进行重叠处理,将处理过的信号数据全部拷贝到多媒体播放器的音频播放缓冲区,按设置好的音频参数进行播放,来实现变速不变调的播放效果。本发明实现了声音变速的处理,对于快速、慢速播放时,能保持原来的音调不变,不引入噪声,提高了处理后的声音质量。 |
申请公布号 |
CN102074239A |
申请公布日期 |
2011.05.25 |
申请号 |
CN201010602961.1 |
申请日期 |
2010.12.23 |
申请人 |
福建星网视易信息系统有限公司 |
发明人 |
林洪艺 |
分类号 |
G10L19/00(2006.01)I;G11B27/031(2006.01)I |
主分类号 |
G10L19/00(2006.01)I |
代理机构 |
福州市鼓楼区京华专利事务所(普通合伙) 35212 |
代理人 |
翁素华 |
主权项 |
一种实现声音变速的方法,其特征在于:包括如下步骤:步骤10、通过多媒体播放器中的软件解码器,解码N帧的音频信息,得到对应每帧原始音频的信息数据;步骤20、读取信息数据:将每帧原始音频信息数据,通过截取得到固定长度的信息数据的子系列数据保存在多媒体播放器缓存中;步骤30、采用定长窗口搜索对所述信息数据的子系列数据进行操作:根据采样率,确定定长窗口的长度SeekWindowLength,以及在一个定长窗口长度内每次搜索的最大长度SeekLength,根据公式SeekWindowLength=((unsigned int)((DEFAULT_SAMPLERATE*DEFAULT_SEQUENCE_MS)/1000))和公式SeekLength=((unsigned int)((DEFAULT_SAMPLERATE*DEFAULT_SEEKWINDOW_MS)/1000))计算所得;将确定定长窗口的长度SeekWindowLength,以及在一个定长窗口长度内每次搜索的最大长度SeekLength提供给WSOLA算法,用于寻找最佳重叠位;其中,DEFAULT_SAMPLERATE为音频的采样率,DEFAULT_SEQUENCE_MS为每次截取得到固定长度的信息数据的子系列数据,DEFAULT_SEEKWINDOW_MS为搜索窗口的默认长度,unsigned int是宏观定义函数类型;步骤40、最佳重叠位置找到后,进行重叠处理,并将重叠处理后的信息数据,拷贝到多媒体播放器输出缓存中;步骤50、将处理过的信息数据全部拷贝到多媒体播放器的音频播放缓冲区;步骤60、重新截取下一个固定长度的信息数据的子系列数据,并查找最佳的重叠位置,进行重叠处理,并将重叠处理后的信号数据,继续拷贝到多媒体播放器输出缓存中,直到N帧的原始音频信息数据处理完毕为止,按设置好的音频参数进行播放,最终得到变速不变调的播放效果。 |
地址 |
350000 福建省福州市仓山区建新镇金山大道618号桔园洲工业园19号楼一、二层 |