mirror of
https://github.com/TriM-Organization/Musicreater.git
synced 2024-11-11 09:37:35 +08:00
277 lines
10 KiB
Markdown
277 lines
10 KiB
Markdown
<h1 align="center">音·创 Musicreater</h1>
|
||
|
||
<p align="center">
|
||
<img width="128" height="128" src="https://s1.ax1x.com/2022/05/06/Ouhghj.md.png" >
|
||
</p>
|
||
|
||
# 演示程序使用教程
|
||
|
||
*由于先前的 **读我文件**(README.md) 过于冗杂,现另辟蹊径来给大家全方位的教程。*
|
||
|
||
*这是演示程序的使用教程,将在这里提供演示程序的相应的使用教程*
|
||
|
||
## 视窗(Windows)操作系统
|
||
|
||
### 运行环境安装
|
||
|
||
0. 安装 Python3.6+
|
||
|
||
首先需要下载Python的安装包,最好是 *Python3.8*,因为作者就用的是这个版本
|
||
|
||
> [下载64位Python安装包](https://www.python.org/ftp/python/3.8.10/python-3.8.10-amd64.exe)
|
||
> [下载32位Python安装包](https://www.python.org/ftp/python/3.8.10/python-3.8.10.exe)
|
||
|
||
在安装时,最好需要勾选 `Add Python 3.X to PATH`,如下图所示,当然,如果您对自己非常自信,您也可以手动设置此项目:
|
||
|
||
<img src=https://foruda.gitee.com/images/1662736520757331846/e38efb81_9911226.png>
|
||
|
||
若您对Python一知半解或者不怎么了解、并对自己的系统盘(通常是C盘)有大约150*兆字节*(MB)的信心的话,您可以在安装时直接选择*快速安装*(Install Now)
|
||
|
||
若您选择了*自定义安装*(Customize Installation),请务必勾选 `pip` 和 `py launcher` 便于后续安装依赖,如下图:
|
||
|
||
<img src=https://foruda.gitee.com/images/1662736621235871190/2ac3d98f_9911226.png>
|
||
|
||
安装结束之后可以在*终端*(命令行/PowerShell/Bash/etc)中输入:python 试试是否安装成功,成功安装之后,在终端中输入python会显示诸如如下图片的提示:
|
||
|
||
<img src=https://foruda.gitee.com/images/1659972669907359295/cmd.png>
|
||
|
||
|
||
1. 安装依赖
|
||
|
||
请以管理员模式打开您的*终端*(命令行/PowerShell/Bash/etc)
|
||
|
||
例如,命令行,可以如此打开:在*视窗开始菜单*(Windows开始)中搜索 `cmd`, 并以管理员身份运行
|
||
|
||
<img src="https://foruda.gitee.com/images/1662736878650993886/62487dd8_9911226.png">
|
||
|
||
打开了终端之后,请在终端中输入以下指令
|
||
|
||
```bash
|
||
pip install mido -i https://mirrors.aliyun.com/pypi/simple/
|
||
pip install brotli -i https://mirrors.aliyun.com/pypi/simple/
|
||
```
|
||
|
||
安装成功后您可能会见到类似下图的提示:
|
||
|
||
<img src="https://foruda.gitee.com/images/1662737676719454287/f61a70f7_9911226.png">
|
||
|
||
### 本工具的下载与使用
|
||
|
||
0. 下载本代码库以及演示程序
|
||
|
||
- 若您使用git,请直接克隆本仓库:
|
||
|
||
```bash
|
||
git clone -b pkgver https://gitee.com/EillesWan/Musicreater.git
|
||
```
|
||
|
||
- 若您不使用git,可以在[*码云*(Gitee)](https://gitee.com/EillesWan/Musicreater.git)或[*GitHub*](https://github.com/EillesWan/Musicreater.git)下载zip包,或者[加入QQ群聊861684859](https://jq.qq.com/?_wv=1027&k=hpeRxrYr),在群文件中获取。
|
||
|
||
<img src=" https://foruda.gitee.com/images/1659972440341216712/下载.png" >
|
||
|
||
|
||
1. 开始使用
|
||
|
||
在目录下打开终端,例如,打开命令行,请进入到目录下,在地址框内输入`cmd`:
|
||
|
||
<img src=https://foruda.gitee.com/images/1659974437388532868/输入.png>
|
||
<img src=https://foruda.gitee.com/images/1659974754378201859/输入c.png>
|
||
|
||
执行以下命令:(选择你需要的)
|
||
|
||
```bash
|
||
python demo_convert.py
|
||
python demo_convert_bdx_byDelay.py
|
||
```
|
||
|
||
### 补充错误说明
|
||
|
||
1. Microsoft Visual C++ Redistributable 环境出错
|
||
|
||
如果你遇到了以下这种情况
|
||
|
||
<img src=https://foruda.gitee.com/images/1659972789779764953/bug.jpeg>
|
||
|
||
请下载最新的VCREDIST安装包,可以参照[这个网页](https://docs.microsoft.com/zh-CN/cpp/windows/latest-supported-vc-redist)的说明,也可以在这直接选择你需要的安装包下载:
|
||
> [下载64位VCREDIST安装包](https://aka.ms/vs/17/release/vc_redist.x64.exe)
|
||
> [下载32位VCREDIST安装包](https://aka.ms/vs/17/release/vc_redist.x86.exe)
|
||
|
||
感谢群友Mono帮我们发现这个问题
|
||
|
||
## Linux操作系统
|
||
|
||
|
||
### 运行环境安装
|
||
|
||
0. 安装并检验Python运行环境
|
||
|
||
一般的Linux发行版都有安装Python环境,我们只需要保证其版本即可,理论上 ≥Python3.6 都可以运行我们的库
|
||
|
||
我们可以使用
|
||
|
||
```bash
|
||
python -V
|
||
```
|
||
|
||
来查看 Python 版本,如下
|
||
|
||
<img src=https://foruda.gitee.com/images/1665120915821957090/429561fd_9911226.png>
|
||
|
||
- 非必要环节
|
||
|
||
如果你跟作者一样,觉得 Python 3.10+ 太难用很烦人的话,那真是皆大欢喜,让我们一起来回退版本吧!
|
||
|
||
- pacman 包管理器(多用于Arch Linux上)
|
||
|
||
让我们先来把 python3 加入忽略升级的列表中,使用`vim`修改`/etc/pacman.conf`,在`IgnorePkg`后加上`python3`
|
||
|
||
```bash
|
||
sudo vim /etc/pacman.conf
|
||
```
|
||
|
||
<img src=https://foruda.gitee.com/images/1665124611490335193/5e99ca26_9911226.png>
|
||
|
||
然后我们开始从[Arch Achieve](https://archive.archlinux.org/packages/)上找Python的版本列表。(*这里说明一下,在Arch中,Python默认指的是Python3,而与其他某些Linux发行版中Python默认指代Python2不同,所以在Arch Achieve中也是如此。*)我这里找到的是[Python3.8.6](https://archive.archlinux.org/packages/p/python/python-3.8.6-1-x86_64.pkg.tar.zst),于是我们用`pacman`把她下载下来:
|
||
|
||
```bash
|
||
sudo pacman -U https://archive.archlinux.org/packages/p/python/python-3.8.6-1-x86_64.pkg.tar.zst
|
||
```
|
||
|
||
<img src=https://foruda.gitee.com/images/1665126362769399903/ea4b9598_9911226.png>
|
||
|
||
完美!
|
||
|
||
接着,我们来确认,Python自带的包管理器pip是否安装到位:
|
||
|
||
```bash
|
||
python -m pip # 确认pip是否安装
|
||
# 当这个命令输入后有长段提示出现则为已经安装
|
||
|
||
# 如果返回如下,那么则pip尚未安装
|
||
/usr/bin/python: No module named pip
|
||
# 可以使用如下命令来安装pip
|
||
sudo pacman -S python-pip
|
||
# 安装完成后记得验证
|
||
python -m pip
|
||
|
||
|
||
# 如果还是失败,那么就需要用其他工具安装pip:
|
||
wget https://bootstrap.pypa.io/get-pip.py
|
||
sudo python get-pip.py
|
||
# 安装完成后一定要验证!!!
|
||
python -m pip
|
||
```
|
||
|
||
确认完成之后,我们来安装一下依赖库:
|
||
|
||
```bash
|
||
pip install mido -i https://mirrors.aliyun.com/pypi/simple/
|
||
pip install brotli -i https://mirrors.aliyun.com/pypi/simple/
|
||
```
|
||
|
||
安装成功后您可能会见到类似下图的提示:
|
||
|
||
<img src="https://foruda.gitee.com/images/1662737676719454287/f61a70f7_9911226.png">
|
||
|
||
|
||
### 本代码库的下载与使用
|
||
|
||
1. 使用Git下载本库及其示例代码
|
||
|
||
```bash
|
||
git clone -b pkgver https://gitee.com/EillesWan/Musicreater.git MSCTpkgver
|
||
```
|
||
|
||
当上述命令执行成功,你会在执行此命令的所在位置发现一个名为 `MSCTpkgver` 的文件夹,其中包含的正是我们心心念念下载的本程序和示例代码。
|
||
而我们要运行的也正是示例代码,因此,赶快进入下载到的文件夹:
|
||
|
||
```bash
|
||
cd MSCTpkgver
|
||
```
|
||
|
||
1. 开始使用
|
||
|
||
在目录下打开终端,执行以下命令:(选择你需要的)
|
||
|
||
```bash
|
||
python demo_convert.py
|
||
python demo_convert_bdx_byDelay.py
|
||
```
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
# 其他说明
|
||
|
||
## 对于 参数 的补充说明
|
||
|
||
<img src=https://foruda.gitee.com/images/1659974810147043475/运行.png>
|
||
|
||
- midi路径:含有mid文件路径、文件名、后缀的完整文件路径,或者一个目录(demo可接受批量转换)。可以使用相对或绝对路径皆可
|
||
|
||
- 输出路径:输出文件夹的路径,不需要指示文件名
|
||
|
||
- 是否重置计分板:1或0(歌曲放完是否重置,推荐1)
|
||
|
||
- *进度条:是否启用进度条,以及自定义进度条样式。输入0或False表示不启用进度条,输入1或True表示使用默认进度条,其余的输入均表示使用输入的格式作为自定义的进度条样式
|
||
|
||
- 计分板名称:游戏内的计分板名称
|
||
|
||
- 音量:0-1之间的小数(含0,1)正常来说推荐1
|
||
|
||
- 速度倍率:小数数据,不可为0,一般写1
|
||
|
||
- 玩家选择器:包括 `@x` 在内的全部选择器,即若要选择全部标签为`Holo`的玩家,则需要如此输入:`@a[tag=Holo]`
|
||
|
||
- 没有报错且在输出路径下找到mcpack或bdx即为生成成功:
|
||
|
||
<img src=https://foruda.gitee.com/images/1659973655881460036/输出.png>
|
||
|
||
|
||
## 对于 进度条自定义 功能的说明
|
||
|
||
因为我们提供了可以自动转换进度条的功能,因此在这里给出进度条自定义参数的详细解释。
|
||
|
||
一个进度条,明显地,有**固定部分**和**可变部分**来构成。而可变部分又包括了文字和图形两种(当然,《我的世界》里头的进度条,可变的图形也就是那个“条”了)。这一点你需要了解,因为后文中包含了很多这方面的概念需要你了解。
|
||
|
||
进度条的自定义功能使用一个字符串来定义自己的样式,其中包含众多**标识符**来表示可变部分。
|
||
|
||
标识符如下(注意大小写):
|
||
|
||
| 标识符 | 指定的可变量 |
|
||
|---------|----------------|
|
||
| `%%N` | 乐曲名(即传入的文件名)|
|
||
| `%%s` | 当前计分板值 |
|
||
| `%^s` | 计分板最大值 |
|
||
| `%%t` | 当前播放时间 |
|
||
| `%^t` | 曲目总时长 |
|
||
| `%%%` | 当前进度比率 |
|
||
| `_` | 用以表示进度条占位|
|
||
|
||
表示进度条占位的 `_` 是用来标识你的进度条的。也就是可变部分的唯一的图形部分。
|
||
|
||
**样式定义字符串**的样例如下,这也是默认的进度条的样式:
|
||
|
||
`▶ %%N [ %%s/%^s %%% __________ %%t|%^t]`
|
||
|
||
这是单独一行的进度条,当然你也可以制作多行的,如果是一行的,输出时所使用的指令便是 `title`,而如果是多行的话,输出就会用 `titleraw` 作为进度条字幕。
|
||
|
||
哦对了,上面的只不过是样式定义,同时还需要定义的是可变图形的部分,也就是进度条上那个真正的“条”。
|
||
|
||
对于这个我们就采用了固定参数的方法,对于一个进度条,无非就是“已经播放过的”和“没播放过的”两种形态,所以,使用一个元组来传入这两个参数就是最简单的了。元组的格式也很简单:`(str: 播放过的部分长啥样, str: 没播放过的部分长啥样)` 。例如,我们默认的进度“条”的定义是这样的:
|
||
|
||
`('§e=§r', '§7=§r')`
|
||
|
||
综合起来,把这些参数传给函数需要一个参数整合,你猜用的啥?啊对对对,我用的还是元组!
|
||
|
||
我们的默认定义参数如下:
|
||
|
||
`(r'▶ %%N [ %%s/%^s %%% __________ %%t|%^t]',('§e=§r', '§7=§r'))`
|
||
|
||
*对了!为了避免生成错误,请尽量避免使用标识符作为定义样式字符串的其他部分*
|
||
|