Sound Classification with TensorFlow总结

audioSet 是2017年发布的音频事件数据集。
sound Classification借用了tensorflow中的音频处理模块,利用原始语音信号,提取原始特征->embedding features->利用youtube-8m中的模型,对audioSet中527个样本做分类。因此,这篇博客讲解的还是如何对audioSet数据集做分类。

注意:tensorflow官网同样给出了音频处理模块,只是给audio数据,得到embedding后的128维度特征,该特征经过了pca以及量化的处理,但是没有给出分类的操作。

  • python引用路径
name,绝对路径,指的是从python xx.py路径中xx的路径
. 相对路径,值得从这个文件开始的路径
from audio import params 其中audio是一个子文件夹,里面有个params.py的文件,这是绝对路径
  • 音频,多通道转单通道(取平均,或者随机挑选一路信号)
# Convert to mono.
if len(data.shape) > 1:
    data = np.mean(data, axis=1)
  • 对原始audio重采样,使得音频具有相同的采样率
# Resample to the rate assumed by VGGish.
    if sample_rate != params.SAMPLE_RATE:
        data = resampy.resample(data, sample_rate, params.SAMPLE_RATE)
  • 代码用VGGish model 产生audioSet embedding features,但是它只是用了PCA,但是没有做量化,如果希望看见量化效果,还请移步tensorflow官网。VGGish采用的是VGG11模型的结构,代码中给出了模型结构。
def _get_features(self, examples_batch):
   sess = self._vggish_sess
    features_tensor = sess.graph.get_tensor_by_name(
        params.VGGISH_INPUT_TENSOR_NAME)
    embedding_tensor = sess.graph.get_tensor_by_name(
        params.VGGISH_OUTPUT_TENSOR_NAME)

    [embedding_batch] = sess.run(
        [embedding_tensor],
        feed_dict={features_tensor: examples_batch}
    ) # [3, 128]

    postprocessed_batch = np.dot(
        self._pca_matrix, (embedding_batch.T - self._pca_means)
    ).T # [3, 128] using pca transformation
    # different from orginal methods, which does not have quanlify

    return postprocessed_batch
  • 用于做分类的_youtube_sess,没有给出模型结构,只提供了代码。处理的时候,先补成了300s的时长,不够的加0。然后拿去分类。

  • 音频数据采集,采用Capture。不停的采集数据,可以用在麦克风实时采集数据并处理上面

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值