diff --git a/README.md b/README.md index 43178d8..7045e58 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,5 @@

音·创 Musicreater

-

库版 Package Version

-

@@ -21,24 +19,16 @@ ## 介绍🚀 -音·创 Musicreater 是一款免费开源的 **《我的世界:基岩版》** 音乐制作软件 - -音·创 库版 (Musicreater Package Version) 是一款免费开源的针对 **《我的世界:基岩版》** 的midi音乐转换库 +音·创 是一个免费开源的针对 **《我的世界:基岩版》** 的midi音乐转换库 欢迎加群:[861684859](https://jq.qq.com/?_wv=1027&k=hpeRxrYr) -**此分支为音·创的包版本,即便于其他软件使用的可被import版本** - -### **如果希望直接使用演示程序转换MIDI音乐,请:[看这看这!看这看这!看这看这!](./docs/%E5%8A%9F%E8%83%BD%E4%BD%BF%E7%94%A8%E8%AF%B4%E6%98%8E.md)** - -## 软件作者✒ +## 作者✒ 金羿 Eilles:我的世界基岩版指令师,个人开发者,B站不知名UP主,江西在校高中生。 诸葛亮与八卦阵 bgArray:我的世界基岩版玩家,喜欢编程和音乐,深圳初二学生。 - - ## 致谢🙏 本致谢列表排名无顺序。 @@ -56,7 +46,7 @@ > > 若您对我们有所贡献但您的名字没有显示在此列表中,请联系我们! -## 联系我们📞 +## 联系📞 若遇到库中的问题,欢迎在[此](https://gitee.com/TriM-Organization/Musicreater/issues/new)提出你的issue。 diff --git a/docs/Use of Funtions.md b/docs/Use of Funtions.md deleted file mode 100644 index 19d09d1..0000000 --- a/docs/Use of Funtions.md +++ /dev/null @@ -1,83 +0,0 @@ -

音·创 Musicreater

- -

- -

