【问题标题】:Calculation of mean fundamental frequency of audio sample计算音频样本的平均基频
【发布时间】:2018-08-17 03:52:41
【问题描述】:

我正在开展一个项目,通过获取用户的实时音频输入来预测用户的性别。在研究这个项目时,我遇到了一个 kaggle https://www.kaggle.com/primaryobjects/voicegender 的数据集,其中提出了一个 CART 逻辑

if meanfun<0.14:
        if IQR>=0.07:
              return male

        else 
              return female
else 
        return female

我试图搜索平均基频,但找不到任何有用的资源。 请解释这个概念,平均频率和平均基频有什么区别?以及如何计算它的价值。

【问题讨论】:

    标签: python audio signal-processing frequency frequency-analysis


    【解决方案1】:

    我将尝试解释这个概念......

    信号通常可以定义为正弦波的总和。您可能知道也可能不知道,正弦波可以用公式 Asin(ωt+φ) 在数学上定义,其中 A 是幅度,ω 是角频率,t 是时间,φ 是相移。 ω 可以进一步替换为 2πf,其中 f 是以 Hz 为单位的频率(您链接的文档中使用的单位)。当他们在这种情况下提到频率时,您可以将其视为原始/原始信号的正弦波分量。

    正弦波的定义在维基百科页面以及许多其他资源中进行了描述,here

    您正在查看的音频信号是复杂信号,可能涉及许多正弦波。基频是指检测到的最低频率 (wiki here)。我想平均基频是在信号中检测到的所有频率的平均值。

    找到频率的最常用方法是使用快速傅立叶变换 (FFT) - 这会将信号从时域更改为频域,您基本上可以分解所有正弦波分量提高原始信号。或者,您可以通过峰值检测弄脏您的手 - 频率本质上是某事在某个时间段内发生的次数,因此您可以从字面上计算 1 分钟内发生的峰值数量(例如)以获得您的频率值(以赫兹为单位)。我绝对不推荐它用于语音音频信号。

    为了让您了解频率值在音频频谱中的位置,让我们将音符中间的 C 与其上方的 A 进行比较。中间 C 为 261.626 Hz,A 为 440.000 Hz (source)。如您所见,较高的音符具有较高的频率。

    这个项目的逻辑是,女性声音由比男性声音更高的频率组成(有点不足为奇)。它还说,仅基于 IQR > 0.07 的情况下,较低频率的女性声音比男性声音(?)更紧密地绑定在其他频率分量的范围内 - 这很有趣。

    希望这会有所帮助。

    【讨论】:

    • 我的主要困惑是平均基频和平均频率有什么区别?与数据集中一样,两个参数都给出了。
    • 哦,我明白了,我错过了那个。它们定义了 3 个不同的频率:meanfreq、meanfun 和 meandom。我的猜测是 meanfreq 是整个频率信号的平均值,meandom 实际上是我上面描述的主频率的平均值。 meanfun 是平均基频,相当于平均音高,这是一个非常复杂/涉及的计算,可以比 FFT 走得更远。以下是一些音高检测方法的链接:sound.eti.pg.gda.pl/student/eim/synteza/leszczyna/index_ang.htm
    猜你喜欢
    • 2018-05-23
    • 2021-10-15
    • 2012-01-09
    • 1970-01-01
    • 2021-05-08
    • 1970-01-01
    • 1970-01-01
    • 2016-01-14
    • 1970-01-01
    相关资源
    最近更新 更多