洋红“色调转移”colab:音频片段之间的时间间隔是多少?

2024-06-01 04:44:34 发布

您现在位置:Python中文网/ 问答频道 /正文

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)。谢谢


Tags: 间隔training时间数组音频audiometrics频率
1条回答
网友
1楼 · 发布于 2024-06-01 04:44:34

有点简单的答案是:这取决于你上传的音频剪辑

你需要具备的第一个直觉是,当音频剪辑以数字方式存储时,由于计算机的性质,它必须被分割成单独的组件。如果每秒的这些组件太少,我们会觉得音频很不稳定。然而,如果每秒有足够数量的这些单独的组件,我们将无法感知数字音频剪辑和真实音频之间的差异。那么,每秒组件数属性是什么?它被称为采样率。采样率是每秒采集的样本数

因此,您上传的每个音频剪辑都有一个特定的采样率。在每个示例中,您可以获得音频的振幅等值。让我举一个Python包Librosa的例子

import librosa

# Load an example file in .ogg format
fileName = librosa.util.example_audio_file()
audioData, sampleRate = librosa.load(fileName)

print(audioData)
>>> [ -4.756e-06,  -6.020e-06, ...,  -1.040e-06,   0.000e+00]

print(audioData.shape)
>>> (1355168,)

print(sampleRate)
>>> 22050

# We can use the number of samples and the sampling rate to get the duration of the audio

librosa.core.get_duration(audioData, 22050) # output is seconds

>>> 61.4

what is the time interval between slices/samples in the audio_features arrays?

时间间隔取决于音频的采样率。如果采样率为每秒22050个样本,则每个样本之间的时间间隔为1/22050秒

can one get a time stamp for each array element

通过快速搜索,我找到了一个名为samples_to_time的Librosa函数

librosa.samples_to_time(np.arange(0, 22050, 512))
>>> array([ 0.   ,  0.023,  0.046,  0.07 ,  0.093,  0.116,  0.139,
        0.163,  0.186,  0.209,  0.232,  0.255,  0.279,  0.302,
        0.325,  0.348,  0.372,  0.395,  0.418,  0.441,  0.464,
        0.488,  0.511,  0.534,  0.557,  0.58 ,  0.604,  0.627,
        0.65 ,  0.673,  0.697,  0.72 ,  0.743,  0.766,  0.789,
        0.813,  0.836,  0.859,  0.882,  0.906,  0.929,  0.952,
        0.975,  0.998])

我的建议是,如果你有兴趣做一个项目的话,可以看看Youtube上关于音频处理的视频。此外,librosa图书馆非常方便。如果你开始使用Python(一个很好的选择),你应该阅读更多他们的文档

相关问题 更多 >