Vggish 参数设置:如何将 log-mel 频谱图制作成任意频率?

问题描述

你好,这是我第一次在 stackoverflow 上提问:)

我有一个一般问题和几个具体问题。后者在细节之后提供。

我的目标:

  • 给定一个 wav 文件和时间上连续的标签(例如,唤醒轨迹,[-1,1] 内的实数,并且是 n x 1 维),我想提取 n x m 的听觉特征波形文件,然后输入到像 LSTM 这样的时间模型中,获得 n x 1 中的预测。预测和标签具有相同的维度,因此可以计算相关性以进行评估。

我的一般问题:

一些细节:

  • 分类方式上不会有问题,因为那样的话整个视频都应用了相同的标签,无论我如何设置窗口秒或跳秒,对应的标签都可以通过从视频继承生成

  • 来自 tensorflow/models/research/audioset/vggish 的 vggish 模型使用 96 x 64 log-mel 频谱图块进行预训练。此大小无法更改,否则预训练的 vgg 模型可能无法工作。这个特定大小的补丁是通过以下参数获得的:

# Hyperparameters used in feature and example generation.
SAMPLE_RATE = 16000
STFT_WINDOW_LENGTH_SECONDS = 0.025
STFT_HOP_LENGTH_SECONDS = 0.010
NUM_MEL_BINS = NUM_BANDS
MEL_MIN_HZ = 125
MEL_MAX_HZ = 7500
LOG_OFFSET = 0.01  # Offset used for stabilized log of input mel-spectrogram.
EXAMPLE_WINDOW_SECONDS = 0.96  # Each example contains 96 10ms frames
EXAMPLE_HOP_SECONDS = 0.96     # with zero overlap.

更多附带问题:

  • 根据上面的代码片段和预训练的Vggish的参数设置,
    • 如果我的标签频率是 30fps,这意味着我一秒钟有 30 个标签点。如何在不改变 96 x 64 的补丁大小的情况下获得时间匹配的 log-mel 频谱图?
    • 如果标签频率是 25fps 呢? 27.64fps?任何 fps 的实数?
    • 我的意图基本上是错误的吗?

感谢您的宝贵时间!!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)