有在字幕组里面工作的同学和我说,做KALAOK字幕脚本是很不方便的,PopSub的KALAOK歌词制作似乎不太好用,于是特效人员一般都是手写ASS代码,每个字的特效持续时间只能估计。这样子要做完一个OP或ED还真实不轻松的事情。
按照我的想法,是否可以这样做:首先将播放速度降低到0.5倍或更慢的速度,接着将歌词编排好,然后使用下面的方法进行制作
当一个字开始的时候,按下空格键,这时候启动一个定时器。
情况1:
是这个字不是一句话的最后一个字,或者这个字结束以后不需要停顿,直接开始下一个字。
这种情况下应该按下空格,这时程序计算刚才启动的定时器的时间,将这个时间格式化成{k%d}的格式以后加在这个字的前面(在ASS中就意味着这个字的特效时间长度是%d),接着为下一个字启动一个定时器,等待下一个空格键或回车键的按下
情况2:
这个字是一句话的最后一个字,或者这个字以后应该停顿
这种情况下就不能马上为下一个字启动定时器,这时按下回车,程序就会计算这个字的特效时间长度并将之格式化后加在这个字的前面,接着继续等待用户按下空格键
虽然这两种情况文字叙述起来比较复杂,但是实际操作确实比较简单的(我认为),也能得到比较精确的每一个字的特效持续时间。
先把这程序丢给我同学看看再说。
这个程序有可能成为偶(幻想)计划开发的一个Linux平台的与PopSub类似的字幕工具(不知道有没有人试过wine PopSub,反正我是没wine起来,顺便说句,PopSub是用VB写的,可能需要VB的运行库)
下面是程序截图和截图里面未完成的代码,纯粹概念性测试而已,所以很多东西都是乱七八糟的。歌词中的空格也没有考虑,于是我就把这歌词中原有的空格去掉了
我印象中特效时间标记应该是{k%d}这样的格式,不知道记错没有。%d的单位是10毫秒
MPlayer似乎没办法直接返回精确到毫秒的时间,只能返回精确到0.1秒的时间。不过如果需要的话,可以通过帧数来计算出比0.1秒更精确的时间
截图上未完成品代码
[code]
{k40}透{k20}き{k70}通{k60}る{k50}夢{k30}を{k40}見{k30}て{k20}い{k60}た
{k40}や{k30}わ{k40}ら{k50}か{k60}い{k80}永{k210}遠
{k60}風{k40}の{k40}よ{k20}う{k40}な{k20}か{k40}す{k20}か{k40}な{k40}声{k60}が
{k60}高{k50}い{k90}空{k30}か{k20}ら{k70}僕{k20}を{k50}呼{k20}ん{k20}で{k40}い{k50}る
{k100}こ{k40}の{k90}ま{k50}ま{k120}飛{k40}び{k60}立{k30}て{k20}ば
{k70}何{k80}処{k10}に{k40}だ{k60}っ{k30}て{k30}行{k60}け{k280}る
{k110}重{k40}ね{k80}た{k30}手{k110}と{k20}手{k30}の{k90}中{k50}に
{k110}小{k30}さ{k60}な{k60}未{k40}来{k110}が{k30}見{k20}え{k90}た{k30}ら
{k160}光{k90}の{k120}中{k60}揺{k40}ら{k30}め{k50}いた
言葉も思いも全部
遥かな君まで残さず伝えてきっと
[/code]
请给这篇日志评个分吧!
使用计算机给一个看似四色猜想的反例上色
wxWIdgets在Linux下配置为静态编译的方法

2009年1月7日 02:41 | by 






不过歌词的话。。。。显然bpm分析软件王道。。。
那是啥东西 = =?
路过,话说ubuntu里的tomboy便笺和f-spot
是
.net的程序
这么神奇……虽然装好系统的时候偶第一时间就删除了这两个东西的说……
装回来看看……