红联Linux门户
Linux帮助

linux 下的歌词同步播放(软件宣传)

发布时间:2008-01-09 15:24:32来源:红联作者:Smilies
windows下你使用过ttplayer吧?可以歌、词同步播放

linux下,你也有选择了:lrcshow!

amarok脚本,做到mp3、歌词同步播放

可以手动选择歌词服务器如ttplayer歌词、百度歌词。

下载:http://www.sanfanling.cn/read.php?206

打开:

amarok->脚本管理器->常规->lrcshow II



作者说明:
这是一个amarok的脚本,虽然是显示lrc歌词的,但是由于没有用到歌词脚本的一些信号,所以并不隶属于amarok所限定的“歌词脚本”类别里,因此安装后它会显示在“常规”里面,这样有个好处,和其他歌词脚本并不冲突。这个脚本采用了独立于amarok的GUI来构造,整个脚本依赖pyqt,这里有个问题,因为需要amarok的一些信号,因此比需要采用两个线程,从以前为EVA写的一个五子棋脚本的反馈来看(这两个脚本有类似之处),有些发行版,尤其是(k)ubuntu的pyqt大概有些问题,可能会导致运行失败(应该是在QThread类上)。该脚本可以动态的显示lrc歌词,虽然有些朋友会称其为“跳动”而非“滚动”,但是“动态”总不能否定了吧?
文章评论

