目录
本文详细列举一些谱特征的公式定义,做业务的时候,再也不用为脑海里捉襟见肘的特征发愁了!!!
关于谱特征,其广泛的使用于机器学习和深度学习中,在乐器分类,音色分析,端点侦测,情绪识别,语音活动检测等等各种业务中都有大量的实践应用。
这些谱特征都是频域数据各个维度高度抽象、总结、量化的结果,为业务后续研发提供思维的燃料,脑海里有没有很重要,至于烧不烧、怎么烧是另外一回事,但前提是先备好这些"燃料",幸运的是,audioFlux项目提供下面所列谱特征几乎所有的支持,感兴趣的小伙伴后续可以用其做不同的测试以加深理解。
谱特征
b1,b2为频带bin边界,fk单位Hz,sk为频谱值,可以 magnitud spectrum或power spectrum
1. Spectral Centroid
μ1=∑k=b1b2sk∑k=b1b2fksk
2. Spectral Spread
μ2=∑k=b1b2sk∑k=b1b2(fk−μ1)2sk
3. Spectral Skewness
μ3=(μ2)3∑k=b1b2sk∑k=b1b2(fk−μ1)3sk
4. Spectral Kurtosis
μ4=(μ2)4∑k=b1b2sk∑k=b1b2(fk−μ1)4sk
5. Spectral Entropy
设
pk=∑k=b1b2sksk
entropy1=log(b2−b1)−∑k=b1b2pklog(pk)
或
entropy2=−∑k=b1b2pklog(pk)
6. Spectral Flatness
flatness=b2−b11∑k=b1b2sk(∏k=b1b2sk)b2−b11
7. Spectral Crest
crest=b2−b11∑k=b1b2skmax(sk∈[b1,b2])
8. Spectral Flux
flux(t)=(∑k=b1b2∣sk(t)−sk(t−1)∣p)p1
一般情况下sk(t)≥sk(t−1)参与计算
9. Spectral Slope
slope=∑k=b1b2(fk−μf)2∑k=b1b2(fk−μf)(sk−μs)
μf平均频率值,μs平均频谱值
10. Spectral Decrease
decrease=∑k=b1+1b2sk∑k=b1+1b2k−1sk−sb1
11. Spectral Rolloff
∑k=b1i∣sk∣≥η∑k=b1b2sk
η∈(0,1),一般取0.95或0.85,满足条件i获得fi滚降频率
12. Spectral bandwidth
centroid=∑k=b1b2sk∑k=b1b2fksk
bandwidth=(∑k=b1b2sk(fk−centroid)p)p1
13. Spectral Energy相关
energy=∑n=1Nx2[n]=N1∑m=1N∣X[m]∣2
rms=N1∑n=1Nx2[n]=N21∑m=1N∣X[m]∣2
le=log10(1+γ×energy),γ∈(0,∞),表示数据的log压缩
pk=∑k=b1b2sksk
entropy2=−∑k=b1b2pklog(pk)
eef=1+∣energy×entropy2∣
eer=1+∣∣entropy2le∣∣
14. Spectral Novelty相关
hfc(t)=b2−b1+1∑k=b1b2sk(t)k
flux(t)=(∑k=b1b2∣sk(t)−sk(t−1)∣p)p1
sd(t)=flux(t),满足sk(t)≥sk(t−1)计算,p=2,结果不再1/p
sf(t)=flux(t),满足sk(t)≥sk(t−1)计算,p=1
mkl(t)=∑k=b1b2log(1+sk(t−1)sk(t))
ψk(t)设为t时刻k点的相位函数
ψk′(t)=ψk(t)−ψk(t−1)
ψk′′(t)=ψk′(t)−ψk′(t−1)=ψk(t)−2ψk(t−1)+ψk(t−2)
pd(t)=b2−b1+1∑k=b1b2∥ψk′′(t)∥
wpd(t)=b2−b1+1∑k=b1b2∥ψk′′(t)∥sk(t)
nwpd(t)=μswpd,μs为sk(t)平均值
αk(t)=sk(t)ej(2ψk(t)−ψk(t−1))
βk(t)=sk(t)ejψk(t)
cd(t)=∑k=b1b2∥βk(t)−αk(t−1)∥
rcd(t)=cd,满足sk(t)≥sk(t−1)时参与求和计算
15. Novelty Method 相关
subk(t)=sk(t)−sk(t−1)
entropyk(t)=log(sk(t−1sk(t))
klk(t)=sk(t)log(sk(t−1sk(t))
isk(t)=sk(t−1)sk(t)−log(sk(t−1sk(t))−1
fk=subk,entropyk,⋯,iskgk=log(1+γfk) ,满足fk(t)≥0,γ>0
vk=fk,gk
V(t)=∑k=b1b2vk(t), 满足 vk(t)≥α时计算,一般α≥0
或
V(t)=i[vk∈[b1,b2](t)],满足 vk(t)≥α时个数统计,一般α≥0
broadband使用i[entropyk]
最后
以上谱特征只是频域数据常用的部分特征,可以在此基础上实现更为高级的音色听觉特征如roughness,hardness,brightness等等各种***ness音色感知特征。
14和15包含丰富多样的各种维度的Novelty相关方法,干货满满,每一个单独拎出来都可以作为一篇论文发表,建议使用audioFlux做详细的测试,一定会有不少的收获。
下面是一张使用audioFlux测试的部分特征效果图。
