目录
- 谱特征
- 最后
本文详细列举一些谱特征的公式定义,做业务的时候,再也不用为脑海里捉襟见肘的特征发愁了!!!
关于谱特征,其广泛的使用于机器学习和深度学习中,在乐器分类,音色分析,端点侦测,情绪识别,语音活动检测等等各种业务中都有大量的实践应用。
这些谱特征都是频域数据各个维度高度抽象、总结、量化的结果,为业务后续研发提供思维的燃料,脑海里有没有很重要,至于烧不烧、怎么烧是另外一回事,但前提是先备好这些"燃料",幸运的是,audioFlux项目提供下面所列谱特征几乎所有的支持,感兴趣的小伙伴后续可以用其做不同的测试以加深理解。
谱特征
b_1 , b_2 为频带bin边界,f_k 单位Hz,s_k 为频谱值,可以 magnitud spectrum或power spectrum
1. Spectral Centroid
2. Spectral Spread
3. Spectral Skewness
4. Spectral Kurtosis
5. Spectral Entropy
设 p_k=frac{s_k}{sum_{k=b_1}^{b_2}s_k}
或
6. Spectral Flatness
7. Spectral Crest
8. Spectral Flux
一般情况下s_k(t) geq s_k(t-1) 参与计算
9. Spectral Slope
mu_f 平均频率值,mu_s 平均频谱值
10. Spectral Decrease
11. Spectral Rolloff
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 }
13. Spectral Energy相关
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)}
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_s 为s_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测试的部分特征效果图。