使用 AI 对音乐进行分类打标签的相关研究工作

 发现这一门的相关研究还比较前沿,但基本上很多项目都停留在几年前。很多项目已经被设置为隐私模式,需要登陆,或者直接删库了,难道是因为这种类型的项目发展到了瓶颈,相关人员已经到大厂入职了,所以删库保留自己的工作的价值?

最早的 GPT 提醒我使用 musicnn 这个项目,但已经6 年没有更新了,我是在低版本的 python 里运行成功了,但是依赖于第三方插件都比较旧,不能支持 GPU 运行。

python3.8 musicNN_tags.py 



很多项目是基于这个的,经过几天的折腾,最终放弃,无论是使用 docker 和还是自己编译都不行。

后来 GPT 推荐使用musicnn_keras,说是这个是支持最新的相关 Python 的插件,但实现上在 naivida 的 cuda12 里无法使用,降级到 cuda10,显示内核错误,后面又降级到 cuda11 也不行,放弃。这个项目实际也是很久不更新了,只是比 musicnn 稍晚一些,是基于 TensorFlow 写的,理论上支持最新的硬件吧。

使用 YAMNet模型运行成功了,这个很顺利,但生成的 tag 是有 500 多个,但是后面发现这个不怎么适合对于音乐的打标签,这是一个对声音打标签的工具,也可以提取 embedding 的特征量,提取放到 PostgreSQL后,可以顺利的取出相关相似音乐,已经成功用于 FEB 项目上。
但是这个毕竟不是针对音乐的工具,对于音乐分类不怎么专业,所以还要继续找。

经过几天的折腾,还是这几个项目来回折腾中,找到了mtg-jamendo-dataset,这个项目,也成功跑通了,但打出来的标签不怎么满意,很多歌都是有伤感和平静,如下图:








在 Python3.11.9 下运行成功



这个项目本身不带什么模型,自带了一个很小的训练好的模型,测试结果如上。

所以还得继续找,他好像可以自己下载原始的训练数据自己训练,所以还得测试。
带带的小模型只有 53 的标签,和 musicnn 的一样的,但后面有更多扩展的。

评论

此博客中的热门博文

uptime-kuma部署和批量添加

ffmpeg 下实现 h265 hevc编码的 hls 服务的过程一些收藏和介绍

在南京见到的农民工午饭情景