🔗 [Monty Anderson] https://montyanderson.net/writing/search
最大疑问:音乐 -> 向量,这个过程是根据什么来建立的?
搜了一下,应该是这个顺序:
第一步:音频文件
第二步:🔗 [UMAP: Uniform Manifold Approximation and Projection for Dimension Reduction — umap 0.5 documentation] https://umap-learn.readthedocs.io/en/latest/ 变成向量
第二步:有热心网友搞了个网站来收集全球音乐,并做成向量数据库:🔗 [cosine.club | Music Similarity Search Engine] https://cosine.club/ 但我试了一下应该是没有古典音乐
第三步:另一个网友把上面的向量数据库精简整理了一份变成本地数据库文件:🔗 [Field*] https://www.barneyhill.com/pages/fieldstar/
第四步:另一个热心网友搞了个本地向量数据库搜索引擎和软件,结合第三步的数据库就可以进行本地搜索了:🔗 [Monty Anderson] https://montyanderson.net/writing/search
所以总结起来最核心的步骤其实是UMAP算法。
但第一眼看umap的资料,似乎umap是一个非常通用的降维算法(高维映射到低维),音频处理并不是它的本职工作
在umap文档里面搜audio,找到了audio-explorer: 🔗 [tracek/audio-explorer: Audio Explorer helps in audio data discovery and labelling by utilising unsupervised machine learning, statistics and digital signal processing.] https://github.com/tracek/audio-explorer
然后在audio-explorer的文档里🔗 [Audio embedding - Audio Explorer] https://tracek.github.io/audio-explorer/audio_embedding/#audio-features,找到了最核心的东西(综合了一堆音频特征,包括frequency, pitch, chroma, MFCC等等):

当然还找到了额外资料:除了umap,还有其他降维方式:

本来想试试audio-explorer的,毕竟界面很好看:

搞了好久,audio-explorer实在是不想花太多时间去搞了(依赖太老了,即使是linux64也搞不定那个conda环境)
尤其是Yaafe,太难搞了,依赖地狱了属于是
借这个机会认识了两个音频特征提取的库:Yaafe和aubio.