使用python量化歌声的声音深度

问题描述 投票:1回答:1

我想使用python量化浮动表示中声音的深度。例如,深声音可以用低于0的分数表示,高声音(与深相反)可以用高于0的分数表示。可以将深声音的一个示例与Arnold Schwarzenegger的声音和高声音进行​​比较。小孩的声音。

我没有找到通过谷歌搜索解决此问题的任何明确方法。我尝试使用timbral model来获得音色分数,但是似乎计算没有用。也就是说,深沉的声音和高沉的声音在得分上没有太大的区别。

基于此source,我可以使用FFT分析。但是,我不明白如何将FFT图简化为声音深度的单一表示。

那么使用FFT获得分析结果后如何处理?在一个更广泛的问题中,我该如何特别使用Python将声音的深度表示为浮动表示形式?

编辑:有关其他信息,我要量化的数据集包括歌声。我已经获得了FFT输出,并通过均值运算减小了时间帧的尺寸,因此我将平均结果留给频点。

由于数据集具有明显的音高特征,当两个声音都在演唱相同音符时,深声音和高声音的矢量峰值相似。我的推断是,这是由于两个声音都产生了相同的谐波。 (随时纠正我的解释。)

区分同一音符的深沉声音和高沉声音的有效方法是什么?

python voice
1个回答
1
投票

您可以在时间空间和频率空间中获得有关样本的统计信息。通常,您需要根据两种表示来计算均值,中位数,方差和熵。您还可以获得其他值,但这只是基础。这样,您可以从信号样本中获得值的向量。

为了获得更好的结果,您可以在两种表示形式的信号重叠窗口上进行这些计算,并以此方式获得更大且信息密度更高的特征向量。

在这个特定问题中,我将计算不同频带中信号的傅立叶变换的能量和积分,因为您会期望深沉的声音在较低的频率中具有较大的值。

算法应该看起来像

  1. 将FFT应用于信号
  2. 将结果分割成条带
  3. 计算每个频带上的能量,将结果附加到数组中
  4. 每个频带上的总和,将结果附加到数组中
  5. 进行您认为合适的其他计算

结果将是总结信号的值的向量。

© www.soinside.com 2019 - 2024. All rights reserved.