d.l*_*ime 5 java android signal-processing audio-processing
我试图做一个简单的"虚拟划痕",但我不知道它背后的理论.由于我在google上发现没什么用,我在这里问:
示例代码/教程将受到热烈欢迎:-)
划伤(向前移动轨道)会发生什么?我是否提高样本的音高和/或速度?
想想实际发生的事情:记录包含音频数据.记录针从记录中读取音频数据.随着记录旋转,播放位置改变.(这与观看播放头在数字音频编辑器中移动音频文件非常相似.)
当您以更快的速度旋转记录时,您将提高播放速率.音频更快更高音调.将播放速率提高2,音频将高出八度.
当您以较慢的速度旋转记录时,您正在降低播放速率.音频较慢且音调较低.将播放速率降低2,音频将降低八度.
记录只能通过加速或减慢物理记录来修改音频播放,这会同时影响音高和回放速率.某些音频软件可以独立改变音高和速率.记录球员不能.
(获取一个唱机和实验,听听它听起来像.)
如何使用音频处理算法模拟这种现象?
要模仿DJ抓取记录,您需要能够在用户"刮擦"时调整音频的播放速率.
当用户加速记录时,加快播放速度.当用户减慢记录时,请降低播放速度.
当用户停止记录时,完全停止播放.
当用户反向旋转记录时,反转播放.
您无需更改音频的音高.更改播放速率将自动执行此操作.对音高的任何进一步调整都听起来不正确.
我对图书馆没有任何建议,但如果你花时间,这样的事情并不难实现.