如何识别嘈杂的音频频谱中的模式?

信息处理 声音的 噪音 频谱
2021-12-24 11:08:37

我有一个如下所示的音频频谱 (FFT):

101761.00 :                                 *                                                                                                                    
 76309.98 :                                                                                                                                                      
 57224.41 :                                                                                                                                                      
 42912.26 :       *     *                     *                                                                                                                  
 32179.65 :       *                                 *                                                                                                            
 24131.34 :                *      *       *                                                                                                                      
 18095.95 :                                                                                                                                                      
 13570.05 :          *             *     *                                                                                                                       
 10176.10 :                 *                *  *                                                                                                                
  7631.00 :                                  *  *                                                                                                                
  5722.44 :                           *     *       *                                                                                                            
  4291.23 :        *     * **               *  ** *                                                                                                              
  3217.97 :        *                       *              *                                                                                                      
  2413.13 :         *            *                   *                                                                                                           
  1809.59 :    * *    *               *               *    *                                                    *                                                
  1357.00 :                  ***    **             *       *                                                                                                     
  1017.61 :                       *     **        *                                            *        *        **                                              
   763.10 :        * * * **          *                                                                     *     **                                              
   572.24 :               *   * *   *                  *      **     *    *             *                                                                        
   429.12 :     *              *       *         *             *    *                                             *                                              
   321.80 :   *                         *              *                                                      *                                                  
   241.31 :                                *  *     *    **       * *               *                  *             *                                           
   180.96 :   *  *    *   *            * *       *                            *   *     **           *      * * *                                                
   135.70 :           **                                *             * *                *             *   *        *                                            
   101.76 :  * *                                        *     *  * *  *   *  *                       *       * *    *   *                                        
    76.31 :                  *                                                         *                 *         *                                             
    57.22 :  *                                 *   *                 *                             *   *                                                         
    42.91 :                                              *   *     *   ***       ** *     *               *            *    *                                    
    32.18 : *                                                * *         **  *       **     **           *         *  *    **   *     *                          
    24.13 :                                                                                                                                                      
    18.10 : *                   **        *                            *   ***   *              *****      *          *   *    *  ***                  *       * 
    13.57 :                                                                                                                                                      
    10.18 :     *                * *                        *   ***                *        *   ** **        **          **  *   *      *    * * **   *     *    
     7.63 :                                                                                                                                                      
     5.72 :                                                                                                                                                      
     4.29 :             *     *                       *           *   *         *    ***  *** **      *   * *          *   *          ** **     *        *  **** 
     3.22 :                                                                                                                                                      
     2.41 :                                                                                                                                                      
     1.81 :                                                                                                                                                      
     1.36 :    *                                     *      *   *          ** **** *    *  * **   *     *            *  **   ********* ****************** ** ** **
========= : ======================================================================================================================================================
          :  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
          :  0 0 0 1 1 1 2 2 2 3 3 3 4 4 5 5 5 6 6 6 7 7 7 8 8 8 9 9 9 0 0 0 1 1 1 2 2 2 3 3 3 4 4 4 5 5 6 6 6 7 7 7 8 8 8 9 9 9 0 0 0 1 1 1 2 2 2 3 3 3 4 4 4 5 5
          :  1 5 8 2 5 8 2 5 9 2 6 9 3 6 0 3 6 0 3 7 0 4 7 1 4 7 1 4 8 1 5 8 2 5 8 2 5 9 2 6 9 3 6 9 3 6 0 3 7 0 4 7 0 4 7 1 4 8 1 5 8 1 5 8 2 5 9 2 6 9 2 6 9 3 6
          :  7 2 6 1 5 9 4 8 3 7 2 6 1 5 0 4 8 3 7 2 6 1 5 0 4 9 3 7 2 6 1 5 0 4 9 3 8 2 6 1 5 0 4 9 3 8 2 7 1 5 0 4 9 3 8 2 7 1 6 0 4 9 3 8 2 7 1 6 0 4 9 3 8 2 7

基本上,在 500Hz 附近有一个较宽的峰值,在 1750Hz 附近有一个较窄的峰值。很明显,数据中有很多噪音。(对于那些感兴趣的人来说,这是一个鼾声。)