- - -# Instructions for Using Demo(s) - -*This is a tutorial for using the demo(s) of this library, not the Development Guide.* - -*Developing Documentation is now not translated yet, you can see here for the [Chinese Orignal Version](%E5%BA%93%E7%9A%84%E7%94%9F%E6%88%90%E4%B8%8E%E5%8A%9F%E8%83%BD%E6%96%87%E6%A1%A3.md) if you understand Chinese* - -## Instructions of Downloading and Starting using Demo - -### [Windows OS](./download%26start_EN/Windows.md) -### [Linux OS](./download%26start_EN/Linux.md) -### [Android OS](./download%26start_EN/Android.md) - - - - - - -2. More Info for Parameters of Our Demo Program(s) - - - - |Input Prompt|English Translation|Description| - |----------------|----------------|-------| - |请输入MIDI文件路径|Midi File Path|Path of a .mid file or a directory. While directory entered, our demo will convert all midi(s) in the directory| - |请输入输出路径|Output Path|Where files converted in| - |是否重置计分板|Whether Reset Scoreboard Automatically|Can only be 1 or 0(Recommanded 1)| - |*进度条[注]|Progressbar|Whether to enable Progressbar and customize progressbar style. Type 0 or False to disable, 1 or True to use default style, or type using format taught in follow the Instructions below to customize one you like| - |请输入计分板名称|Scoreboard Name|*Only not byDelay* The name of scoreboard that player using| - |请输入音量|Volume|Only decimal in [0,1],(Recommanded 1)| - |请输入速度倍率|Speed Multiplying Factor|Maybe you want to play it faster(>1) or slower(>0 <1)?| - |请输入玩家选择器|Player Selector|Full Selector including `@x`. E.g: Play for players tagged `Holo`, enter `@a[tag=Holo]` on this parameter| - - - - -# Instructions for **Customize Progress Bar** - -We have supported the function of making progress bar in *Minecraft*'s music player. And also the method of customize them. So the following instructions are about the parameters of the Progress Bar Customizition. - -A Progress Bar, of course, is composed of **changeless** parts and **changable** parts. And the changable parts include texts or *images*(these images are made up of texts, or we can say, character paintings 😁). That is, for *Minecraft*, a changable image in a progress bar is just the "bar" part(which is like a stripe). - -We use a string to describe the style of progress bar you need, and it includes many **identifier**s to replace the changable parts. - -There are the identifiers: - -| Identifier | Changable Part | -|--------------|------------------------------------------------------| -| `%%N` | Music name(file name which is imported into program) | -| `%%s` | Value of scoreboard of now | -| `%^s` | Max value of scoreboard | -| `%%t` | Current playback time | -| `%^t` | Total music time | -| `%%%` | Current playback progress | -| `_` | To be replaced by the *Bar* part of the progress bar | - -The `_` is a placeholder to identifying the *bar* part, yeah, just the changable image. - -This is an example of **style description string**, and this is also the default style of *Musicreater*'s progress bar. - -`▶ %%N [ %%s/%^s %%% __________ %%t|%^t]` - -This is a progress bar with only one line, but it is possible if you want to give a multiline parameter into the style description string. - -But the string above is only for style identification, but we also need to identifying the changable image's image(just what the bar's look). - -A "bar", simply, included 2 parts: *Have Been Played* & *Not Been Played*. So we use a tuple to pass the parameter. It's under a simple format: `(str: played, str: not)`. For example, the default parameter is below: - -`('§e=§r', '§7=§r')` - -So it's time to combine what I said in one parameter now! - -This is a default definder parameter: - -`('▶ %%N [ %%s/%^s %%% __________ %%t|%^t]',('§e=§r', '§7=§r'))` - -*Tip: To avoid errors, please not to use the identifiers as the other part of your style.* diff --git a/docs/download&start/Android.md b/docs/download&start/Android.md deleted file mode 100644 index cf87b78..0000000 --- a/docs/download&start/Android.md +++ /dev/null @@ -1,166 +0,0 @@ -## 使用前的准备工作 - -### 安装终端工具 - -这里我们选用 **Termux** 作为我们的终端工具来安装,这是一个强大的终端模拟器,旨在安卓环境下模拟Linux的软件包环境。 - -1. 下载 - - 下载可以通过 [GitHub源](https://github.com/termux/termux-app/releases) 或者 [F-Droid源](https://f-droid.org/en/packages/com.termux/) ,个人建议选择 F-Droid 源,因为在国内可以访问得到,而 GitHub 源就看运气。 - -2. 安装 - - 下载*APK*包后直接安装,安装后打开可以看到一个类似这样的界面: - - - -3. 完成 - - 恭喜你,你已经获得了一个极客般流畅地操作你手机的终端工具。 - -### 安装运行环境 - -1. 换源 - - 接下来,我们就要来准备安装一下 **Python** 运行环境了,这是运行 **Python** 源代码必要的。 - - 首先,我估计你等不了多久,急得要死,所以我们要让下载速度稍微快一点,先来换个源。在 **Termux** 中,输入以下指令: - - ```bash - echo "deb https://mirror.mwt.me/termux/main stable main" > /data/data/com.termux/files/usr/etc/apt/sources.list - ``` - - *感谢 天如为我们带来的简单换源方法。* - - - *非必要步骤*:手动编辑换源 - - 如果你闲着没事,非要要手动编辑个文档来换源,那用啥?用普通的编辑器肯定可以,于是我们就让他更普通一点,用**nano**吧! - - 在 **Termux** 中,输入以下指令: - - ```bash - export EDITOR=nano - apt edit-sources - ``` - - 那么请把看到的如左下图的界面变为右下图吧: - - - - -
- - - 图片中的文件,最后应该加入的两行为: - - ```bash - deb https://mirrors.ustc.edu.cn/termux/apt/termux-main/ stable main - deb https://mirrors.tuna.tsinghua.edu.cn/termux/apt/termux-main/ stable main - ``` - - 然后键入 `Ctrl`+`S`,再键入 `Ctrl`+`X`,退出`nano`。 - - 在换源之后,你可能会见到类似的提示: - - ```bash - Your '/data/data/com.termux/files/usr/etc/apt/sources.list' file changed. Please run 'apt-get update'. - ``` - - 那就遵循它的指引,输入: - - ```bash - apt-get update - ``` - - Alright. - -2. 安装 **Python** - - ```bash - apt-get install python3 - ``` - - 如果遇到提示问是否继续,那就输入`Y`表示是,如左下图,安装成功后,图若右下。 - - - - -
- - 接下来,我们来试一试 **Python** 是不是安装成了吧,输入 - - ```bash - python3 -V - ``` - - 如果输出了形如 `Python 3.X.X` 的提示,则完成。 - -3. 安装依赖库 - - ```bash - # 首先换源 - pip config set global.index-url http://mirrors.aliyun.com/pypi/simple/ - # 然后安装 - pip install mido - pip install brotli - ``` - - - 如果出现以下情况,真是死了鬼的,我们要来再搞个设置: - - - - 我们来修改收信任的源设置: - - ```bash - pip config set global.trusted-host mirrors.aliyun.com/ - ``` - - 之后再来安装即可 - - ```bash - pip install mido - pip install brotli - ``` - - 安装成功后您可能会见到类似下图的提示: - - - -### 安装下载工具 - -既然已经有了运行环境,那么我们就需要下载下我们的**音·创库版示例代码**工具,我非常推崇**Git**这种方便快捷好用还能下载仓库的代码管理器,这个世界上你也找不到第二个,所以我们来安装一下: - -```bash -pkg install git -``` - -安装完成后记得测试一下: - - - -## 本代码库的下载与演示程序的使用 - -1. 使用Git下载本库及其示例代码 - - ```bash - git clone -b pkgver https://gitee.com/EillesWan/Musicreater.git MSCTpkgver - ``` - - 当上述命令执行成功,你会在执行此命令的所在位置发现一个名为 `MSCTpkgver` 的文件夹,其中包含的正是我们心心念念下载的本程序和示例代码。 - 而我们要运行的也正是示例代码,因此,赶快进入下载到的文件夹: - - ```bash - cd MSCTpkgver - ``` - -1. 开始使用演示程序 - - 依照你的需要,执行以下命令以运行库的演示程序: - - ```bash - python magicDemo.py - ``` - - 运行成功了,哦耶! - - - diff --git a/docs/download&start/Linux.md b/docs/download&start/Linux.md deleted file mode 100644 index 592e207..0000000 --- a/docs/download&start/Linux.md +++ /dev/null @@ -1,103 +0,0 @@ - -## 运行环境安装 - -### 检验Python运行环境 - -0. 一般的Linux发行版都有安装Python环境,我们只需要保证其版本即可,理论上 ≥Python3.6 都可以运行我们的库 - - 我们可以使用 - - ```bash - python -V - ``` - - 来查看 Python 版本,如下 - - - -1. *非必要环节*:回退版本 - - 如果你跟作者一样,觉得 Python 3.10+ 太难用很烦人的话,那真是皆大欢喜,让我们一起来回退版本吧! - - - pacman 包管理器(多用于Arch Linux上) - - 1. 让我们先来把 python3 加入忽略升级的列表中,使用`vim`修改`/etc/pacman.conf`,在`IgnorePkg`后加上`python3` - - ```bash - sudo vim /etc/pacman.conf - ``` - - - - 2. 然后我们开始从[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 - ``` - - - - 3. 完美! - - - 其他包管理器 - - 暂无 - -### 检查并安装pip包管理器依赖 - -1. 我们在安装依赖库之前,应该确认一下,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 - ``` - -2. 确认完成之后,我们来安装一下依赖库: - - ```bash - pip install mido -i https://mirrors.aliyun.com/pypi/simple/ - pip install brotli -i https://mirrors.aliyun.com/pypi/simple/ - ``` - -3. 安装成功后可能会见到类似下图的提示: - - - - -## 本代码库的下载与使用 - -1. 使用Git下载本库及其示例代码 - - ```bash - git clone -b pkgver https://gitee.com/EillesWan/Musicreater.git MSCTpkgver - ``` - - 当上述命令执行成功,你会在执行此命令的所在位置发现一个名为 `MSCTpkgver` 的文件夹,其中包含的正是我们心心念念下载的本程序和示例代码。 - 而我们要运行的也正是示例代码,因此,赶快进入下载到的文件夹: - - ```bash - cd MSCTpkgver - ``` - -1. 开始使用 - - 在目录下打开终端,执行以下命令以运行演示程序: - - ```bash - python magicDemo.py - ``` - diff --git a/docs/download&start/Windows.md b/docs/download&start/Windows.md deleted file mode 100644 index bb46b5e..0000000 --- a/docs/download&start/Windows.md +++ /dev/null @@ -1,90 +0,0 @@ -## 一、运行环境安装 - -### (一)安装 Python3.6+ - -1. 首先需要下载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) - -2. 在安装时,最好需要勾选 `Add Python 3.X to PATH`,如下图所示,当然,如果您对自己非常自信,您也可以手动设置此项目: - - - - - 若您对Python一知半解或者不怎么了解、并对自己的系统盘(通常是C盘)有大约150*兆字节*(MB)的信心的话,您可以在安装时直接选择*快速安装*(Install Now) - -3. 若您选择了*自定义安装*(Customize Installation),请务必勾选 `pip` 和 `py launcher` 便于后续安装依赖,如下图: - - - -4. 安装结束之后可以在*终端*(命令行/PowerShell/Bash/etc)中输入:`python` 试试是否安装成功,成功安装之后,在终端中输入python会显示诸如如下图片的提示: - - - - -### (二)安装依赖 - -1. 请以管理员模式打开您的*终端*(命令行/PowerShell/Bash/etc) - - 例如,命令行,可以如此打开:在*视窗开始菜单*(Windows开始)中搜索 `cmd`, 并以管理员身份运行 - - - -2. 打开了终端之后,请在终端中输入以下指令 - - ```bash - pip install mido -i https://mirrors.aliyun.com/pypi/simple/ - pip install brotli -i https://mirrors.aliyun.com/pypi/simple/ - ``` - -3. 安装成功后您可能会见到类似下图的提示: - - - -## 二、本工具的下载与使用 - -0. 下载本代码库以及演示程序 - - - 若您使用git,请直接克隆本仓库: - - ```bash - git clone -b pkgver https://gitee.com/TriM-Organization/Musicreater.git - ``` - - - 若您不使用git,可以在[*码云*(Gitee)](https://gitee.com/TriM-Organization/Musicreater.git)或[*GitHub*](https://github.com/TriM-Organization/Musicreater.git)下载zip包,或者[加入QQ群聊861684859](https://jq.qq.com/?_wv=1027&k=hpeRxrYr),在群文件中获取。 - - - - 值得注意的是,这张图上有1、2两个数字,虽然是手写的,但确实是数字,表示着要进行的步骤。希望眼尖得能找出我的口头禅的你们能够发现这两个用鼠标手写的数字并在安装时认真地执行。我认为这并不算十分的难,移动鼠标并单击大约消耗不了多少卡路里,不过我没有进行精确的计算,我也不是十分的清楚这个活动对于一个常人来讲有多难,但我怀疑它不难。 - - -1. 开始使用 - - 您可以直接双击 `magicDemo.py` 以运行演示程序,或者按照以下步骤使用终端应用运行。 - - 在目录下打开终端。 - - 例如:打开命令行:请进入到目录下,在文件资源管理器的地址框内输入`cmd`: - - - - - 使用以下指令: - - ```bash - python ./magicDemo.py - ``` - -## 三、安装时错误的补充说明 - -1. Microsoft Visual C++ Redistributable 环境出错 - - 如果你遇到了类似以下这种情况: - - - - 请下载最新的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*帮我们发现这个问题。 \ No newline at end of file diff --git a/docs/download&start_EN/Android.md b/docs/download&start_EN/Android.md deleted file mode 100644 index 7ca8f3a..0000000 --- a/docs/download&start_EN/Android.md +++ /dev/null @@ -1,97 +0,0 @@ -## Before we Use - -### Installing Terminal APP - -We choose **Termux** as the Terminal APP as it is the powerful Linux simulator. - -1. Dowloading - - From both [GitHub](https://github.com/termux/termux-app/releases) or [F-Droid](https://f-droid.org/en/packages/com.termux/) to download is OK. - -2. Installing - - *APK* file is easy to install and you must know it without my instruments, you can see something like below after opening this app. - - - -3. Finish - - OK, congratulations for ok installing *Termux*. - -### Installing Runtime Environment - -1. Installing **Python** - - ```bash - apt-get install python3 - ``` - - The picture left below is while you may enter `Y` to continue. - Aftering succeed in installing you will see as right bicture below. - - - - -
- - OK, let try whether success installing **Python** via - - ```bash - python3 -V - ``` - - Sth. like `Python 3.X.X` will occur if so. - -3. Installing dependences - - ```bash - pip install mido - pip install brotli - ``` - - Sth. like below will occur if successful. - - - -### Install Downloading Tool - -Tired to translate, QwQ..... -Sleep for a while and this can be a TO-DO. - -既然已经有了运行环境,那么我们就需要下载下我们的**音·创库版示例代码**工具,我非常推崇**Git**这种方便快捷好用还能下载仓库的代码管理器,这个世界上你也找不到第二个,所以我们来安装一下: - -```bash -pkg install git -``` - -安装完成后记得测试一下: - - - -## 本代码库的下载与演示程序的使用 - -1. 使用Git下载本库及其示例代码 - - ```bash - git clone -b pkgver https://gitee.com/EillesWan/Musicreater.git MSCTpkgver - ``` - - 当上述命令执行成功,你会在执行此命令的所在位置发现一个名为 `MSCTpkgver` 的文件夹,其中包含的正是我们心心念念下载的本程序和示例代码。 - 而我们要运行的也正是示例代码,因此,赶快进入下载到的文件夹: - - ```bash - cd MSCTpkgver - ``` - -1. 开始使用演示程序 - - 依照你的需要,执行以下命令以运行库的演示程序: - - ```bash - python magicDemo.py - ``` - - 运行成功了,哦耶! - - - diff --git a/docs/download&start_EN/Linux.md b/docs/download&start_EN/Linux.md deleted file mode 100644 index 910a991..0000000 --- a/docs/download&start_EN/Linux.md +++ /dev/null @@ -1,102 +0,0 @@ - -## Install Runtime Environment - -### Install and Verify Python Runtime - -0. Common Linux Distributions do include a Python Runtime Environment, what we should do is only to check whether it is a satisfied version to our program. If the version ≥Python3.6, theoretically our program can be run. - - We can type: - - ```bash - python -V - ``` - - To check the Python version, as the follows - - - -1. **Not Necessary** - - If you want to change a Python version just as what I want to do, it is such a great fantastic action! Let do as the follows: - - - pacman Package Manager(In Arch Linux Mostly) - - 1. Let's write python3 into the ingore list of updating. Via `vim` to edit `/etc/pacman.conf`, add `python3` after `IgnorePkg`. - - ```bash - sudo vim /etc/pacman.conf - ``` - - - - 2. Then we can search for python releases in [Arch Achieve](https://archive.archlinux.org/packages/).(*HERE, under Arch, Python refers to Python3 defaultly, while some other Linux releases using Python2 as default. So dose Arch Achieve.*)What I find here is [Python3.8.6](https://archive.archlinux.org/packages/p/python/python-3.8.6-1-x86_64.pkg.tar.zst), so let's download she via `pacman`: - - ```bash - sudo pacman -U https://archive.archlinux.org/packages/p/python/python-3.8.6-1-x86_64.pkg.tar.zst - ``` - - - - 3. Perfect! - - - Other Package Manager - - None yet. - -### Install and Verify pip Package Manager - -1. Before installing, it is to be checked, wheather Python's pip is OK: - - ```bash - python -m pip # To check is pip installed - # If a long tip occured, it is OK - - # If returned as this, then not. - /usr/bin/python: No module named pip - # We can install pip via: - sudo pacman -S python-pip - # Verfy, remember. - python -m pip - - - # If you did but failed, we should use other methods to install pip: - wget https://bootstrap.pypa.io/get-pip.py - sudo python get-pip.py - # Verfy, must. - python -m pip - ``` - -2. After checking, let's install the dependences. - - ```bash - pip install mido -i - pip install brotli -i - ``` - -3. See the tips below as successfully installed: - - - - -## Download this lib's sources code and Using its demos. - -1. Download via Git - - ```bash - git clone -b pkgver https://github.com/TriM-Organization/Musicreater.git MSCTpkgver - ``` - - If succeed, a directory named `MSCTpkgver` well be found in the path you run this command, and inside it is the source code and demo(s) we wantted to download. - What we want to use is the demo(s) so enter the folder via: - - ```bash - cd MSCTpkgver - ``` - -1. Starting Using Demo(s) - - Via - - ```bash - python magicDemo.py - ``` diff --git a/docs/download&start_EN/Windows.md b/docs/download&start_EN/Windows.md deleted file mode 100644 index a25331a..0000000 --- a/docs/download&start_EN/Windows.md +++ /dev/null @@ -1,92 +0,0 @@ -## Install Runtime Environment - -### Install Python 3.6+ - -1. First of all, you need to install the runtime environment of this library, *Python*. And a Installation Pack maybe the best choice: - - > [Downloading Python 64-bit](https://www.python.org/ftp/python/3.8.10/python-3.8.10-amd64.exe) - > [Downloading Python 32-bit](https://www.python.org/ftp/python/3.8.10/python-3.8.10.exe) - -2. While installing, it's best to check `Add Python 3.X to PATH`(just as the screenshot showed below), otherwise it needs to be set manually which may cause some time wasting. - - - - - If you are new to Python or not very familiar to Computer Programming, and having the disk space in your PC's System Partition (usually C:) of 150 *MB*, you can directly choose *Install Now*. - -3. However, if you want to do it like a pro, choosing *Customize Installation*, it's necessary to be sure to check `pip` and `py launcher` will be installed on your computer(see screenshot below). The two options is required for the next step of installing the requirements. - - - -4. After the installation, you can enter in your *Terminal*(CMD/PowerShell/Bash/etc): `python` to ensure whether the installation was successful. If it was, your terminal will show things like below: - - - - -### Installing Requirements - -1. It's better to open your *Terminal*(CMD/PowerShell/Bash/etc) under Administrator Mode. - - For example, if you want to use CMD in Administrator Mode, you can search `cmd` in the *Start Menu*, right click it and *Run as Administrator* - - - -2. Okay, after that, please enter in your Terminal: - - ```bash - pip install mido - pip install brotli - ``` - -3. If successful you will see something like below: - - - - -## Downloading & Using of this tool - -1. Download This Package and Demo(s) - - - If you use Git, you can clone this lib via the following commands: - - ```bash - git clone -b pkgver https://github.com/TriM-Organization/Musicreater.git - ``` - - - If Git is not installed, you can download the zip package from the code page(from [GitHub](https://github.com/TriM-Organization/Musicreater.git) or [Gitee](https://gitee.com/TriM-Organization/Musicreater.git)). Or you are a Chinese fan having a QQ account, you can [Join the QQ Group 861684859](https://jq.qq.com/?_wv=1027&k=hpeRxrYr) and get it from our GroupFiles. - - - - But it should be noticed that you're clear instructed to choose the branch "pkgver" first instead of downloading it directly from the "master" branch, the master branch is now under developing and has no practical use. - - -2. Start Using Demo(s) - - You can directly double click `magicDemo.py` to run the demo, or follow instructions below using Terminal APP to run it. - - Open your terminal in the directory of this, taking CMD, for example, just enter the directory and enter `cmd` in the path box: - - - - - And enter the commands below: - - ```bash - python ./magicDemo.py - ``` - - -## Addition for Error(s) Using or Installing - -1. Environment Error of Microsoft Visual C++ Redistributable - - If you meet this condition as the screenshot shows: - - - - Your MSVC Environment may be not installed, and you can download and install - > [Here of 64-Bit VCREDIST](https://aka.ms/vs/17/release/vc_redist.x64.exe) - > [Here of 32-Bit VCREDIST](https://aka.ms/vs/17/release/vc_redist.x86.exe) - or follow [this page](https://learn.microsoft.com/en-gb/cpp/windows/latest-supported-vc-redist)'s instructions. - - Thanks to our groupmate *Mono* for helping us finding this problem. - diff --git a/docs/功能使用说明.md b/docs/功能使用说明.md deleted file mode 100644 index 4558bb5..0000000 --- a/docs/功能使用说明.md +++ /dev/null @@ -1,74 +0,0 @@ -

