AI翻唱《热血颂》
<style>
@import 'https://638183.freep.cn/638183/web/tz/tz.v4.css';
/* 七彩文字高亮样式 */
::highlight(c1) { color: red; }
::highlight(c2) { color: orange; }
::highlight(c3) { color: magenta; }
::highlight(c4) { color: green; }
::highlight(c5) { color: teal; }
::highlight(c6) { color: blue; }
::highlight(c7) { color: purple; }
.pa {
--offsetX: 80px;
--bg: url('https://ff.xiaoqiaodali.top:5401/i/2026/06/27/6a3fbae0a6cbc.gif') no-repeat center/cover;
--ma-size: 5%;
width: 1400px;
height: 788px;
position: relative;
overflow: hidden;
}
.pa *, .pa *::before, .pa *::after {
content: none !important;
}
/* 歌词容器 */
#custom-lrc-container {
position: absolute;
bottom: 15px;
left: 0;
width: 100%;
text-align: center;
z-index: 9999;
pointer-events: none;
height: 50px;
display: flex;
justify-content: center;
align-items: center;
}
/* 歌词样式 - 描边改为白色 */
.lrc-line {
position: absolute;
left: 50%;
transform: translateX(-50%);
white-space: nowrap;
color: #fefefe;
font-size: 28px;
font-family: "方正兰亭粗黑_GBK", "LiSu", serif;
font-weight: bold; /* 字体加粗 */
/* 原黑色描边 → 改为白色描边 */
text-shadow: 1px 1px 2px #fff, -1px -1px 2px #fff, 1px -1px 2px #fff, -1px 1px 2px #fff, 0 0 12px rgba(255,255,255,0.9);
opacity: 0;
transition: opacity 0.5s ease, transform 0.5s ease;
margin: 0;
top: 0;
}
.lrc-line.active {
opacity: 1;
transform: translateX(-50%) scale(1.1);
z-index: 10;
}
</style>
<div class="pa">
<div id="custom-lrc-container"></div>
</div>
<script type="module">
import TZ from 'https://638183.freep.cn/638183/web/tz/tz.v4.js';
const tz = TZ.TZ('pa');
tz.add('audio', '', '', { src: 'https://imgimg.qqdsw8.cn/view.php/aa0c4452772765829c7b3fde8ab77347.mp3' });
tz.add('video', '', 'pd-vid', {src: 'http://cccimg.com/view.php/30d85f08f6e84acaa27e7201a2f69eba.mp4'}).style('opacity: 0.2;');
tz.add('img', '', 'ma', {
src: 'https://ff.xiaoqiaodali.top:5401/i/2026/06/24/6a3ba8abb0298.gif'
})
.style('right: 210px; bottom: 40px;')
.playmp3();
tz.bgprog().style('bottom: 8px; color: #fefefe; width: 400px;');
tz.fs().style('left: 20px; top: 20px;');
const lrcString = `
当 你离开生长的地方
梦中回望
可曾梦见河边那棵
亭亭的白杨
每一棵寸草都忘不了你
日夜守望
思念你的
何止是那亲爹亲娘
当你握别温暖的手
泪落几行
可曾感到背影凝聚着
滚烫的目光
每一棵赤诚的心灵
都深深理解 你
每一个热切的向往
都充满你的力量
`;
// 注册七彩高亮
let hl_ar = [];
['c1','c2','c3','c4','c5','c6','c7'].forEach(c => {
const hl = new Highlight();
hl_ar.push(hl);
CSS.highlights.set(c, hl);
});
// 给单个元素上色
function colorizeText(element) {
const walker = document.createTreeWalker(element, NodeFilter.SHOW_TEXT);
let node;
while (node = walker.nextNode()) {
for (let i = 0; i < node.textContent.length; i++) {
const range = new Range();
range.setStart(node, i);
range.setEnd(node, i + 1);
const idx = Math.floor(Math.random() * hl_ar.length);
hl_ar.add(range);
}
}
}
function initCustomLrc(lrcText) {
const container = document.getElementById('custom-lrc-container');
const lines = [];
const lineRegex = /\[(\d{2}):(\d{2})\.(\d{2,3})\](.*)/;
const rawLines = lrcText.split('\n');
rawLines.forEach(text => {
const match = text.match(lineRegex);
if (match) {
const minutes = parseInt(match);
const seconds = parseInt(match);
const milliseconds = parseInt(match);
const time = minutes * 60 + seconds + milliseconds / 1000;
let content = match.trim();
content = content.replace(/&#\d+;/g, '').trim();
if (content) {
lines.push({ time, content, element: null });
}
}
});
lines.forEach((line) => {
const div = document.createElement('div');
div.className = 'lrc-line';
div.textContent = line.content;
container.appendChild(div);
line.element = div;
// 给这句歌词上色
colorizeText(div);
});
const audio = document.querySelector('.pa audio');
if (audio) {
audio.addEventListener('timeupdate', () => {
const currentTime = audio.currentTime;
let activeIndex = -1;
for (let i = 0; i < lines.length; i++) {
if (currentTime >= lines.time) {
activeIndex = i;
} else {
break;
}
}
lines.forEach((line, idx) => {
if (idx === activeIndex) {
line.element.classList.add('active');
} else {
line.element.classList.remove('active');
}
});
});
audio.addEventListener('ended', () => {
lines.forEach(line => line.element.classList.remove('active'));
});
}
}
setTimeout(() => {
const audioEl = document.querySelector('.pa audio');
if(audioEl) {
initCustomLrc(lrcString);
} else {
const observer = new MutationObserver(() => {
const aud = document.querySelector('.pa audio');
if(aud) {
initCustomLrc(lrcString);
observer.disconnect();
}
});
observer.observe(document.querySelector('.pa'), { childList: true, subtree: true });
}
}, 500);
</script> 欣赏版主的精彩音画AI翻唱《热血颂》,唱得真棒!{:4_199:} 梦江南 发表于 2026-6-27 20:29
欣赏版主的精彩音画AI翻唱《热血颂》,唱得真棒!
梦江南晚上好~~
AI的这个翻唱挺火的,我也挺喜欢。
感谢您的支持,祝您周末快乐!{:4_204:}{:4_190:}
现在AI厉害了,什么都能做。这首歌还真挺好听的呢。
欣赏枫丹好帖{:4_187:} 红影 发表于 2026-6-27 22:20
现在AI厉害了,什么都能做。这首歌还真挺好听的呢。
欣赏枫丹好帖
红影晚上好~~现在再=在B站我看到好几组这种AI翻唱,很多唱的我都听喜欢的。谢谢红影支持,晚安~~{:4_204:}{:4_190:}
AI翻唱也如此动听呢,谢谢精彩分享{:4_204:} 杨帆 发表于 2026-6-27 23:19
AI翻唱也如此动听呢,谢谢精彩分享
我觉得翻唱的很好听,现在挺火的,就是短了点,这一版就这几句,谢谢扬帆支持!{:4_204:}{:4_190:}
这是AI唱的呀,确实不错。以后歌手是不是要失业啦?{:5_105:} 魏淑芬 发表于 2026-6-28 15:36
这是AI唱的呀,确实不错。以后歌手是不是要失业啦?
我觉得很多翻唱都无法抗衡AI的声音,一些人用这个对口型,挺有意思的。我不懂唱法,从表现程度上我喜欢这种演唱{:4_204:}{:4_190:}
霜染枫丹 发表于 2026-6-28 16:16
我觉得很多翻唱都无法抗衡AI的声音,一些人用这个对口型,挺有意思的。我不懂唱法,从表现程度上我喜欢这 ...
确实,AI的可能更完美,不会有缺陷,但是情感上应该没有真人丰富吧? 魏淑芬 发表于 2026-6-28 16:22
确实,AI的可能更完美,不会有缺陷,但是情感上应该没有真人丰富吧?
我自己的理解,就听几句碎片化的单句美感可能惊艳,但没有了承上启下,没有了内涵韵味,整体的共情理解达不到。就像这首歌,我还是喜欢听廖昌永的演唱。这可能是角度出发点理解程度每个人的想法不一样。我更多的喜欢听真人演唱。
现在,ai无所不能,一些职业会不会受到AI 的威胁啊? 梦油 发表于 2026-6-28 17:20
现在,ai无所不能,一些职业会不会受到AI 的威胁啊?
这个我说不明白,反正我要出短剧,就不会用演员了,
霜染枫丹 发表于 2026-6-28 17:13
我自己的理解,就听几句碎片化的单句美感可能惊艳,但没有了承上启下,没有了内涵韵味,整体的共情理解达 ...
很有同感,毕竟歌曲表达的是人的心声。 霜染枫丹 发表于 2026-6-27 23:15
红影晚上好~~现在再=在B站我看到好几组这种AI翻唱,很多唱的我都听喜欢的。谢谢红影支持,晚安~~{:4_204: ...
AI 的演唱将会成为主流,毕竟很多人唱歌估计不行,但制作没问题,这样网上的这类歌就会越来越多。 霜染枫丹 发表于 2026-6-28 17:28
这个我说不明白,反正我要出短剧,就不会用演员了,
AI确实给我们带来了不少方便。
页:
[1]