是这样的,有许多音乐:1, 因为是从 win 上复制过来的,乱码.2, 因为当初的某些原因,文件名丢失(就比如用了数字排列)
需求:最好能像 soundhoud 一样搜索(比如边听边修改之类的),就是越智能越好。。。
-
乱码问题, 我也遇到了. 用的是 python-mutagen 把 mp3tag 转成 utf-16 编码的.
find music_dir -iname “*.mp3” -execdir mid3iconv -e gbk {}
这样就可以把 gbk 编码的转成 utf-16 了.
2. 文件名问题, 不知道.
文件名问题,你从网上下来的就是数字命名的,tag 也都是乱的。怎么改。如果名字是乱的,tag 是好的,可以。
soundhound 之类的不是可以听歌识别吗。。。想找的是有没有批量的
你不会是认为 android 就是 linux 吧?
从技术上来讲,是可以实现的吧?
等大神来吧
从技术上讲什么都可以实现。
- android 只有底层通讯是 linux,上层全是 Java。它的应用几乎是 unportable 的。不过你可以用 android 模拟器跑。
- 即使 port 成功,你还需要一个播放软件:一,能「内部」播放所有歌曲给 soundhound 的软件,为什么呢?你不想不分场合的放着歌吧,所以要让 soundhound 通过某种渠道「听到」声音,但是你却不能听到,还尽量不要占用你的声卡,不然几万首歌,你小半年别放网页视频之类的了,跟老电视机串频道一个道理。二,只播放前 10 秒。目前没发现这样的播放软件。
- 即使播放了,还要 soundhound 返回在屏幕的内容导出来,写入到你的歌曲的 tag 中去。因为 soundhound 并没有开放自己的接口。
总结下来,直接用 soundhound 无异于去搞个人工智能。
另一种实现方法:
-
你需要一个存放了几百万首中英日韩法德等各种语言歌曲的数据库,不是以音频格式存在,而是以处理过的可识别的数据的格式存在,通过这个数据就能快速的 match 出它是哪首歌。
-
然后写 Linux 客户端。
第三种实现方法:
现在去喷,把 soundhound 喷出 linux 版或喷出对外开放的 API。
第四种实现方法:
自己播放的时候百度一下歌词,用 easytag 顺手把 tag 改掉。
这都是「技术上」的可实现办法,不排除有更好的,但是再他没发出来之前,您还是要在以上选一种。
感谢大人写了这么多,作为一个笨蛋,我还是用第四种吧。。。