音·创 Musicreater

- -

库版 Package Version

- -

- -

- -# 演示程序使用教程 - -*由于先前的 **读我文件**(README.md) 过于冗杂,现另辟蹊径来给大家全方位的教程。* - -*这是演示程序(demo)的使用教程,将在这里提供演示程序的相应的使用教程* - -## 下载与启动教程 - -### [视窗(Windows)操作系统](./download%26start/Windows.md) -### [里纽克斯(Linux)与其衍生操作系统](./download%26start/Linux.md) -### [安卓(Android)与其衍生操作系统](./download%26start/Android.md) - -## 演示程序使用教程 - -1. 参数说明 - - - -- midi路径:含有mid文件路径、文件名、后缀的完整文件路径,或者一个目录(magicDemo可接受批量转换)。可以使用相对或绝对路径皆可 - -- 输出路径:输出文件夹的路径,不需要指示文件名 - -- 转换算法:新算法编号为2,旧算法编号为1。新算法在某些方面转换效果更好,但是如果新算法转换有误的话,请使用旧算法。 - -- 输出格式:目前的演示程序仅支持`BDX`结构和`MCPACK`包 - -- 播放方式:目前的转换库仅支持**计分板**和**延迟**的两种播放方式,具体地关于这些播放方式如何使用的问题,详见[生成文件的使用说明](./%E7%94%9F%E6%88%90%E6%96%87%E4%BB%B6%E7%9A%84%E4%BD%BF%E7%94%A8%E8%AF%B4%E6%98%8E.md) - -- 音量:小数数据,在0~1(包含首尾)的范围之内,用以表示播放音量大小。 - -- 速度倍率:小数数据,其值不可为0,用以表示游戏中播放此音乐的速度倍数。 - -- 进度条:是否启用进度条。目前的转换库已经支持自定义进度条,但是当前的演示程序并不能做到这一点。具体的有关进度条自定义的内容,可以看[功能文档](./%E5%BA%93%E7%9A%84%E7%94%9F%E6%88%90%E4%B8%8E%E5%8A%9F%E8%83%BD%E6%96%87%E6%A1%A3.md#%E8%BF%9B%E5%BA%A6%E6%9D%A1%E8%87%AA%E5%AE%9A%E4%B9%89)中的相关部分自行修改参数。 - -- 计分板名称(仅计分板播放器):游戏内的计分板名称 - -- 是否重置计分板(仅计分板播放器):歌曲放完是否重置,推荐选择自动重置 - -- 玩家选择器(仅延迟播放器):包括 `@x` 在内的全部选择器。例:若要选择全部标签为`Holo`的玩家,则需要如此输入:`@a[tag=Holo]` - -- 作者(仅BDX结构):音乐结构的生成作者 - -- 指令结构最大高度(仅结构输出):生成音乐结构的最大堆叠高度,可以查看相关[结构部分的开发文档](./%E5%BA%93%E7%9A%84%E7%94%9F%E6%88%90%E4%B8%8E%E5%8A%9F%E8%83%BD%E6%96%87%E6%A1%A3.md#%E7%94%9F%E6%88%90%E6%96%87%E4%BB%B6%E7%BB%93%E6%9E%84##%E6%96%87%E4%BB%B6%E6%A0%BC%E5%BC%8F)了解详细知识。 - -- 没有报错且在输出路径下找到对应的文件即为生成成功: - - - - -# 其他说明 - -## 对于 延迟播放器 的说明 - -问1:什么是延迟播放器? - -答1:播放音乐,不同的音符之间存在间隔,可以用不同的方式实现音符间空白的时间。其一是计分板,通过给计分板加分,对应分数播放对应的音符就可以间隔到,还有就是命令方块自带的延迟,这样也可以实现音符间空白。延迟播放器即后者,但是因为只能对命令方块写入这样的延迟数据,所以仅可以使用包含NBT的结构导出或者直接输出至世界。 - -问2:可不可以不要积分板? - -答2:详见问1,切换你所需要的播放器即可。 - -## 查看开发文档 - -目前仅仅提供了部分文档,不过相关函数的参数都是很清晰的,应该不难理解。 - -文档中介绍了关于生成结构和自定义进度条功能的内容,详见[此处](./%E5%BA%93%E7%9A%84%E7%94%9F%E6%88%90%E4%B8%8E%E5%8A%9F%E8%83%BD%E6%96%87%E6%A1%A3.md)。 \ No newline at end of file diff --git a/docs/新手答疑指南.md b/docs/新手答疑指南.md deleted file mode 100644 index 5bb609b..0000000 --- a/docs/新手答疑指南.md +++ /dev/null @@ -1,189 +0,0 @@ -

