Magenta "Tone Transfer" colab将一种乐器的音频重新合成,使其听起来像另一种乐器。酷
在此过程中,它分析了您上传的音频的功能:
audio_features = ddsp.training.metrics.compute_audio_features(audio)
print
使用这一行生成各种数组,例如
频率(以赫兹为单位):220.2, 221.0, 300.5...
,每个频率代表给定时间片的分析
我的主要问题是,在audio_features
数组中切片/样本之间的时间间隔是多少?(如果它甚至是常数…)其次,这个时间间隔可以修改吗?第三,(,可以为每个数组元素获取时间戳吗?
我没有在这上面看到任何API文档
我来自Javascript;Python完全是初学者,因此,如果您从colab笔记本或repo本身了解到这一点,那么了解您是如何了解它的也会有所帮助
如果您感到好奇,我希望能够使用分析工具进行我自己的自定义音频操作、重新合成和分析,因此我试图更准确地理解ddsp.training.metrics.compute_audio_features(audio)
。谢谢
有点简单的答案是:这取决于你上传的音频剪辑
你需要具备的第一个直觉是,当音频剪辑以数字方式存储时,由于计算机的性质,它必须被分割成单独的组件。如果每秒的这些组件太少,我们会觉得音频很不稳定。然而,如果每秒有足够数量的这些单独的组件,我们将无法感知数字音频剪辑和真实音频之间的差异。那么,每秒组件数属性是什么?它被称为采样率。采样率是每秒采集的样本数
因此,您上传的每个音频剪辑都有一个特定的采样率。在每个示例中,您可以获得音频的振幅等值。让我举一个Python包Librosa的例子
时间间隔取决于音频的采样率。如果采样率为每秒22050个样本,则每个样本之间的时间间隔为1/22050秒
通过快速搜索,我找到了一个名为samples_to_time的Librosa函数
我的建议是,如果你有兴趣做一个项目的话,可以看看Youtube上关于音频处理的视频。此外,librosa图书馆非常方便。如果你开始使用Python(一个很好的选择),你应该阅读更多他们的文档
相关问题 更多 >
编程相关推荐