Spaces:
Running
Running
import os | |
import sys | |
import time | |
import torch | |
import requests | |
import subprocess | |
from tqdm import tqdm | |
from modelscope import snapshot_download | |
TEYVAT = { | |
"蒙德 Mondstadt": "Mondstadt", | |
"璃月 Liyue": "Liyue", | |
"稻妻 Inazuma": "Inazuma", | |
"须弥 Sumeru": "Sumeru", | |
"枫丹 Fontaine": "Fontaine", | |
} | |
WEIGHTS_PATH = ( | |
snapshot_download("MuGeminorum/hoyoMusic", cache_dir="./__pycache__") | |
+ "/weights.pth" | |
) | |
DEVICE = torch.device("cuda" if torch.cuda.is_available() else "cpu") | |
TEMP_DIR = "./flagged" | |
PATCH_LENGTH = 128 # Patch Length | |
PATCH_SIZE = 32 # Patch Size | |
PATCH_NUM_LAYERS = 9 # Number of layers in the encoder | |
CHAR_NUM_LAYERS = 3 # Number of layers in the decoder | |
# Batch size for patch during training, 0 for full context | |
PATCH_SAMPLING_BATCH_SIZE = 0 | |
# Whether to share weights between the encoder and decoder | |
SHARE_WEIGHTS = False | |
def download(filename: str, url: str): | |
try: | |
response = requests.get(url, stream=True) | |
total_size = int(response.headers.get("content-length", 0)) | |
chunk_size = 1024 | |
with open(filename, "wb") as file, tqdm( | |
desc=f"Downloading {filename} from '{url}'...", | |
total=total_size, | |
unit="B", | |
unit_scale=True, | |
unit_divisor=1024, | |
) as bar: | |
for data in response.iter_content(chunk_size=chunk_size): | |
size = file.write(data) | |
bar.update(size) | |
except Exception as e: | |
print(f"Error: {e}, retrying...") | |
time.sleep(10) | |
download(filename, url) | |
if sys.platform.startswith("linux"): | |
apkname = "MuseScore.AppImage" | |
extra_dir = "squashfs-root" | |
download( | |
filename=apkname, | |
url="https://www.modelscope.cn/studio/MuGeminorum/piano_transcription/resolve/master/MuseScore.AppImage", | |
) | |
if not os.path.exists(extra_dir): | |
subprocess.run(["chmod", "+x", f"./{apkname}"]) | |
subprocess.run([f"./{apkname}", "--appimage-extract"]) | |
MSCORE = f"./{extra_dir}/AppRun" | |
os.environ["QT_QPA_PLATFORM"] = "offscreen" | |
else: | |
MSCORE = "D:/Program Files/MuseScore 3/bin/MuseScore3.exe" | |