共有 5 条评论

  1. hobo2008 于 2008-05-22 10:08:38发表:

    (hl):hao 长见识了。

  2. ilyred 于 2008-04-27 09:38:29发表:

    太好了,也能做到。

  3. zhouhunt 于 2008-01-21 14:38:56发表:

    请问下,你用的是什么主题,这么漂亮

  4. Smilies 于 2008-01-09 15:27:01发表:

    [发布]lrcShow-II-0.1.0测试版
    经过这几天的努力,预计中的lrcShow-II脚本终于初步完成,进度相当快,这要归功于火箭队的3连败。

    简介:

    这是一个amarok的脚本,虽然是显示lrc歌词的,但是由于没有用到歌词脚本的一些信号,所以并不隶属于amarok所限定的“歌词脚本”类别里,因此安装后它会显示在“常规”里面,这样有个好处,和其他歌词脚本并不冲突。这个脚本采用了独立于amarok的GUI来构造,整个脚本依赖pyqt,这里有个问题,因为需要amarok的一些信号,因此比需要采用两个线程,从以前为EVA写的一个五子棋脚本的反馈来看(这两个脚本有类似之处),有些发行版,尤其是(k)ubuntu的pyqt大概有些问题,可能会导致运行失败(应该是在QThread类上)。该脚本可以动态的显示lrc歌词,虽然有些朋友会称其为“跳动”而非“滚动”,但是“动态”总不能否定了吧?

    特点:

    小巧,整个脚本才20k不到,如果将来加上简繁转换所用到的字典,就会相应变大点。还有,cpu占用率极低,更何况这是用python写的,并非c类语言,这点就比较难能可贵点,因为这是由它的运行机制决定的,它的动态显示并不是每时每刻去匹配lrc歌词的方法,而是预先设定好的,因此滚动没有采用非常复杂的算法,而是纯粹采用了qt(QTextbrowser)本身的特性。还有个重要引申,那就是正是避免了匹配法,造就了这个脚本对lrc时间标签的精确度非常高,误差只有0.01秒,而匹配的算法达到这个进度,需要耗费大量cpu。

    其他功能:

    1.可以搜索本地目录中的lrc歌词(预设为$HOME),并且优先于网络下载
    2.当本地没有找到,或者设置本地lrc目录为空时,可以自动从网络搜索并在搜索到的情况下显示(服务器用的是百度,这里和是否下载到本地无关),可以设置是否下载到本地(必须是本地lrc歌词目录非空时才可以下载到本地,即该目录),lrc文件命名采用“artist - title.lrc”的方式
    3.可以设置背景色、字体色和高亮色
    4.可以设置显示歌词的总行数,当只显示一行歌词时,脚本会不做标亮处理
    5.可以自由设置字体种类和字体大小

    不足:

    毕竟是python写的小程序,再加上有些机制的问题,必然有些不足,主要有以下几个:
    1.手动改变当前歌曲的进度后,歌词没有办法跟随的,这也是不采用匹配方法的代价。
    2.当歌曲播放中启动脚本后,可能会造成一点误差
    3.脚本运行中,缺少对amarok状态的监控,会有一些问题
    4.有些地方为了简化设计,强行的固定下来了,比如字体、字体大小、窗口大小(窗口宽度以后应该可以手动调节,现在不行),如果不这样做,要保持当前歌词出于窗口的中间,还是非常麻烦的。

    依赖:

    >=python-2.4
    pyqt3

    其他:

    该脚本的配置文件放置在~/.kde/share/apps/amarok/scripts-data/下,即lrcShow-II.conf,内有详细说明,该脚本必须手动修改配置文件。修改后必须重启脚本以生效。还有要说明的是,网络上的lrc歌词良莠不齐,对于匹配精确度的度量,最好拿认为可靠的本地lrc文件。

    该脚本仅仅处于测试状态,0.1.0的版本都不算,还有很多地方需要改进,希望各位试用的朋友不吝赐教,并报告bug,小三在此先行谢过了。

    11.19第二次更新,更新日志如下:

    1.修正标亮条漂移的问题
    2.修正预设lrc目录为$HOME
    3.修正下一首歌曲开始播放时,lrc歌词在窗口中没有滚到开头的bug
    4.禁止滚轮滚动歌词
    5.增加了窗口显示歌词行数的设定
    6.根据歌词显示行数,重新定位标亮歌词以及窗口大小,并且不固定窗口宽度
    7.增加当lrcShow-II启动时Amarok处于停止状态时的行为判定
    8.修正增加歌词头尾两端空行的一个bug
    9.增加字体、字体大小设置项
    10.修正readConfig模块和lrcParser模块的两处bug
    11.修正一个读取配置文件转小写的bug
    12.当显示歌词行数为1行时,不做标亮处理(未添加)

  5. Smilies 于 2008-01-09 15:26:19发表:

    lrcShow-II正式发布[更新至0.5.0]
    经过一段时间的开发和3天时间的测试,今天很荣幸的宣布lrcShow-II的第一个正式版,0.1.0版本发布。

    相较于第一个测试版,更新和修正的地方还是比较多的,这也证明了测试阶段比较成功,完整的changelog如下:

    1.修正标亮条漂移的问题
    2.修正预设lrc目录为$HOME
    3.修正下一首歌曲开始播放时,lrc歌词在窗口中没有滚到开头的bug
    4.禁止滚轮滚动歌词
    5.增加了窗口显示歌词行数的设定
    6.根据歌词显示行数,重新定位标亮歌词以及窗口大小
    7.增加当lrcShow-II启动时Amarok处于停止状态时的行为判定
    8.修正增加歌词头尾两端空行的一个bug
    9.增加字体、字体大小设置项
    10.修正readConfig模块和lrcParser模块的两处bug
    11.修正一个读取配置文件转小写的bug
    12.当显示歌词行数为1行时,不做标亮处理
    13.修正了对歌词尾行的行为判定

    前一个帖子里的测试版正式停止下载,改由本帖提供,同时会更新新版本和changelog,如果您在使用期间发现问题,请在此提交bug或者意见

    07.11.25 发布lrcShow-II-0.2.0

    changelog:

    1.禁止右键菜单
    2.禁止选中歌词内容、及拖拽
    3.增加设置菜单,双击窗口界面呼出
    4.增加歌词偏移量快速调整(立即生效,仅对当前,不写入文件)
    5.增加快速修改歌词文件偏移量功能(写入文件)
    6.增加歌词编辑功能
    7.修正当本地编码为非UTF8,且lrc目录名中含有中文时发生的一个编码错误
    8.增加快速切换简繁体(立即生效,仅当前,不写入文件)
    9.增加歌词编辑界面中简繁体转换功能
    10.修正一个可能由python版本造成的bug(readConfig.py)
    11.修正标题栏名称
    12.修正当本地歌词文件不存在,调整了偏移量后“保存”按钮有效的bug
    13.修正生成配置文件中的一个大bug Thanks grassofhust @ linuxsir

    07.11.26 发布lrcShow-II-0.2.1版本

    changelog:

    1.修正一个当没有歌词时,调整偏移量按钮和简繁转换按钮为enable的bug
    2.当无本地歌词时,允许打开一个内容为空的歌词编辑器
    3.改变标亮当前歌词行背景色为标亮当前歌词行
    4.修正了手动切换歌曲后,前首歌词的标亮处没有取消的bug(由3的改变引申)
    5.设置栏按钮文字替换为图标
    6.为打开的空白歌词编辑器自动添加lrc头
    7.精简代码
    8.修改标亮色的预设

    07.12.09 发布lrcShow-II-0.3.0版本

    changelog:

    1.修正当lrc歌词的offset标签未含数字时出现的bug
    2.实现所有设置在菜单中完成,且立即生效而无须重启脚本
    3.重构readConfig模块
    4.重构配置文件形式
    5.增加右键菜单功能
    6.改进匹配本地歌词文件的方法
    7.修正当显示行数为1时居中定位的一个bug
    8.当设置为“下载lrc到本地”后,实现立刻下载当前歌曲歌词
    9.修正当搜索、下载歌词过慢、超时或者网络不通时阻塞GUI进程的bug
    10.修正切换歌曲后上首歌曲的进度计时器仍然运行的错误
    11.修正当前歌词下载到本地后,歌词编辑器无法打开该歌词的bug

    07.12.09发布lrcShow-II-0.3.1版本

    changelog:

    1.实现真正的“滚动”
    2.修正邮件菜单的弹出位置

    07.12.12发布lrcShow-II-0.3.2版本

    changelog:

    1.修正在实现“滚动”后出现的,最后一行歌词不被标亮的bug
    2.菜单中增加“退出”按钮
    3.设置过长歌词不自动换行,修复当歌词过长,超过窗口宽度时标亮歌词无法居中的bug
    4.拖动窗口任何位置实现窗口移动
    5.禁止横向滚动条的出现
    6.增加帮助文档浏览器
    7.撰写使用帮助文档

    07.12.14发布lrcShow-II-0.3.3版本

    changelog:

    1.增加显示模式菜单
    2.实现全屏显示模式
    3.修正改变字体后计时器仍然运行的bug
    4.优化歌词的匹配精确度
    5.增加OSD显示模式
    6.增加联网代理支持
    7.增加仅下载当前歌曲lrc歌词功能(无本地lrc歌词,自动下载为否,且能网络搜索到)
    8.彻底剥离网络进程和主GUI进程
    9.实现歌词立刻跟随至当前(scroll函数和scrollPlus函数统一,取消myTimerPlus时钟对象)
    10.更新帮助文档

    07.12.18发布lrcShow-II-0.4.0版本

    changelog:

    1.修正滚动步进过小的bug(该bug在大字体时对定位造成的影响特别明显)
    2.屏蔽QTextbrowser预设的快捷键
    3.修正了保存偏移量后,保存偏移量的函数没有清零的bug
    4.为配色对话框预设默认色
    5.为调整偏移量增加快捷键
    6.修正缺少歌名或者歌手信息时lrcShow-II不工作的bug
    7.增加本地lrc歌词编码的设定
    8.修正了当搜索到百度上似有实无的lrc歌词时出现的bug
    9.增加搜索引擎选择设置项
    10.增加sogou(搜狐)搜索引擎
    11.增加当下载时出现编码错误后的对话框
    12.国际化
    13.修正Amarok暂停时的行为判定

    07.12.20发布lrcShow-II-0.4.1版本

    changelog:

    1.修正0.4.0中Amarok停止后的行为判定错误
    2.改进对Amarok信号匹配的规则
    3.增加强制网络搜索菜单项
    4.增加当同时在本地搜索到多个lrc歌词时的选择对话框
    5.增加当下载本地已经存在同名文件时的询问对话框

    07.12.23发布0lrcShow-II-0.4.2版本

    changelog:

    0.4.1 - 0.4.2更新日志:
    1.增加ttPlayer歌词搜索引擎
    2.预设歌词搜索引擎为ttPlayer
    3.修正点击GUI界面后,标亮行被取消的bug
    4.为歌词选择对话框增加自动倒计时以及自动选择
    5.修正当两行歌词间时间间隔过短而造成标亮上的bug
    6.当歌曲切换后,自动关闭歌词选择对话框(搜索结果的选择对话框和本地多个结果选择对话框)

    08.1.6发布lrcShow-II-0.5.0版本

    changelog:

    0.4.2 - 0.5.0更新日志:
    1.修正设置快捷键代码在某些发行版下出错的问题
    2.实现读取编码和保存编码的分离
    3.实现对本地lrc歌词编码的自动探测
    4.将针对本地lrc歌词读写编码的设置改为仅针对写lrc歌词时所用到的编码设置
    5.增加用户数据库
    6.增加“歌词策略”概念,并增加当前音轨歌词策略设置项
    7.实现“不使用策略”、“不搜索本地”、“不搜索网络”、“什么都不做”和记忆用户选择的歌词(当本地搜索到多个时)这五种策略,默认是“不使用策略”
    8.修复一个未翻译的bug
    9.将原gui.py模块更名为mainGui.py
    (“歌词策略”是个全新的概念,具体请参阅帮助文档)

    lrcShow-II已经正式提交到kde-apps上,可以通过上述地址下载,或者直接是用Amarok脚本管理器的百宝箱下载安装。

    如果您使用过0.4.0以前的版本,请先删除老版本的配置文件,配置文件位置在~/.kde/share/apps/amarok/scripts-data/目录下的lrcShow-II.con文件。

    如果您在使用中发现bug,请在此post中提交给我,多谢支持,小三谢过!