mlrc(歌词脚本,支持很多播放器哦 :) 7月5日更新)

sh/bash/dash/ksh/zsh等Shell脚本
回复
头像
solcomo
帖子: 2838
注册时间: 2007-04-25 13:12

#91

帖子 solcomo » 2008-06-10 10:38

:D 终于找到了取得rhythmbox标签的方法
可苦死我了 :cry:
♜♞♝♛♚♝♞♜
♟♟♟♟♟♟♟♟
♙♙♙♙♙♙♙♙
♖♘♗♕♔♗♘♖

☠☯⚔⚓☣☦☃☕
☹☻☪☭☬⚖⚛⚜
ℜℳℬ™ ℋℯℓ℘ ℳℭ
sƂɐʍ рǀɹoʍ əɥʇ oS
头像
xiooli
帖子: 6956
注册时间: 2007-11-19 21:51
来自: 成都
联系:

#92

帖子 xiooli » 2008-06-10 10:52

solcomo 写了::D 终于找到了取得rhythmbox标签的方法
可苦死我了 :cry:
其实还有一种方法,只需要获取mp3的路径,然后用mid3v2 -l xxx.mp3来读取其标签信息,比从什么bus里面读方便很多啊。 :D
头像
solcomo
帖子: 2838
注册时间: 2007-04-25 13:12

#93

帖子 solcomo » 2008-06-10 11:02

xiooli 写了: 其实还有一种方法,只需要获取mp3的路径,然后用mid3v2 -l xxx.mp3来读取其标签信息,比从什么bus里面读方便很多啊。 :D
:em21 :em19 :em80 :em87 :em91 :em92 :em71 :emb3
不早说
♜♞♝♛♚♝♞♜
♟♟♟♟♟♟♟♟
♙♙♙♙♙♙♙♙
♖♘♗♕♔♗♘♖

☠☯⚔⚓☣☦☃☕
☹☻☪☭☬⚖⚛⚜
ℜℳℬ™ ℋℯℓ℘ ℳℭ
sƂɐʍ рǀɹoʍ əɥʇ oS
头像
xiooli
帖子: 6956
注册时间: 2007-11-19 21:51
来自: 成都
联系:

#94

帖子 xiooli » 2008-06-10 11:47

solcomo 写了:
xiooli 写了: 其实还有一种方法,只需要获取mp3的路径,然后用mid3v2 -l xxx.mp3来读取其标签信息,比从什么bus里面读方便很多啊。 :D
:em21 :em19 :em80 :em87 :em91 :em92 :em71 :emb3
不早说
表这么冲动嘛,我也是才发现的 :D ,以前都只拿它来删标签,没想到还可以读标签呢。
头像
xiooli
帖子: 6956
注册时间: 2007-11-19 21:51
来自: 成都
联系:

#95

帖子 xiooli » 2008-06-10 13:21

你这个脚本太厉害了,运行了它一下我的脚本就不能显示了,晕,好容易才搞好啊 :em19
头像
solcomo
帖子: 2838
注册时间: 2007-04-25 13:12

#96

帖子 solcomo » 2008-06-10 13:31

:shock: 这么强悍?
什么地方冲突了吧?
♜♞♝♛♚♝♞♜
♟♟♟♟♟♟♟♟
♙♙♙♙♙♙♙♙
♖♘♗♕♔♗♘♖

☠☯⚔⚓☣☦☃☕
☹☻☪☭☬⚖⚛⚜
ℜℳℬ™ ℋℯℓ℘ ℳℭ
sƂɐʍ рǀɹoʍ əɥʇ oS
头像
xiooli
帖子: 6956
注册时间: 2007-11-19 21:51
来自: 成都
联系:

#97

帖子 xiooli » 2008-06-10 13:50

solcomo 写了::shock: 这么强悍?
什么地方冲突了吧?
不知道,反正运行了你的脚本一下我osd的显示格式就变了,然后莫名其妙的就不能osd显示了,我还是把我osd的所有xml格式删掉,用首选项里面的osd设置调了才好。
zarra
帖子: 89
注册时间: 2006-10-30 20:01

#98

帖子 zarra » 2008-06-10 19:55

有个小问题 我的下载下来的lrc都是0bytes
我看了下
#177 行 我改成了

代码: 全选

  done | sort > $LRCDIR/"$NM".lrc.bad
就好了
shell脚本不是很懂

代码: 全选

[zarra@zarra-desktop .lyrics]$ ls -l
总计 8
-rw-r--r-- 1 zarra root  877 06-10 19:52 无印良品 - 就叫我孩子.lrc
-rw-r--r-- 1 zarra root    0 06-10 19:52 无印良品 - 就叫我孩子.lrc.bad
-rw-r--r-- 1 zarra root 2063 06-10 19:51 无印良品 - 注定.lrc
-rw-r--r-- 1 zarra root    0 06-10 19:51 无印良品 - 注定.lrc.bad
[zarra@zarra-desktop .lyrics]$ 
头像
solcomo
帖子: 2838
注册时间: 2007-04-25 13:12

#99

帖子 solcomo » 2008-06-10 20:03

....READLRC有问题了?
...我看看...
♜♞♝♛♚♝♞♜
♟♟♟♟♟♟♟♟
♙♙♙♙♙♙♙♙
♖♘♗♕♔♗♘♖

☠☯⚔⚓☣☦☃☕
☹☻☪☭☬⚖⚛⚜
ℜℳℬ™ ℋℯℓ℘ ℳℭ
sƂɐʍ рǀɹoʍ əɥʇ oS
zarra
帖子: 89
注册时间: 2006-10-30 20:01