音·创 Musicreater

- -

库版 Package Version

- -

- -

- -# 新手答疑指南 - -**考虑到某些用户电脑技术不是特别先进,且对这个项目充满了好奇心,但是又了解的不是很充分,为此,我特别在这里写一份新手指南,以满足各位的好奇心。放心,本文件全程中文。** - -## 第一部分 关于音·创的作用 - -### 1.1 音·创简介 - -音·创 Musicreater 是一款免费开源的 **《我的世界:基岩版》** 音乐制作软件 - -音·创 库版 (Musicreater Package Version) 是一款免费开源的针对 **《我的世界:基岩版》** 的midi音乐转换库 - -而能够与人交互,以达到转换功能的,是 音·创 库版 的演示程序。因此,各位所使用来转换音乐的工具实际上仅仅是一个功能的演示。 - -音·创库版 的演示程序目前已经具备较为完善的[**教程**](./%E5%8A%9F%E8%83%BD%E4%BD%BF%E7%94%A8%E8%AF%B4%E6%98%8E.md),其中包括了下载安装一类,使你能够方便地进行转换。 - -音·创 以及其库版本都是免费开源的,采用**带有特殊条款的Apache2.0**开源协议授权,详情请见[协议](../LICENSE.md)。 - -另外的,音·创的库版本并不是音·创的正式版本,其功能也并非是音·创本体所提供的主要功能。**音·创的开发,其目的是为了方便《我的世界:基岩版》的音乐作者,进行《我的世界》相关音乐的开发与创作**,而并不是转换MIDI文件!音·创库板的实现是在音·创主版本之前试行一定的技术探索,以更好地开发音·创。 - -### 1.2 音·创库版本到底目前有什么功能? -* - [x] 支持导入`.mid`文件 -* - [x] 支持写入`.mcpack`文件 -* - [x] 支持写入`.bdx`文件 - -* 不支持导入.mp3 .mp4 .wav等音频流文件 - -## 第二部分 关于格式的问题 - -### 2.1 关于.mid格式 - -其实对于经常玩音乐电子制作的朋友们来说,`MIDI`格式并不陌生,这里我简单介绍一下。 - -**MIDI文件的本质是电子乐谱,而不是记录声音波形文件的.mp3/.wav/.m4a等等文件。** -因此,我们将MIDI转换到《我的世界》播放器的过程,实际上就是把一类乐谱变为另一类乐谱的过程。而真正的演奏,是在游戏内实现的。 - -> mid格式是由MIDI继承而来。MID文件并不是一段录制好的声音,而是记录声音的信息,然后再告诉声卡如何再现音乐的一组指令。 -> 这样一个MIDI文件每存1分钟的音乐只用大约5~10KB。今天,MID文件主要用于原始乐器作品、流行歌曲的业余表演、游戏音轨以及电子贺卡等。 -> -> ——百度百科 -> -> MIDI 音乐,保存在电脑上,就是 *.mid 类型的文件。和一般意义上的“音乐”不同,mid 类型的音乐通常并不是可直接发行供大众欣赏的音乐, -> 它更像是一种音乐创作者使用的工程文件。它没有歌词,不含有人类语言。如果说五线谱是给人类阅读的乐谱, -> MIDI音乐文件便是给计算机或其他电子设备使用的乐谱。对于“音乐”这个世界来说,它微不足道,却又是现代数字音乐的基石。虽不为大众所知, -> 但在 MIDI 音乐爱好者眼中,它却是非常有意思的东西。有了 MIDI 音乐技术和一台电脑,基本就等于拥有了一个乐队,加上相关的音乐知识, -> 就可以自己指挥这个“乐队”,创作音乐作品了! -> 同时,MIDI 技术由于数据结构简单,又与音乐有关,也成为了部分技术极客的爱好。有人使用MIDI技术+Arduino开源硬件制作了架子鼓, -> 有人通过分析大量MIDI乐曲结构,设计了人工智能作曲软件,还有更酷的人使用MIDI音乐制作了随节奏变幻的特斯拉线圈! -> 在MIDI 音乐的世界里,汇聚了一批喜欢音乐又热爱技术的人。我们有理由相信,玩MIDI音乐的你,定是多才多艺的。 -> -> ——midishow.com - - -### 2.2 关于.mid格式的获取 - -通过刚刚的介绍,你可能已经发现,`.MID`文件因为受众并不多而并没有被广泛熟知,因而你之前可能完全没见过这个文件,更何况要弄一首自己心仪的歌了。 - -这里介绍几个获取.mid格式的方法: - -0. 最简单的方法是向你心仪的作编曲人投递一份申请,请求TA将其作编曲过程中的相关工程文件给你,这样,你就可以获得一首乐曲的电子曲谱,从而获得其MIDI文件。 -1. 如果无法向作曲人申请相关文件的话,成为一个作编曲人也许是一个不错的选择,当然,很多人做不到这一点,但是有必要提到这一点,当你在下面的渠道中都无法获得想要的文件时,你应该考虑是不是需要自己创作内容,或者,请别人帮你创作内容。 -2. 当你没有这样的文件时,问问别人或者从群里下载公开的文件也是个思路,不过这个办法通常使用次数有限且能找到的文件不多,不过,值得注意的是,**[音·创开发交流群](https://jq.qq.com/?_wv=1027&k=hpeRxrYr)的群文件中所含的MIDI文件均为网友分享学习交流使用,请在下载后一个小时内删除。** -3. 自己找MIDI:现在,我将给你提供一个完整的找mid的方法,请认真学习: - - **1.** 首先你需要在[MidiShow](www.midishow.com)网站中注册一个账号,并不复杂,你可能只需要一个QQ号便可以授权登录。 - **2.** 登录你的账号,主界面应该如下图所示: - - **3.** 在显眼的搜索框中,输入你想要的歌曲名称,接下来的教程,我以`夜空中最亮的星`这首歌及它的mid来演示下载流程。点击搜索框,完成这一步。 - - **4.** 接下来看到搜索结果如下,你可以点进去一个听听,决定你是否要下载;也有可能你什么都没搜到,那你就得换首歌或者换个途径了。 - - **5.** 点击播放按钮试听,网站上的效果可能一般,但是会听音乐的人应该很快就能决定你是否需要下载这个音乐。如果需要下载,你可以进行到下一步, - 如果不行,那你可以退回刚刚的页面换一个。 - - **6.** 翻到最下面,如图,你可以对这首歌进行打分,打分可以使积分+1,如果你喜欢这首乐曲的话,建议打5分;你可以对这首歌进行评论,一次有意义的评论可以+3分。而下载一首歌需要-3积分,如果你先完成了这两项操作再下载,那你还会再赚1积分。所以推荐这样做! - - **完成后会像这样:** - - **7.** 接下来下载,往上翻网页,找到这个标识,然后单击。 - - **8.** 确认完毕后点击下载。 - - **9.** 完成下载,如图: - -4. 使用音频(波形)转换MIDI的工具也是一个选择。不得不说,科技的进步带来了许多便利,让这样困难的事情也变得简单。如果上述方法仍然没有解决你的问题,那么你可以在下一章节中找到有关这个途径的说明。 - -### 2.3 波形格式转换为.mid格式 - -**注意,使用这个技术有一定难度,酌情使用!** - -文件转换:此技术是将记录声音波形文件的.mp3/.wav/.m4a等等文件转换为.mid数字乐谱文件的。 - -概述:波形转mid需要把**模拟的波形频谱信号转为数字乐谱信号**,这个过程**一定有损失**,而且损失非常大。 - -请各位以后不要在答疑群中问类似于我这个转换效果为什么不好这样的问题,谢谢。 - -如果直接用**widi**的话相当于对声音进行了[**傅里叶变换**](https://baike.baidu.com/item/%E5%82%85%E9%87%8C%E5%8F%B6%E5%8F%98%E6%8D%A2/7119029),你确实可以分离出其中的音高,但是效果在不同情况下差异较大,尤其是有架子鼓啊啥的玩也的时候,比较**差**。 -([widi工具链接](https://pan.baidu.com/s/1j_Jui0piQ6rMOXM0GJtqTg) 提取码:b0lw ) - -如果**只有钢琴**的谱子需要分离,有一个完美的选择:[Giant MIDI-Piano](https://zhuanlan.zhihu.com/p/270999354) - -如果不然有其他的乐器也需要分离,那么可能就有点困难,像**cakewalk**就确实也可以把音频变成mid,但是可能要 -**先把原MP3分离成人声音轨、贝斯音轨等再傅里叶变换。** - -当然我也可能了解的不全,没准现在已经有船新的技术可以分离的更好了,那就太棒了!(〃'▽'〃) - -另外,我们开发者也象征性的找了一些相关的网站,我们没使用过,不担保效果。 -[serocs.cn](https://www.serocs.cn/transcription/) - -同时,midishow论坛里有一些大佬也提供了解决方案,看看他们的发言也是一个不错的选择。我就只给个论坛链接了,经常有人问这种问题,你可以去那里随便找到一篇帖子看看。[MidiShow论坛](https://www.midishow.com/question) - -### 2.4 输出格式的问题 - -在前面说到,输出主要有`.mcpack`和`.bdx`文件的输出,接下来我会围绕这两个文件进行简单的说明。 - -#### 2.4.1 .mcpack是什么 - -输出.mcpack文件其实对于一个**资深《我的世界:基岩版》玩家**应该并不陌生。 - -`.mcpack`文件其实就是《我的世界:基岩版》的附加包文件,里面一般分为行为包和材质包 - -我们生成的命令组属于**行为包** (下图就是一个例子) - - - -如果你是使用桌面平台游玩基岩版,像我一样,是可以直接打开这个文件、并将这个包导入我的世界的。当然,移动平台也很简单,在游戏资源包界面有导入本地资源包的选项,便可将其导入。 - -资源包导入世界之后的使用方法,我们也制作了[**简单的教程**](./%E7%94%9F%E6%88%90%E6%96%87%E4%BB%B6%E7%9A%84%E4%BD%BF%E7%94%A8%E8%AF%B4%E6%98%8E.md),如果你对使用导入后的文件有所疑问,可以看看。 - -#### 2.4.2 .bdx是什么 - -.bdx 文件其实是一个新型结构文件,利用一些标识符对结构进行标记,可以使用相关软件导入到《我的世界:中国版》。 - -由于这不属于官方文件,且我并不是很熟悉这个结构,所以请对这个格式有问题的好兄弟加一下[QQ群](https://jq.qq.com/?_wv=1027&k=hpeRxrYr),问问群里有导入经验的大佬。 - -## 第三部分 关于其他问题 - -如果你在仔细阅读以上内容之后,仍然感觉有所困惑,可以加我们的[QQ群](https://jq.qq.com/?_wv=1027&k=hpeRxrYr)来提问,但是请注意,**由于开发者们都很忙,群友们的耐心也都有限,所以恳请大家提出有意义的问题。** -如果您在使用过程中遇到报错,希望你能够把完整的报错内容复制给我们,而不是截一半的屏幕或者在群内大呼小叫。以下两张图给了你很好的解释说明。 - -
- -这里附一个关于[智慧地提问](https://github.com/tvvocold/How-To-Ask-Questions-The-Smart-Way)的文章,大家可以看看。 - -希望不要我把这个文件在聊天中甩给你,那说明我可能已经没有耐心了。 - -看完这份说明,如果你打算开始使用我们的工具的话,请移步至[演示程序使用教程](./%E5%8A%9F%E8%83%BD%E4%BD%BF%E7%94%A8%E8%AF%B4%E6%98%8E.md)。 - -## 第三部分 结尾 - -### 作者\<*金羿*\>(Eilles)联系方式 - -1. QQ 2647547478 -2. 电邮 EillesWan2006@163.com W-YI_DoctorYI@outlook.com EillesWan@outlook.com -3. Telegram [@EillesWan](https://t.me/EillesWan) - -### 作者\<*诸葛亮与八卦阵*\>(bgArray)联系方式 - -1. QQ 4740437765 - -------------------------- - -**欢迎加群:[861684859](https://jq.qq.com/?_wv=1027&k=hpeRxrYr)** - -**欢迎加群:[861684859](https://jq.qq.com/?_wv=1027&k=hpeRxrYr)** - -**欢迎加群:[861684859](https://jq.qq.com/?_wv=1027&k=hpeRxrYr)** - -**如果遇到问题,仔细地再次[阅读教程](./%E5%8A%9F%E8%83%BD%E4%BD%BF%E7%94%A8%E8%AF%B4%E6%98%8E.md)很重要!!!!!** - -**如果遇到问题,仔细地再次[阅读教程](./%E5%8A%9F%E8%83%BD%E4%BD%BF%E7%94%A8%E8%AF%B4%E6%98%8E.md)很重要!!!!!** - -**如果遇到问题,仔细地再次[阅读教程](./%E5%8A%9F%E8%83%BD%E4%BD%BF%E7%94%A8%E8%AF%B4%E6%98%8E.md)很重要!!!!!** - -(重要的事情说三遍) - -**(有能力的同志麻烦给仓库star一下)** - -**(有能力的同志麻烦给仓库star一下)** - -**(有能力的同志麻烦给仓库star一下)** diff --git a/magicDemo.py b/magicDemo.py index c7465d4..893cdea 100644 --- a/magicDemo.py +++ b/magicDemo.py @@ -142,7 +142,7 @@ else: "[#121110 on #F0F2F4]{}".format( random.choice( requests.get( - "https://gitee.com/EillesWan/Musicreater/raw/master/resources/myWords.txt" + "https://gitee.com/TriM-Organization/LinglunStudio/raw/master/resources/myWords.txt" ) .text.strip("\r\n") .split("\r\n") diff --git a/msctPkgver/instC.py b/msctPkgver/instConstants.py similarity index 95% rename from msctPkgver/instC.py rename to msctPkgver/instConstants.py index 0845d06..d8a2615 100644 --- a/msctPkgver/instC.py +++ b/msctPkgver/instConstants.py @@ -1,179 +1,179 @@ -with_pitch = { - 0: ("note.harp", 6), - 1: ("note.harp", 6), - 2: ("note.pling", 6), - 3: ("note.harp", 6), - 4: ("note.pling", 6), - 5: ("note.pling", 6), - 6: ("note.harp", 6), - 7: ("note.harp", 6), - 8: ("note.share", 7), # 打击乐器无音域 - 9: ("note.harp", 6), - 10: ("note.didgeridoo", 8), - 11: ("note.harp", 6), - 12: ("note.xylophone", 4), - 13: ("note.chime", 4), - 14: ("note.harp", 6), - 15: ("note.harp", 6), - 16: ("note.bass", 8), - 17: ("note.harp", 6), - 18: ("note.harp", 6), - 19: ("note.harp", 6), - 20: ("note.harp", 6), - 21: ("note.harp", 6), - 22: ("note.harp", 6), - 23: ("note.guitar", 7), - 24: ("note.guitar", 7), - 25: ("note.guitar", 7), - 26: ("note.guitar", 7), - 27: ("note.guitar", 7), - 28: ("note.guitar", 7), - 29: ("note.guitar", 7), - 30: ("note.guitar", 7), - 31: ("note.bass", 8), - 32: ("note.bass", 8), - 33: ("note.bass", 8), - 34: ("note.bass", 8), - 35: ("note.bass", 8), - 36: ("note.bass", 8), - 37: ("note.bass", 8), - 38: ("note.bass", 8), - 39: ("note.bass", 8), - 40: ("note.harp", 6), - 41: ("note.harp", 6), - 42: ("note.harp", 6), - 43: ("note.harp", 6), - 44: ("note.iron_xylophone", 6), - 45: ("note.guitar", 7), - 46: ("note.harp", 6), - 47: ("note.harp", 6), - 48: ("note.guitar", 7), - 49: ("note.guitar", 7), - 50: ("note.bit", 6), - 51: ("note.bit", 6), - 52: ("note.harp", 6), - 53: ("note.harp", 6), - 54: ("note.bit", 6), - 55: ("note.flute", 5), - 56: ("note.flute", 5), - 57: ("note.flute", 5), - 58: ("note.flute", 5), - 59: ("note.flute", 5), - 60: ("note.flute", 5), - 61: ("note.flute", 5), - 62: ("note.flute", 5), - 63: ("note.flute", 5), - 64: ("note.bit", 6), - 65: ("note.bit", 6), - 66: ("note.bit", 6), - 67: ("note.bit", 6), - 68: ("note.flute", 5), - 69: ("note.harp", 6), - 70: ("note.harp", 6), - 71: ("note.flute", 5), - 72: ("note.flute", 5), - 73: ("note.flute", 5), - 74: ("note.harp", 6), - 75: ("note.flute", 5), - 76: ("note.harp", 6), - 77: ("note.harp", 6), - 78: ("note.harp", 6), - 79: ("note.harp", 6), - 80: ("note.bit", 6), - 81: ("note.bit", 6), - 82: ("note.bit", 6), - 83: ("note.bit", 6), - 84: ("note.bit", 6), - 85: ("note.bit", 6), - 86: ("note.bit", 6), - 87: ("note.bit", 6), - 88: ("note.bit", 6), - 89: ("note.bit", 6), - 90: ("note.bit", 6), - 91: ("note.bit", 6), - 92: ("note.bit", 6), - 93: ("note.bit", 6), - 94: ("note.bit", 6), - 95: ("note.bit", 6), - 96: ("note.bit", 6), - 97: ("note.bit", 6), - 98: ("note.bit", 6), - 99: ("note.bit", 6), - 100: ("note.bit", 6), - 101: ("note.bit", 6), - 102: ("note.bit", 6), - 103: ("note.bit", 6), - 104: ("note.harp", 6), - 105: ("note.banjo", 6), - 106: ("note.harp", 6), - 107: ("note.harp", 6), - 108: ("note.harp", 6), - 109: ("note.harp", 6), - 110: ("note.harp", 6), - 111: ("note.guitar", 7), - 112: ("note.harp", 6), - 113: ("note.bell", 4), - 114: ("note.harp", 6), - 115: ("note.cow_bell", 5), - 116: ("note.bd", 7), # 打击乐器无音域 - 117: ("note.bass", 8), - 118: ("note.bit", 6), - 119: ("note.bd", 7), # 打击乐器无音域 - 120: ("note.guitar", 7), - 121: ("note.harp", 6), - 122: ("note.harp", 6), - 123: ("note.harp", 6), - 124: ("note.harp", 6), - 125: ("note.hat", 7), # 打击乐器无音域 - 126: ("note.bd", 7), # 打击乐器无音域 - 127: ("note.snare", 7), # 打击乐器无音域 -} - -without_pitch = { - 34: ("note.bd", 7), - 35: ("note.bd", 7), - 36: ("note.hat", 7), - 37: ("note.snare", 7), - 38: ("note.snare", 7), - 39: ("note.snare", 7), - 40: ("note.hat", 7), - 41: ("note.snare", 7), - 42: ("note.hat", 7), - 43: ("note.snare", 7), - 44: ("note.snare", 7), - 45: ("note.bell", 4), - 46: ("note.snare", 7), - 47: ("note.snare", 7), - 48: ("note.bell", 4), - 49: ("note.hat", 7), - 50: ("note.bell", 4), - 51: ("note.bell", 4), - 52: ("note.bell", 4), - 53: ("note.bell", 4), - 54: ("note.bell", 4), - 55: ("note.bell", 4), - 56: ("note.snare", 7), - 57: ("note.hat", 7), - 58: ("note.chime", 4), - 59: ("note.iron_xylophone", 6), - 60: ("note.bd", 7), - 61: ("note.bd", 7), - 62: ("note.xylophone", 4), - 63: ("note.xylophone", 4), - 64: ("note.xylophone", 4), - 65: ("note.hat", 7), - 66: ("note.bell", 4), - 67: ("note.bell", 4), - 68: ("note.hat", 7), - 69: ("note.hat", 7), - 70: ("note.flute", 5), - 71: ("note.flute", 5), - 72: ("note.hat", 7), - 73: ("note.hat", 7), - 74: ("note.xylophone", 4), - 75: ("note.hat", 7), - 76: ("note.hat", 7), - 77: ("note.xylophone", 4), - 78: ("note.xylophone", 4), - 79: ("note.bell", 4), - 80: ("note.bell", 4), } +pitched_instrument_list = { + 0: ("note.harp", 6), + 1: ("note.harp", 6), + 2: ("note.pling", 6), + 3: ("note.harp", 6), + 4: ("note.pling", 6), + 5: ("note.pling", 6), + 6: ("note.harp", 6), + 7: ("note.harp", 6), + 8: ("note.share", 7), # 打击乐器无音域 + 9: ("note.harp", 6), + 10: ("note.didgeridoo", 8), + 11: ("note.harp", 6), + 12: ("note.xylophone", 4), + 13: ("note.chime", 4), + 14: ("note.harp", 6), + 15: ("note.harp", 6), + 16: ("note.bass", 8), + 17: ("note.harp", 6), + 18: ("note.harp", 6), + 19: ("note.harp", 6), + 20: ("note.harp", 6), + 21: ("note.harp", 6), + 22: ("note.harp", 6), + 23: ("note.guitar", 7), + 24: ("note.guitar", 7), + 25: ("note.guitar", 7), + 26: ("note.guitar", 7), + 27: ("note.guitar", 7), + 28: ("note.guitar", 7), + 29: ("note.guitar", 7), + 30: ("note.guitar", 7), + 31: ("note.bass", 8), + 32: ("note.bass", 8), + 33: ("note.bass", 8), + 34: ("note.bass", 8), + 35: ("note.bass", 8), + 36: ("note.bass", 8), + 37: ("note.bass", 8), + 38: ("note.bass", 8), + 39: ("note.bass", 8), + 40: ("note.harp", 6), + 41: ("note.harp", 6), + 42: ("note.harp", 6), + 43: ("note.harp", 6), + 44: ("note.iron_xylophone", 6), + 45: ("note.guitar", 7), + 46: ("note.harp", 6), + 47: ("note.harp", 6), + 48: ("note.guitar", 7), + 49: ("note.guitar", 7), + 50: ("note.bit", 6), + 51: ("note.bit", 6), + 52: ("note.harp", 6), + 53: ("note.harp", 6), + 54: ("note.bit", 6), + 55: ("note.flute", 5), + 56: ("note.flute", 5), + 57: ("note.flute", 5), + 58: ("note.flute", 5), + 59: ("note.flute", 5), + 60: ("note.flute", 5), + 61: ("note.flute", 5), + 62: ("note.flute", 5), + 63: ("note.flute", 5), + 64: ("note.bit", 6), + 65: ("note.bit", 6), + 66: ("note.bit", 6), + 67: ("note.bit", 6), + 68: ("note.flute", 5), + 69: ("note.harp", 6), + 70: ("note.harp", 6), + 71: ("note.flute", 5), + 72: ("note.flute", 5), + 73: ("note.flute", 5), + 74: ("note.harp", 6), + 75: ("note.flute", 5), + 76: ("note.harp", 6), + 77: ("note.harp", 6), + 78: ("note.harp", 6), + 79: ("note.harp", 6), + 80: ("note.bit", 6), + 81: ("note.bit", 6), + 82: ("note.bit", 6), + 83: ("note.bit", 6), + 84: ("note.bit", 6), + 85: ("note.bit", 6), + 86: ("note.bit", 6), + 87: ("note.bit", 6), + 88: ("note.bit", 6), + 89: ("note.bit", 6), + 90: ("note.bit", 6), + 91: ("note.bit", 6), + 92: ("note.bit", 6), + 93: ("note.bit", 6), + 94: ("note.bit", 6), + 95: ("note.bit", 6), + 96: ("note.bit", 6), + 97: ("note.bit", 6), + 98: ("note.bit", 6), + 99: ("note.bit", 6), + 100: ("note.bit", 6), + 101: ("note.bit", 6), + 102: ("note.bit", 6), + 103: ("note.bit", 6), + 104: ("note.harp", 6), + 105: ("note.banjo", 6), + 106: ("note.harp", 6), + 107: ("note.harp", 6), + 108: ("note.harp", 6), + 109: ("note.harp", 6), + 110: ("note.harp", 6), + 111: ("note.guitar", 7), + 112: ("note.harp", 6), + 113: ("note.bell", 4), + 114: ("note.harp", 6), + 115: ("note.cow_bell", 5), + 116: ("note.bd", 7), # 打击乐器无音域 + 117: ("note.bass", 8), + 118: ("note.bit", 6), + 119: ("note.bd", 7), # 打击乐器无音域 + 120: ("note.guitar", 7), + 121: ("note.harp", 6), + 122: ("note.harp", 6), + 123: ("note.harp", 6), + 124: ("note.harp", 6), + 125: ("note.hat", 7), # 打击乐器无音域 + 126: ("note.bd", 7), # 打击乐器无音域 + 127: ("note.snare", 7), # 打击乐器无音域 +} + +percussion_instrument_list = { + 34: ("note.bd", 7), + 35: ("note.bd", 7), + 36: ("note.hat", 7), + 37: ("note.snare", 7), + 38: ("note.snare", 7), + 39: ("note.snare", 7), + 40: ("note.hat", 7), + 41: ("note.snare", 7), + 42: ("note.hat", 7), + 43: ("note.snare", 7), + 44: ("note.snare", 7), + 45: ("note.bell", 4), + 46: ("note.snare", 7), + 47: ("note.snare", 7), + 48: ("note.bell", 4), + 49: ("note.hat", 7), + 50: ("note.bell", 4), + 51: ("note.bell", 4), + 52: ("note.bell", 4), + 53: ("note.bell", 4), + 54: ("note.bell", 4), + 55: ("note.bell", 4), + 56: ("note.snare", 7), + 57: ("note.hat", 7), + 58: ("note.chime", 4), + 59: ("note.iron_xylophone", 6), + 60: ("note.bd", 7), + 61: ("note.bd", 7), + 62: ("note.xylophone", 4), + 63: ("note.xylophone", 4), + 64: ("note.xylophone", 4), + 65: ("note.hat", 7), + 66: ("note.bell", 4), + 67: ("note.bell", 4), + 68: ("note.hat", 7), + 69: ("note.hat", 7), + 70: ("note.flute", 5), + 71: ("note.flute", 5), + 72: ("note.hat", 7), + 73: ("note.hat", 7), + 74: ("note.xylophone", 4), + 75: ("note.hat", 7), + 76: ("note.hat", 7), + 77: ("note.xylophone", 4), + 78: ("note.xylophone", 4), + 79: ("note.bell", 4), + 80: ("note.bell", 4), } diff --git a/msctPkgver/main.py b/msctPkgver/main.py index 3861996..ec4cca7 100644 --- a/msctPkgver/main.py +++ b/msctPkgver/main.py @@ -28,7 +28,7 @@ import shutil from .utils import * from .exceptions import * -import instC +from .instConstants import * from typing import TypeVar, Union @@ -204,17 +204,14 @@ class midiConvert: default: 如果instrumentID不在范围内,返回的默认我的世界乐器名称 :return: (str我的世界乐器名, int转换算法中的X)""" try: - return instC.with_pitch[instrumentID] + return pitched_instrument_list[instrumentID] except KeyError: return "note.flute", 5 @staticmethod def __bitInst2ID_withX(instrumentID): try: - try: - return instC.without_pitch[instrumentID] - except KeyError: - return "note.bd", 7 + return percussion_instrument_list[instrumentID] except KeyError: print("WARN", "无法使用打击乐器列表库,可能是不支持当前环境,打击乐器使用Dislink算法代替。") if instrumentID == 55: diff --git a/update.sh b/update.sh deleted file mode 100644 index ed1937b..0000000 --- a/update.sh +++ /dev/null @@ -1,15 +0,0 @@ -rm -rf ./MusictraterPkgver - -git clone https://gitee.com/TriM-Organization/Musicreater -b pkgver MusictraterPkgver - -cd ./MusictraterPkgver - -python3 -O -m compileall -b . - -find . -name "*.py"|xargs rm -rf - -find . -name "__pycache__" |xargs rm -rf - -rm -rf ./.git - -rm ./.gitignore