Skip to content

xk2013awa/PhiChartSearch

 
 

Repository files navigation

PhiChartSearch

一个专为Phigros谱面制作设计的工具集,提供谱面分析、音频匹配和工程管理功能。

🎯 项目概述

本项目是一个完整的Phigros谱面提取辅助工具,包含以下核心功能:

  • 谱面分析:智能分析谱面文件,提取物量、BPM、时长等关键信息
  • 音频匹配:根据谱面时长智能匹配合适的音频文件
  • 工程管理:完整的谱面工程创建和管理系统
  • 自动化工具:自动生成曲绘、info.txt等文件

✨ 主要特性

🎵 音频匹配

  • WAV音频文件时长分析
  • 基于时长的智能匹配算法
  • 支持精确到小数点后两位的时长匹配
  • 音频文件夹记忆功能
  • 一键添加到工程

🏗️ 工程管理系统

  • 完整的工程创建向导
  • 自动生成8位随机Path
  • 支持曲绘自动生成
  • 工程配置持久化存储
  • 多工程管理支持

🔧 用户友好界面

  • 直观的图形界面
  • 窗口互斥设计
  • 实时进度显示
  • 详细的状态反馈

📋 系统要求

运行环境

  • Python 3.7+
  • Windows/macOS/Linux

依赖库

tkinter - GUI界面
PIL (Pillow) - 图像处理
wave - 音频文件处理
json - 配置文件处理

🚀 快速开始

1. 克隆项目

git clone https://github.com/catmcbe/PhiChartSearch
cd PhiChartSearch-main

2. 运行程序

python ChartAnalyzer.py

如果你不想配置环境,可前往releases下载已编译的exe文件

3. 首次使用

  1. 程序会自动检测是否存在未完成的工程
  2. 如果没有,会弹出工程创建向导
  3. 按照向导填写工程信息
  4. 开始谱面搜索和音频匹配

📖 使用指南

创建新工程

  1. 填写工程名称和难度(必填)
  2. 选择工程文件夹位置
  3. 可选:填写Composer和Charter信息
  4. 可选:启用自动曲绘生成
  5. 点击"创建工程"

谱面搜索

  1. 选择谱面文件夹(TextAsset)
  2. 设置筛选条件:
    • 关键词(EZ、HD、IN、AT等)
    • 目标物量
    • 目标BPM
    • 目标音频长度
  3. 点击"开始筛选"
  4. 从结果中选择合适的谱面
  5. 点击"添加到工程"

音频匹配

  1. 选择音频文件夹(包含WAV文件)
  2. 输入目标音频时长
  3. 点击"开始筛选"
  4. 从匹配结果中选择音频
  5. 点击"添加到工程"

🎨 界面预览

工程创建界面

  • 简洁的表单设计
  • 实时输入验证
  • 进度指示器

谱面搜索界面

  • 清晰的筛选条件区域
  • 实时结果展示
  • 匹配度可视化

音频匹配界面

  • 直观的文件列表
  • 时长匹配度显示
  • 快速操作按钮

🔧 配置说明

程序配置

程序会自动创建以下配置文件:

  • chart_analyzer_config.json:用户偏好设置
  • project_config.json:工程信息存储

配置文件结构

{
  "last_folder": "D:\\TextAsset",
  "audio_folder": "D:\\Audio"
}

📊 技术架构

核心模块

  • ChartAnalyzer:主程序入口
  • Chart类:谱面数据模型
  • AudioFile类:音频文件模型
  • 工程管理模块:工程创建和管理

算法说明

  • 匹配度计算:基于物量、BPM、时长的综合评分
  • 音频时长分析:使用wave库精确计算
  • 智能排序:按匹配度降序排列结果

🐛 故障排除

常见问题

Q: 程序启动时崩溃 A: 检查Python版本和依赖库是否正确安装

Q: 无法找到谱面文件 A: 确保谱面文件夹路径正确,文件格式为JSON

Q: 音频匹配失败 A: 检查音频文件是否为WAV格式,文件夹权限是否正确

Q: 工程创建失败 A: 确保工程文件夹有写入权限,路径不包含特殊字符

Q:BPM不确定? A: 尝试不使用bpm筛选功能

Q:曲绘自动生成失败? A: 确保字体Source Han Sans & Saira Hybrid-Regular #2934.ttf在程序所在目录

Q: 无法自动退出程序?经常报错? A: 当前版本为测试版本,BUG很多,会逐渐完善

错误代码说明

  • KeyError:谱面文件格式错误
  • FileNotFoundError:文件路径不存在
  • PermissionError:文件权限不足

🔄 更新日志

b1.0.2 (当前版本)

  • ✅ 完整的谱面分析功能
  • ✅ 音频匹配系统
  • ✅ 工程管理功能
  • ✅ 用户界面优化
  • ✅ 配置文件支持
  • ✅ 错误处理

📄 许可证

本项目采用 GNU 3.0 许可证,详情请查看LICENSE文件。

About

一个可以一键搜索phigros歌曲原文件的工具

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Python 100.0%