专栏文章

音频更新记录

休闲·娱乐参与者 1已保存评论 0

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
0 条
当前快照
1 份
快照标识符
@mipstrpz
此快照首次捕获于
2025/12/03 17:22
3 个月前
此快照最后确认于
2025/12/03 17:22
3 个月前
查看原文
为了与此专栏统一,从 1 开始编号。(同时为了鄙视那个专栏的更新速度,开了这个专栏。)
Upd:那个专栏没了,笑死。换成从 0 开始编号了。
Upd:下文中,“相合”一词表示文件大小相同,时长相同,且音乐能够做到无缝切换。相合仅标注官方专辑中拆分的曲目。

6.1

+1.10 +1.29 +2.8 +2.33 +4.18 +4.42 +5.11 +5.33 +5.55 +6.2 +6.30 +8.19 +9.24 +9.44 +10.0 +11.4 +11.9 +11.16 +13.10 +15.14 +16.21 +16.33 +17.23 +18.26 +18.40 +19.2 +19.10 +20.50 +21.30 +21.43 +22.13 +24.40 +24.41 +25.13 +26.12 +27.28 +29.24 +30.39 +31.4

6.0

+0.19 蒙泽的遐裔
+0.23 新月的摇篮曲(其二):宵晖下的笑颜(纯乐)
+1.1 暮雨的沫痕
+1.3 咏月者的谎言(两遍)
+1.16 仰月所昭之路
+1.36
+2.5 涉行之刻
+2.36 黄金城的祷颂
+2.37 簇拥的暖意
+2.42 萦思随白帆
+3.1 雪浪驰逐
+3.20 新月的摇篮曲(其三):眉间落英(人声)
+3.41 述往心的霜盏
+3.45 岬石与细浪之舞
+4.6 绿丘焕然
+4.29
+5.4
+5.31 牵梦的别绪
+5.38 圣仪默示之所(存疑)
+5.48 澈夜低徊
+7.3 千湖与月的秘径
+7.7 实力碾鸭!
+7.22
+7.39
+8.14
+9.0 未相逢的再遇
+9.14 清辉下的参礼
+9.25
+9.29 柜上的淑女
+9.40 深岩隐歌
+10.10 自外而至
+10.13 冀求之意
+10.25 如霞的盐沼
+12.12 锤砧间的音符
+12.22 荩草之途
+12.38 死荫的黯色
+12.46 白夜洇润
+13.1 石下暗涌
+13.3 银鸥的回旋
+13.8
+13.11 永夜与破晓的誓刃
+13.15 曦光所引
+13.16 风挟的预兆
+13.17 驻息的孤影(两遍)
+14.1 静伫的海峤
+14.3 谧宁如镜水
+14.10
+15.6 白桦与清水之梦
+15.16 风中的军垒
+15.41 滨海拂风
+16.9 浮槃与蓝穹的秘话(两遍)
+16.17
+16.39 鼓荡的街镇
+17.2 惶悚的灼念
+17.9 瓦砾与喧声
+17.16
+17.18 飞觥走斝
+17.21
+17.23 愁绪谧息(两遍)
+17.25 灾焰忽起
+17.31 向晚的丘甸
+18.12 近月赞咏
+18.23 雾乡哀语
+18.38
+18.44 晚祷的铃歌
+19.6 束光似水
+20.4 空待的重逢
+20.15 初焙的恬脆
+20.21
+20.32 游步欣愉
+20.51 苍银的圣咒
+21.3 闲饮酣适
+21.20 繁沸之港
+21.34 海蚀的幽廊
+21.38 初霜涓涟
+21.44 诡影蛰动
+21.50 纤辉之纺(版本一)
+22.2 荒落的祀歌(两遍)
+22.6 The Long Way Home
+22.19 切心的渴求
+22.23
+23.0 夜阑安暇时
+23.20 暂刻的时光
+23.27 诗境所蕴的旧事
+24.0 夕景伴归途
+24.20 深水中的伟业
+24.38 巨炮铿轰
+25.2 圣仪默示之所(存疑)
+25.7 冬霰锐冽(两遍)
+25.10
+25.17 未然的乐土
+25.25 寒涌的伫望
+25.36 苔骨的寒籁
-26.20 簇拥的暖意
+26.22 湖色映蓝
+27.12
+28.0 新月的摇篮曲(其三):眉间落英(纯乐)
+28.3 煦寒的惦念
+28.8
+28.9 壤土下的安居
+28.24
+28.27 新月的摇篮曲(其二):宵晖下的笑颜(人声)
+28.38 戒禁之域(两遍)
+28.39 幽芒驻息
+28.42 新月的摇篮曲(其一):伴月同眠(人声)
+29.14 哀茕如霭
+29.21 飘曳的眠梦
+29.25 海舶归港
+29.30 皎晶澄凝
+29.39 鳞光倏烁
+29.43 列岛的晓风
+30.18
+30.19 雨月夜想
+30.26 新月的摇篮曲(其一):伴月同眠(纯乐)
+30.29 回家的路
+31.25 船歌优稳
+31.26 纤辉之纺(版本二)
+31.32 铁铸的洪流
+31.45 升于陨圮(两遍)
+31.49
1.16 9.14 相合。
2.5 18.44 相合。
12.38 21.44 相合。
14.3 26.22 相合。
余下未名者均未知环境音。

5.8

