常规lrc歌词转花潮格式(测试)
本帖最后由 马黑黑 于 2022-6-19 20:51 编辑 <br /><br /><style>.mama { margin: auto; width: fit-content; height: fit-content;}
.mama p { margin: 6px 0; padding: 0; text-align: center; }
.mama h5 { margin: 16px 0; padding: 0; font: bold 1.4em sans-serif; text-align: center; }
#lrcText { padding: 10px; width: 600px; height: 460px; outline: none; border: 1px solid; font: normal 1em / 1.2em sans-serif; }
#bntok {}
</style>
<div class="mama">
<h5>常规lrc转花潮格式</h5>
<textarea rows="18" cols="60" id="lrcText" placeholder="支持格式: [时间]歌词 及 [时间1][时间2][时间n]歌词"></textarea>
<p><input type="button" value=" 开始转换 " id="btnok" /></p>
</div>
<script>
let btnok = document.getElementById('btnok'), lrcText = document.getElementById('lrcText');
let lrcArr = [];
btnok.onclick = function() {
if(lrcText.value == '') return false;
lrcArr.length = 0; //初始化数组
let str = lrcText.value;
let ar = getLrcMsg(str);
for(j=0; j<ar.length; j++) {
let tmpar = ar.split('=');
if(tmpar.length > 1) {
let timeMsg = tmpar.split(':');
let tnum = parseFloat(timeMsg) * 60 + parseFloat(timeMsg);
tmpar = `\n\t['${tnum.toFixed(2)}'`;
tmpar = `'${tmpar}']`;
lrcArr.push(tmpar);
}
}
lrcText.value = 'let lrcAr = [' + lrcArr + '\n];';
}
function getLrcMsg(txt) {
let txtAr = txt.split('\n');
let newAr = [];
for(j=0; j<txtAr.length; j++) {
let words = txtAr.replace(/(?:\[\d+\:\d+(?:[.:]\d+)?\])+/g, '').trim(); //获取歌词
if(words) { //歌词若存在
let time = txtAr.match(/(?:\[\d+\:\d+(?:[.:]\d+)?\])/g); //获得时间
if(time != null) { //若时间存在
time = time.toString();
time = time.replace(/\[|\]/g,''); //去掉 [ 和 ]
let timeAr = time.split(',');
for(k=0; k<timeAr.length; k++) {//处理(多)时间信息
//构建格式便于后续处理 : 时间=歌词
newAr.push(timeAr + '=' + words);
}
}
}
}
newAr.sort((a,b) => a.localeCompare(b)); //重新排序
return newAr;
}
</script>
本帖最后由 马黑黑 于 2022-6-19 09:57 编辑
原始lrc歌词举例:
匹配时间为: 04 分 44 秒 的歌曲
我爱歌词网 [www.5ilrc.com]
有谁能够一夜之间长大 - 戊道子
词:[盘子]
曲:[陈绍楠]
编曲:
走去忘记 旧的人旧的自己
远离回忆 找个人说我爱你
别带着沉重去飞行
别怀疑内心深处的勇气
放纵地拥抱晨曦
在路上遇见新的自己
什么乱七八糟的的都来吧我不理你
什么乱七八糟的都可以上,程序仅处理合法的信息,不合法的无视 @醉美水芙蓉
看看这个行不行。收集使用情况。 @醉美水芙蓉
又call不上
@醉美水芙蓉
醉美水芙蓉 发表于 2022-6-19 10:07
黑黑老师厉害!现在什么样的LRC歌词都可以了!老师辛苦了!祝父亲节快乐!
也不是什么格式的都成。一楼这个,主要针对你昨晚说的lrc歌词格式,先测试一下,正常了再说 的确都能转换呢。只是,貌似少了最后一句{:4_173:} 本帖最后由 马黑黑 于 2022-6-19 11:19 编辑
红影 发表于 2022-6-19 11:07
的确都能转换呢。只是,貌似少了最后一句
少的理论上应该是信息不合法吧,你再检查看看 比如放5句只转4句,放50句就只转49句{:4_173:} 黑黑厉害,什么都能弄得出来{:4_199:} 红影 发表于 2022-6-19 11:09
比如放5句只转4句,放50句就只转49句
嗯,我也亲测了一下,是有这个问题。现在好了,你再试试。
感谢反馈。 本帖最后由 马黑黑 于 2022-6-19 11:18 编辑
红影 发表于 2022-6-19 11:09
黑黑厉害,什么都能弄得出来
那也不是,只是比较刻苦而已 醉美水芙蓉 发表于 2022-6-19 10:07
黑黑老师厉害!现在什么样的LRC歌词都可以了!老师辛苦了!祝父亲节快乐!
前面的测试过程中,红影发现了一个问题:会少最后一句歌词。现已修复此问题。 老黑的节奏太快了。这个转换器真厉害。{:4_199:} 这样就不用一句句的来的 绿叶清舟 发表于 2022-6-19 12:15
这样就不用一句句的来的
嗯,偷懒的做法。试试吧 加林森 发表于 2022-6-19 12:13
老黑的节奏太快了。这个转换器真厉害。
测试中,有问题吱一声