[ 已解决, 数字文件名不行 ] 能否批量修改曲目标签中文乱码?

是这样的,有许多音乐:1, 因为是从 win 上复制过来的,乱码.2, 因为当初的某些原因,文件名丢失(就比如用了数字排列)
需求:最好能像 soundhoud 一样搜索(比如边听边修改之类的),就是越智能越好。。。

  1. 乱码问题, 我也遇到了. 用的是 python-mutagen 把 mp3tag 转成 utf-16 编码的.

    find music_dir -iname “*.mp3” -execdir mid3iconv -e gbk {}

这样就可以把 gbk 编码的转成 utf-16 了.
2. 文件名问题, 不知道.

文件名问题,你从网上下来的就是数字命名的,tag 也都是乱的。怎么改。如果名字是乱的,tag 是好的,可以。

soundhound 之类的不是可以听歌识别吗。。。想找的是有没有批量的

:joy: 你不会是认为 android 就是 linux 吧?

从技术上来讲,是可以实现的吧?

等大神来吧

从技术上讲什么都可以实现。

  1. android 只有底层通讯是 linux,上层全是 Java。它的应用几乎是 unportable 的。不过你可以用 android 模拟器跑。
  2. 即使 port 成功,你还需要一个播放软件:一,能「内部」播放所有歌曲给 soundhound 的软件,为什么呢?你不想不分场合的放着歌吧,所以要让 soundhound 通过某种渠道「听到」声音,但是你却不能听到,还尽量不要占用你的声卡,不然几万首歌,你小半年别放网页视频之类的了,跟老电视机串频道一个道理。二,只播放前 10 秒。目前没发现这样的播放软件。
  3. 即使播放了,还要 soundhound 返回在屏幕的内容导出来,写入到你的歌曲的 tag 中去。因为 soundhound 并没有开放自己的接口。

总结下来,直接用 soundhound 无异于去搞个人工智能。

另一种实现方法:

  1. 你需要一个存放了几百万首中英日韩法德等各种语言歌曲的数据库,不是以音频格式存在,而是以处理过的可识别的数据的格式存在,通过这个数据就能快速的 match 出它是哪首歌。

  2. 然后写 Linux 客户端。

第三种实现方法:

现在去喷,把 soundhound 喷出 linux 版或喷出对外开放的 API。

第四种实现方法:

自己播放的时候百度一下歌词,用 easytag 顺手把 tag 改掉。

这都是「技术上」的可实现办法,不排除有更好的,但是再他没发出来之前,您还是要在以上选一种。

感谢大人写了这么多,作为一个笨蛋,我还是用第四种吧。。。

目测 EasyTAG 可能符合楼主的需求:
projects.gnome.org/easytag/

UPDATE: 原来已经有人说过 EasyTAG 了,前面没注意看,抱歉。