模糊匹配/分块算法
|
背景:我有视频剪辑和音轨,我想与所述视频同步. 从视频剪辑中,我将提取参考音轨. 我需要操纵目标轨道看起来像(在这种情况下听起来像)ref轨道.这相当于在正确的位置添加或删除静音.这可以手动完成,但是非常繁琐.所以我希望能够以编程方式确定这些位置. 例: 0 1 2
012345678901234567890123
ref: --part1------part2------
syn: -----part1----part2-----
# (let `-` denote silence)
输出: [(2,6),(5,9) # part1 (13,17),(14,18)] # part2 我的想法是,从一开始: Fingerprint 2 large chunks* of audio and see if they match:
If yes: move on to the next chunk
If not:
Go down both tracks looking for the first non-silent portion of each
Offset the target to match the original
Go back to the beginning of the loop
# * chunk size determined by heuristics and modifiable
这里的主要问题是声音匹配和指纹识别是模糊且相对昂贵的操作. 理想情况下,我希望尽可能少地使用它们.想法? 听起来你不想花费大量时间钻研音频处理/工程,因此你想要一些你可以快速理解并且正常工作的东西.如果你愿意选择更复杂的东西,请参阅 here以获得非常好的参考.在这种情况下,我希望简单的响度和zero crossing措施足以识别声音的部分.这很棒,因为你可以使用techniques similar to rsync. 选择一些样本作为块大小,并定期浏览参考音频数据. (我们称之为’块大小’.)计算过零度量(您可能需要一个简单的过零计数的对数(或快速近似)).根据时间和过零度量将块存储在2D空间结构中. 然后一步一步地浏览您的实际音频数据. (可能不需要像一个样本一样小.)请注意,您不必重新计算整个块大小的度量 – 只需在块中不再删除过零点并添加新块那是. (您仍然需要计算对数或其近似值.) 寻找具有足够接近频率的“下一个”块.请注意,由于您要查找的是从头到尾的顺序,因此没有理由查看-all-块.事实上,我们不希望因为我们更容易得到误报. 如果块匹配得足够好,看看它是否匹配到沉默. 唯一的关注点是2D空间结构,但老实说,如果你愿意原谅一个严格的近似窗口,这可以变得更容易.然后你可以只有重叠的箱子.这样你需要做的就是在一段时间后检查所有值的两个箱 – 实际上是通过搜索结构进行的两次二进制搜索. 所有这一切的缺点是它可能需要一些调整才能正确,并且不是一种经过验证的方法. (编辑:东莞站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- windows – 使用cmd提示符搜索谷歌或其他搜索引擎上的单词
- 如何在Windows上确定是否安装了C/C++编译器
- .net – 加载Azure Storage 2.0时出错 – 无法加载Microsof
- 无法找到MSVCP120D.DLL或0x00007启动错误的解决方法
- 为什么有条件地包含direct.h或sys / stat.h基于_WIN32或__l
- Vulkan Tutorial 07 Window surface
- Windows Mobile 6.5手势和C#2.0应用程序
- 在Windows UWP应用程序中使用Python和C#
- wpf – xaml Scrollviewer – 禁用整个窗口的过度滚动/橡皮
- Windows Phone 8和Android可以通过Wifi Direct连接吗?
- WIN10家庭中文版远程提示要求的函数不支持 win10
- windows-mobile – Visual Studio 2010 Professi
- JLink重刷固件(win7/win8/win10亲测可用)
- Windows – Win7 Virtualbox在尝试启动虚拟机时出
- winapi – Windows XP与Vista的SetThreadUILangu
- wpf – xaml Scrollviewer – 禁用整个窗口的过度
- win10上部署Hadoop-2.7.3——非Cygwin、非虚拟机
- windows – ruby win32apistructs(VerQueryValue
- 在WPF中的所有Windows中应用按钮样式
- Windows – Win32:如何将字符串转换为日期?
