音频领域常用的谱特征

2023-02-23 07:58:24 浏览数 (3)

目录

  • 谱特征
  • 最后

本文详细列举一些谱特征的公式定义,做业务的时候,再也不用为脑海里捉襟见肘的特征发愁了!!!

关于谱特征,其广泛的使用于机器学习和深度学习中,在乐器分类,音色分析,端点侦测,情绪识别,语音活动检测等等各种业务中都有大量的实践应用。

这些谱特征都是频域数据各个维度高度抽象、总结、量化的结果,为业务后续研发提供思维的燃料,脑海里有没有很重要,至于烧不烧、怎么烧是另外一回事,但前提是先备好这些"燃料",幸运的是,audioFlux项目提供下面所列谱特征几乎所有的支持,感兴趣的小伙伴后续可以用其做不同的测试以加深理解。

谱特征

b_1 , b_2 为频带bin边界,f_k 单位Hz,s_k 为频谱值,可以 magnitud spectrum或power spectrum

1. Spectral Centroid

mu_1=frac{sum_{ k=b_1 }^{b_2} f_ks_k } {sum_{k=b_1}^{b_2} s_k }

2. Spectral Spread

mu_2=sqrt{frac{sum_{ k=b_1 }^{b_2} (f_k-mu_1)^2 s_k } {sum_{k=b_1}^{b_2} s_k } }

3. Spectral Skewness

mu_3=frac{sum_{ k=b_1 }^{b_2} (f_k-mu_1)^3 s_k } {(mu_2)^3 sum_{k=b_1}^{b_2} s_k }

4. Spectral Kurtosis

mu_4=frac{sum_{ k=b_1 }^{b_2} (f_k-mu_1)^4 s_k } {(mu_2)^4 sum_{k=b_1}^{b_2} s_k }

5. Spectral Entropy

p_k=frac{s_k}{sum_{k=b_1}^{b_2}s_k}

entropy1= frac{-sum_{ k=b_1 }^{b_2} p_k log(p_k)} {log(b_2-b_1)}

entropy2= {-sum_{ k=b_1 }^{b_2} p_k log(p_k)}

6. Spectral Flatness

flatness=frac{left ( prod_{k=b_1}^{b_2} s_k right)^{ frac{1}{b_2-b_1} } } {frac{1}{b_2-b_1} sum_{ k=b_1 }^{b_2} s_k}

7. Spectral Crest

crest =frac{max(s_{kin_{[b_1,b_2]} }) } {frac{1}{b_2-b_1} sum_{ k=b_1 }^{b_2} s_k}

8. Spectral Flux

flux(t)=left( sum_{k=b_1}^{b_2} |s_k(t)-s_k(t-1) |^{p} right)^{frac{1}{p}}

一般情况下s_k(t) geq s_k(t-1) 参与计算

9. Spectral Slope

slope=frac{ sum_{k=b_1}^{b_2}(f_k-mu_f)(s_k-mu_s) } { sum_{k=b_1}^{b_2}(f_k-mu_f)^2 }

mu_f 平均频率值,mu_s 平均频谱值

10. Spectral Decrease

decrease=frac { sum_{k=b_1 1}^{b_2} frac {s_k-s_{b_1}}{k-1} } { sum_{k=b_1 1}^{b_2} s_k }

11. Spectral Rolloff

sum_{k=b_1}^{i}|s_k| geq eta sum_{k=b_1}^{b_2}s_k

eta in (0,1) ,一般取0.95或0.85,满足条件i 获得f_i 滚降频率

12. Spectral bandwidth

centroid =frac{sum_{ k=b_1 }^{b_2} f_ks_k } {sum_{k=b_1}^{b_2} s_k }

bandwidth=left(sum_{k=b_1}^{b_2} s_k(f_k-centroid)^p right)^{frac{1}{p}}

13. Spectral Energy相关

