使用 Python 根据其特征相似性将音频信号分组

Posted

技术标签:

【中文标题】使用 Python 根据其特征相似性将音频信号分组【英文标题】:sort audio signals into groups based on its feature similarity using Python 【发布时间】:2021-05-20 06:54:46 【问题描述】:

我已将包含所有英文字母(A、B、C、D 等)的音频文件拆分为单独的音频 .wav 文件块。我想将每个字母归为一组。例如,我希望将字母 A 的所有音频文件分组到一个文件夹中。那么我将有 26 个文件夹由相同字母的不同发音组成。

我已经搜索过这个,我发现了一些关于 K-mean 聚类的工作,但我无法达到我的要求。

【问题讨论】:

【参考方案1】:

首先,您需要将声音转换为适合进一步处理的表示,因此您可以应用分类或聚类算法的一些特征向量。

对于音频,典型的选择是基于频谱的特征。要处理声音,librosa 会很有帮助。

由于声音具有不同的持续时间,并且您可能希望每次录音都有一个固定大小的特征向量,因此您需要一种在一系列数据之上构建单个特征向量的方法。在这里,可以使用不同的方法,具体取决于您的数据量和标签的可用性。假设您的录音数量有限且没有标签,您可以从简单地将几个向量堆叠在一起开始。平均是另一种可能性,但它会破坏时间信息(在这种情况下可能没问题)。训练某种 RNN 来学习作为隐藏状态的表示是最强大的方法。

看看这个相关的答案:How to classify continuous audio

【讨论】:

以上是关于使用 Python 根据其特征相似性将音频信号分组的主要内容,如果未能解决你的问题,请参考以下文章

两个音频序列之间的感知相似度

根据与 LDA 主题/特征集群的相似性对文本进行分组

使用 MFCC 进行特征提取

Python使用matplotlib可视化树状图层次聚类系统树图树状图根据给定的距离度量将相似点分组在一起并根据点的相似性将它们组织成树状图链接起来(Dendrogram)

如何使用聚类对具有相似意图的句子进行分组?

如何使用聚类对具有相似意图的句子进行分组?