不同的人具有相似的频率分布,只有峰值可以按比例放大/缩小(可能基于喉咙和嘴巴的共振频率)。

如何将其与分布更随机的不同声音区分开来?例如,在一个实例中,令人窒息的声音看起来像这样:

339889.00 :                                **                                                                                                                    
254880.80 :                                                                                                                                                      
191133.62 :                                                                                                                                                      
143330.00 :                                    *                                                                                                                 
107482.34 :                             *                                                                                                                        
80600.38 :                              *                                                                                                                       
60441.76 :                                                                          *                                                                           
45324.93 :                              *   *                                                                                                                   
33988.90 :                         *        *                                    *                                                                              
25488.08 :                          * *    *  *                                      *                                                                          
19113.36 :                                        *                               **                                                                            
14333.00 :                                 * * *  *                             *                                                                               
10748.23 :                                *                                          *                                                                          
  8060.04 :                               *   *        *                               **                                                                        
  6044.18 :                     ***               * *     *                  *       *                                                                           
  4532.49 :                          **              *       *                   *     *                                                                         
  3398.89 :                 * *  *       **              *                      *                                                                                
  2548.81 :                     *  *            *                      *    *  *        *                                                                        
  1911.34 :           *                                  *       *  *                       *                                                                    
  1433.30 :              *        * *                  *        *    *  *      *    *                                                                            
  1074.82 :            *       *        *                 *   * * *                     *                                                                        
   806.00 :             *  * **                                  *       ***                                                                                     
   604.42 :           *   *            *                     *    **   *      *           *                                                                      
   453.25 :                  *       *                     *       *      *                 *                                                  * ** *            
   339.89 :        *   *   *                     *  *   *             *      *                  * *   *                                         *  * *           
   254.88 :        *          *                       **       *      * ***                      *                                                *              
   191.13 :   *          *                           *         *    *                      **   **                                                     *         
   143.33 :                                                                               *            *             *                                           
   107.48 :    *    *                                                *     *                  *   *    *   *     *    *                    **      *   *     *   
    80.60 : *  *  *                                                                          *                         *                                *        
    60.44 :      *  *                                                                    *   *     *        *   **    *              *     *         **  *       
    45.32 :                                                                  *             *        ***    * *    *       **          *   *    *    *    *       
    33.99 :                                                                                                                                                      
    25.49 :      *    *   *                                    *              *                    *    * * * **            *        *    *      *               *
    19.11 : *   *           *    *               *          *                                  *     *       ***            *  ***  *    *  *             *      
    14.33 :                                                                                                                                                      
    10.75 :       *  *         *      *             *         *   *                *                *      *       *     *   * * *  *  **                  ** *  *
     8.06 :                                                                                                                                                      
     6.04 :                                                                                                                                                      
     4.53 : *** *  *    *          *              *   * *  **         *         *        *    ***  *   ****   * * ********** ** ***** ****  *****     *** *******
========= : ======================================================================================================================================================
          :  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2
          :  0 0 0 1 1 1 2 2 2 2 3 3 3 4 4 4 5 5 5 6 6 6 7 7 7 7 8 8 8 9 9 9 0 0 0 1 1 1 2 2 2 2 3 3 3 4 4 4 5 5 5 6 6 6 7 7 7 7 8 8 8 9 9 9 0 0 0 1 1 1 2 2 2 2 3
          :  1 4 7 0 4 7 0 3 6 9 2 5 9 2 5 8 1 4 7 0 4 7 0 3 6 9 2 5 9 2 5 8 1 4 7 0 4 7 0 3 6 9 2 5 9 2 5 8 1 4 7 0 4 7 0 3 6 9 2 5 9 2 5 8 1 4 7 0 4 7 0 3 6 9 2
          :  6 7 8 9 1 2 3 4 6 7 8 9 1 2 3 4 6 7 8 9 1 2 3 4 6 7 8 9 1 2 3 4 6 7 8 9 1 2 3 4 6 7 8 9 1 2 3 4 6 7 8 9 1 2 3 4 6 7 8 9 1 2 3 4 6 7 8 9 1 2 3 4 6 7 8