#100

帖子 zarra » 2008-06-10 20:18

ls
READLRC
是把类似

代码: 全选

[02:14.50][00:22.81]路有点长 夜有点微凉
[02:20.06][00:29.09]心情迷迷惘惘 和寂寞交换沮丧
[02:26.12][00:35.15]天边星辰 忽明又忽暗
[02:31.15][00:40.29]哪一颗最能照亮心房
[02:37.22][00:46.46]梦和理想 心坚持不忘
[02:42.86][00:52.19]方向就是力量和时间交替煎熬
[02:49.04][00:58.17]雾里曙光 绽放希望
[02:53.91][01:03.50]有你一切都变得不一样
[02:59.34][01:08.76]谢谢你 给我温暖 脆弱时候在我身旁
[03:04.82][01:14.67]谢谢你 陪我成长路上风风雨雨
[03:11.47][01:21.30]不怕荆棘失望
[03:41.57][03:14.75][01:24.70]有你在身旁 心更坚强
[03:44.97][03:18.07][01:28.01]阳光一路陪伴 成长更勇敢
[03:49.12][03:22.33][01:32.14]你我心中不必言语 敞开心窗
[03:52.73][03:25.96][01:35.79]有你在身旁 梦更精彩
[03:56.36][03:29.87][01:39.38]朋友一路陪伴 星光更灿烂
[04:00.47][03:33.65][01:43.49]相信相依 共同仰望
[04:04.10][03:37.38][01:47.24]生命因你更添光亮
变成标准格式的????
头像
solcomo
帖子: 2838
注册时间: 2007-04-25 13:12

#101

帖子 solcomo » 2008-06-10 20:29

在我这没问题啊...
READLRC是用来整理歌词的
比如有这种格式的[02:42.24][01:21.44][00:01.64]hello
就会转换为
[00:01.64]hello
[01:21.44]hello
[02:42.24]hello

你可以试试把DOWNLRC()里面的最后一句READLRC注释掉
下载完歌词以后
执行这句看看会不会有错误
awk '! /(\] *.?)$|^( *)$|^[^\[]/' ~/.lyrics/歌词名字.lrc | awk -F"\]" '{if (NF > 2) {for (i = 1; i < NF; i++) {print $i"]"$NF;}} else{print $0;}}' | sort > ~/.lyrics/歌词名字.lrc
♜♞♝♛♚♝♞♜
♟♟♟♟♟♟♟♟
♙♙♙♙♙♙♙♙
♖♘♗♕♔♗♘♖

☠☯⚔⚓☣☦☃☕
☹☻☪☭☬⚖⚛⚜
ℜℳℬ™ ℋℯℓ℘ ℳℭ
sƂɐʍ рǀɹoʍ əɥʇ oS
zarra
帖子: 89
注册时间: 2006-10-30 20:01

#102

帖子 zarra » 2008-06-10 20:57

awk 和sed我一窍不通
我用python写了个整理歌词的
我瞎改了 :D :D

代码: 全选

#整理歌词
READLRC(){ 
  NM="$(GETNAME)"
  cat $LRCDIR/"$NM".lrc|~/opt/script/lyricsFormat.py > $LRCDIR/"$NM".lrc
  #[ -e $LRCDIR/"$NM".lrc ] && gawk '! /(\] *.?)$|^( *)$|^[^\[]/' $LRCDIR/"$NM".lrc | while read LINE 
  #do 
  #  echo $LINE | gawk -F"]" '{ \ 
  #    if (NF > 2){ \ 
  #      for (i = 1; i < NF; i++){  \ 
  #        print $i"]"$NF; \ 
  #      } 
  #    }else{ print $0; }\ 
  #  }' 
  #done | sort > $LRCDIR/"$NM".lrc.bad
}
lyricsFormat.py

代码: 全选

#!/usr/bin/env python
#coding=utf-8
import sys,os,re

file=sys.stdin
lines=file.readlines()
lyrics=[]
others=[]
for line in lines:
    if re.match(r'\[\d\d', line):
        parts=line.split(']')
        for i in range(len(parts)-1):
            lyrics.append(parts[i]+']'+parts[-1])
            
    else:
        others.append(line)
 
lyrics.sort()
others.extend(lyrics)  
map(lambda s:sys.stdout.write(s),others)
现在一切正常了 感谢楼主
上次由 zarra 在 2008-06-10 21:02,总共编辑 1 次。
头像
solcomo
帖子: 2838
注册时间: 2007-04-25 13:12

#103

帖子 solcomo » 2008-06-10 21:00

:D 最近也在看python
学习了
♜♞♝♛♚♝♞♜
♟♟♟♟♟♟♟♟
♙♙♙♙♙♙♙♙
♖♘♗♕♔♗♘♖

☠☯⚔⚓☣☦☃☕
☹☻☪☭☬⚖⚛⚜
ℜℳℬ™ ℋℯℓ℘ ℳℭ
sƂɐʍ рǀɹoʍ əɥʇ oS
hesion
帖子: 107
注册时间: 2008-04-19 14:10

#104

帖子 hesion » 2008-06-17 18:29

哎 原来我真的很菜~~~我就是不能运行~~
附件
Screenshot-hesion.png
hesion
帖子: 107
注册时间: 2008-04-19 14:10

#105

帖子 hesion » 2008-06-17 18:42

LZ 我用的是Rhythmbox 怎么能够显示歌词呢~~
回复