+0.20 休暑且纵意
+0.21 软沙印下忆记
+2.37 海潮的闲歌
+4.2 热际率舞(长版鼓点一)
+4.4 余温驻丘原
+4.21 热际率舞(长版一)
+5.4 沐泳鳍波
+7.14
+7.23 煨烬之燧
+7.35 悠适的光景
+8.1 午日慵眠
+8.15 饫饮后的醺酣
+9.35 不绵的守望
+11.30 铺巷间的信步
+12.21 宿浪抚沙岸
+13.16 热际率舞(短版一)
+14.41 蜜浆初酿
+15.25
+17.24 海垂的珠贝
+18.13 彩染的绮绘
+19.28 灼日下的决斗
+19.53 燹火的祈咏歌
+20.0
+20.37 藏于海贝的心绪
+20.39 热际率舞(长版二)
+21.26 热际率舞(长版鼓点二)
+24.0 客船悠悠摇曳
+24.11 如云团飘悠
+25.9 细浪所诉的遐思
+25.19 飘尘的崖壑
+26.15 依风翩翻
+27.7 晴光漫野
+27.22 如盛夏般绚缦
+29.7
+30.27 热际率舞(短版二)
+30.28 柔睦的晚梦
+31.29 入港的煦风

5.7

+2.30 伤痍与沉寂
+4.22 歌弦里的故星(纯乐)
+6.23 始末的微光
+8.23 梭巡于渊隙
+9.25 过客的轨途
+11.8 罅隙边缘的孑影
+14.13 临界游弋
+31.13 滞于一刹的叹息
8.23 9.25 11.8 14.13 相合。

5.6

+0.26
+0.30 方寸颠倒(女声主)
+3.33 方寸颠倒(人声头)
+4.5 列阵珍馐
+6.1
+6.34 方寸颠倒(纯乐主)
+10.17 幕布下的映梦
+10.28
+11.21 囿于棋格中(中)
+12.39 累棋之危(中)
+13.17 方寸颠倒(男声主)
+16.12 宴饮皆世间
+19.33 累棋之危(尾)
+20.44 累棋之危(头)
+22.33 欢夏的存念
+24.14 囿于棋格中(头)
+25.15 辩言与讱默的对峙
+26.19 簇拥的暖意

5.5

+1.34 撼星的旅路
+3.11 果香漫径
+3.24
+3.31
+3.41
+5.18 如铸星之业
+5.31 嵾峨之冠(两遍)
+5.32 晚间畅惬
+6.2 (火山喷发)
+6.7 遗宫幽寂(两遍)
+7.28 受龙所选的试炼(主循环)
+8.19 酣战之始(主)
+8.27 随流炎而行
+9.4 饫沃坡野
+11.6 从游于识海
+13.8
+14.4
+14.10 健行的膂力
+16.10 悄长的菌群(主)
+17.8 酣战之始(鼓点)
+17.19 顽傲者的喧诤(版本一)
+18.6 源火的深隍
+19.38 勤倦之畛
+20.26 顽傲者的喧诤(版本二)
+21.6 晨风拭惬气
+21.7 悄长的菌群(无鼓点)
+21.20 图兰的残垣
+22.17
+23.11 湛火的土壤
+27.9 受龙所选的试炼(头)
+28.16 他的选择
+29.5 称贤者的真意
+30.0 夜伴微火
+30.31
+31.16

代码很简单:
CPP
#include<algorithm>
#include<fstream>
#include<iostream>
#include<string>
using ll=long long;
char buf[101];
struct wav{int si;long long st;};
int readint(const char(&b)[4]){return int(b[0])&255|(int(b[1])&255)<<8|(int(b[2])&255)<<16|int(b[3])<<24;}
ll readll(const char(&b)[8]){return ll(b[0])&255|(ll(b[1])&255)<<8|(ll(b[2])&255)<<16|(ll(b[3])&255)<<24|(ll(b[4])&255)<<32|(ll(b[5])&255)<<40|(ll(b[6])&255)<<48|ll(b[7])<<56;}
int akpk(std::ifstream&f,wav(&e)[101])
{
	f.read(buf,56);
	const int l=readint(reinterpret_cast<char(&)[4]>(buf[52]));
	for(int i=0;i<l;i++)
		f.read(buf,20),e[i]=wav{readint(reinterpret_cast<char(&)[4]>(buf[8])),readll(reinterpret_cast<char(&)[8]>(buf[12]))};
	return l;
}
bool cmp(std::ifstream&f0,const wav&e0,std::ifstream&f1,const wav&e1)
{
	f0.seekg(e0.st),f1.seekg(e1.st);
	static char s0[1048577],s1[1048577];
	for(int i=0;i<e0.si;i+=1048576)
	{
		int l=std::min(1048576,e1.si-i);
		f0.read(s0,l),f1.read(s1,l);
		for(int j=0;j<l;j++)
			if(s0[j]!=s1[j])
				return 0;
	}
	return 1;
}
int main()
{
	std::cin.tie(0)->sync_with_stdio(0);
	int t0=0,t1=0;
	for(int i=0;i<32;i++)
	{
		std::ifstream f0("更新前/Music"+std::to_string(i)+".pck",std::ios_base::binary);
		std::ifstream f1("更新后/Music"+std::to_string(i)+".pck",std::ios_base::binary);
		wav e0[101],e1[101];
		int le0=akpk(f0,e0),le1=akpk(f1,e1);
		t0+=le0,t1+=le1;
		bool e[2][101]{};
		for(int j=0;j<le0;j++)
			for(int k=0;k<le1;k++)
				if(e0[j].si==e1[k].si&&cmp(f0,e0[j],f1,e1[k]))
					e[0][j]=e[1][k]=1;
		for(int j=le0-1;~j;j--)
			if(!e[0][j])
				std::cout<<'-'<<i<<'.'<<j<<'\n';
		for(int j=0;j<le1;j++)
			if(!e[1][j])
				std::cout<<'+'<<i<<'.'<<j<<'\n';
	}
	std::cout<<t0<<' '<<t1;
	return 0;
}

评论

0 条评论,欢迎与作者交流。

正在加载评论...