正如你所看到的,它有点杂乱无章(如果可能的话),至少在某些情况下更“尖峰”,而且,看起来,再现性要差得多——下一个声音会有点不同,而打鼾往往看起来很相似(至少站在 10 英尺后)。

我可以看到通过将声音分成多个频段并给每个频段打分来尝试识别,然后提出诸如“频段 A 和 C 应该相对响亮,而频段 B 和 D 应该相对安静”之类的启发式方法,但它会如果有更系统的方法就好了。

有任何想法吗?

在我得到更好的结果之前,这里是图表的屏幕截图:

打鼾频谱

这是来自 Audacity 的一些类似数据的频谱:

大胆的鼾声谱

这是一个不同的声源,我只估计了样本的持续时间(在其他图像中以 8000 个样本/秒的速度为 1024 个样本)。该声音文件的采样率为 44.1K,因此它的高频数据比“现实生活”中可用的多得多。前三个峰值大约在 215Hz、600Hz 和 2000Hz。

下一个来自不同的声音文件(和个人),其中声音级别要差得多。我们尤其在这些方面遇到了麻烦。峰值约为 124、248 和 581。

在此处输入图像描述

更新

我添加了代码来构建“过滤器”,方法是在峰值打鼾期间拍摄频谱快照(由现有的启发式方法确定),将几个连续的快照相加,“平滑”一点,并“标准化”到平均单位增益。在相对安静的时期拍摄的快照也是如此。然后,我将信号乘以两个滤波器,并(在频率范围内)两个乘积的差值相加以产生“增量”。这似乎产生了一个相当敏感的打鼾指标。

(这个描述有意义吗?)

就你能理解以上描述的程度而言,它有意义吗?一个简单的乘法是应用这种过滤器的最合理的方法吗?

4个回答

这是一个比仅仅如何正确计算和绘制光谱更广泛的问题。我只是想回答后者。

首先要做的事情:你有这些东西的WAV,对吧?只需下载Audacity并使用它的频谱/频谱图。它们在几个方面都不够——特别是,它对窗口长度的控制相当差,它真的很慢,它的颜色图设施有点差——但它是免费的,它可以做很多事情,而且它很快就会给你结果.

您自己的频谱分析,如 Audacity 的,应该使用Welch 的方法(有 50% 的重叠)以提高质量。最佳窗口长度和函数通常取决于情景,但 Hann/Hanning 窗口通常是窗口函数的一个相当安全的选择。

请注意,功率谱图甚至可能不是最好的方法——自相关方法可能更好。(对不起,我不是演讲者。)

语音分析经常使用称为“共振峰分析”的技术,该技术试图从音频频谱图中提取感兴趣的区域(例如http://www.phon.ucl.ac.uk/resource/sfs/howto/formant.htm)。对于您需要的东西,这可能有点过头了。一个更简单的方法是

  • 带通滤波器到感兴趣的频率区域
  • 将频谱归一化为频谱图中的总能量
  • 定义一个阈值,高于阈值的一切都是“峰值”

这应该根据位置和宽度给出一个峰值列表,您可以将其用作“模式”。

习惯上总是在对数频率范围内绘制音频频谱,除非您有充分的理由不这样做。引起警报的一件事是您的损坏语音似乎具有极低的水平,实际上似乎它的水平如此之低,以至于大多数语音都低于本底噪声或可以在 Q15 中表示的水平。这也可以解释为什么你的演讲会出现带宽限制。

您录制的语音是否经过处理?
你的情节是否表明了这种低水平的演讲?
用于表示样本的数据类型是什么(short、int、float)?

您的 FFT 质量很差,尝试使用糟糕的工具来收集信息来提取模式毫无意义。

您可以检查每个点的最近邻点并绘制点对点图。

您可以使用高斯滤波器来模糊您的频谱图,因为它们的打印效果不是很好。

您的第一个图表根本没有什么模式。这几乎是噪音。您可以执行测试以找出这些点的差异程度,以及它的噪音。对于严肃的模式,你需要严肃的细节。