(项目思路的草稿)chord recognition based on template

WARNING: This article may be obsolete
This post was published in 2022-12-08. Obviously, expired content is less useful to users if it has already pasted its expiration date.
This article is categorized as "Garbage" . It should NEVER be appeared in your search engine's results.

这篇笔记是什么

想复现一下《fundamentals of ....》这本书里的一个小项目“基于模版的和弦识别“,但要简单很多。而且这一次我不想看这本书附带的公开jupyter notebook代码,想完全自己实现。

草稿

下面的这些草稿写于2022-12-07 .


假设现在有5GB的三和弦生成音频

每次读取10000个或者1000个到内存里面去

然后比较当前频谱与【每一个】生成音频频谱的相似度,需要保存每一个相似度的数值,最后用argmax()找到最接近的

这样做肯定不够友好,因为实在太慢,所以templated based的这个方法:

1,要么仅仅用来验证。通过GMM等算法,我划定了100个候选人,然后我从硬盘里读出这100个候选人的音频文件再进行更细致的对比。注意这100个候选人也可以考虑“当场生成”。

2,要么考虑使用k-means等聚类算法。目前仍然没有明确思路。

另外,要考虑以下因素:

HMM


现在进入下一个阶段


不仅要统计最优结果,还要统计接近最优结果的一系列结果,这样可以让程序更灵活,即使判断octave错误,也可以判断inversions;即使有一个异常chord跑到了最底部,还能通过 多数投票表决 的方法把它投出去!


后续

上面的这部分草稿写得有点少,后来我又加了很多思路并完成了代码,但很多新加的思路并没有写到这篇笔记里...


 Last Modified in 2023-07-01 

Leave a Comment Anonymous comment is allowed / 允许匿名评论