qquad energy=sum_{n=1}^N x^2[n] =frac{1}{N}sum_{m=1}^N |X[m]|^2
qquad rms=sqrt{ frac{1}{N} sum_{n=1}^N x^2[n] }=sqrt {frac{1}{N^2}sum_{m=1}^N |X[m]|^2 }

qquad le=log_{10}(1 gamma times energy)gamma in (0,infty) ,表示数据的log 压缩 qquad p_k=frac{s_k}{sum_{k=b_1}^{b_2}s_k} qquad entropy2= {-sum_{ k=b_1 }^{b_2} p_k log(p_k)}

qquad eef=sqrt{ 1 | energytimes entropy2| }
qquad eer=sqrt{ 1 left| cfrac{le}{entropy2}right| }

14. Spectral Novelty相关

qquad flux(t)=left( sum_{k=b_1}^{b_2} |s_k(t)-s_k(t-1) |^{p} right)^{frac{1}{p}}
qquad hfc(t)=frac{sum_{k=b_1}^{b_2} s_k(t)k }{b_2-b_1 1}
qquad sd(t)=flux(t) ,满足 s_k(t) ge s_k(t-1) 计算,p=2 ,结果不再1/p
qquad sf(t)=flux(t) ,满足 s_k(t) ge s_k(t-1) 计算,p=1
qquad mkl(t)=sum_{k=b_1}^{b_2} logleft(1 cfrac {s_k(t)}{s_k(t-1)} right)

qquad psi_k(t) 设为t时刻k点的相位函数 qquad psi_k^{prime}(t)=psi_k(t)-psi_k(t-1) qquad psi_k^{primeprime}(t)=psi_k^{prime}(t)-psi_k^{prime}(t-1) = psi_k(t)-2psi_k(t-1) psi_k(t-2)

qquad pd(t)= frac {sum_{k=b_1}^{b_2} | psi_k^{primeprime}(t) |} {b_2-b_1 1}
qquad wpd(t)= frac {sum_{k=b_1}^{b_2} | psi_k^{primeprime}(t) |s_k(t)}{b_2-b_1 1}
qquad nwpd(t)= frac {wpd} {mu_s} mu_ss_k(t) 平均值

qquad alpha_k(t)=s_k(t) e^{j(2psi_k(t)-psi_k(t-1))} qquad beta_k(t)=s_k(t) e^{jpsi_k(t)}

qquad cd(t)=sum_{k=b_1}^{b_2} | beta_k(t)-alpha_k(t-1) |
qquad rcd(t)=cd ,满足s_k(t) geq s_k(t-1) 时参与求和计算

15. Novelty Method 相关

qquad sub_k(t)= s_k(t)-s_k(t-1) qquad entropy_k(t)= log left( frac {s_k(t)}{s_k(t-1} right) qquad kl_k(t)= s_k(t) log left( frac {s_k(t)}{s_k(t-1} right) qquad is_k(t)= frac {s_k(t)}{s_k(t-1)} - log left( frac {s_k(t)}{s_k(t-1} right)-1 qquad f_k=sub_k,entropy_k,cdots,is_k quad g_k=log(1 gamma f_k) , 满足f_k(t) ge 0 , gamma >0 qquad v_k=f_k,g_k

qquad mathcal{V}(t)=sum_{k=b_1}^{b_2}v_k(t) , 满足 v_k(t) ge alpha 时计算,一般alpha ge 0

qquad

qquad mathcal{V}(t) =i[v_{k_{in [b_1,b_2]}} (t) ] ,满足 v_k(t) ge alpha 时个数统计,一般alpha ge 0

qquad broadband 使用i[entropy_k]

最后

以上谱特征只是频域数据常用的部分特征,可以在此基础上实现更为高级的音色听觉特征如roughness,hardness,brightness等等各种***ness音色感知特征。

14和15包含丰富多样的各种维度的Novelty相关方法,干货满满,每一个单独拎出来都可以作为一篇论文发表,建议使用audioFlux做详细的测试,一定会有不少的收获。

下面是一张使用audioFlux测试的部分特征效果图。

bi8.pngbi8.png

0 人点赞