[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-f90--Wave-U-Net":3,"tool-f90--Wave-U-Net":61},[4,18,26,36,44,53],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":17},4358,"openclaw","openclaw\u002Fopenclaw","OpenClaw 是一款专为个人打造的本地化 AI 助手，旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚，能够直接接入你日常使用的各类通讯渠道，包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息，OpenClaw 都能即时响应，甚至支持在 macOS、iOS 和 Android 设备上进行语音交互，并提供实时的画布渲染功能供你操控。\n\n这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地，用户无需依赖云端服务即可享受快速、私密的智能辅助，真正实现了“你的数据，你做主”。其独特的技术亮点在于强大的网关架构，将控制平面与核心助手分离，确保跨平台通信的流畅性与扩展性。\n\nOpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者，以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力（支持 macOS、Linux 及 Windows WSL2），即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你",349277,3,"2026-04-06T06:32:30",[13,14,15,16],"Agent","开发框架","图像","数据工具","ready",{"id":19,"name":20,"github_repo":21,"description_zh":22,"stars":23,"difficulty_score":10,"last_commit_at":24,"category_tags":25,"status":17},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,"2026-04-05T11:01:52",[14,15,13],{"id":27,"name":28,"github_repo":29,"description_zh":30,"stars":31,"difficulty_score":32,"last_commit_at":33,"category_tags":34,"status":17},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",157379,2,"2026-04-15T23:32:42",[14,13,35],"语言模型",{"id":37,"name":38,"github_repo":39,"description_zh":40,"stars":41,"difficulty_score":32,"last_commit_at":42,"category_tags":43,"status":17},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",108322,"2026-04-10T11:39:34",[14,15,13],{"id":45,"name":46,"github_repo":47,"description_zh":48,"stars":49,"difficulty_score":32,"last_commit_at":50,"category_tags":51,"status":17},6121,"gemini-cli","google-gemini\u002Fgemini-cli","gemini-cli 是一款由谷歌推出的开源 AI 命令行工具，它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言，它提供了一条从输入提示词到获取模型响应的最短路径，无需切换窗口即可享受智能辅助。\n\n这款工具主要解决了开发过程中频繁上下文切换的痛点，让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用，还是执行复杂的 Git 操作，gemini-cli 都能通过自然语言指令高效处理。\n\n它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口，具备出色的逻辑推理能力；内置 Google 搜索、文件操作及 Shell 命令执行等实用工具；更独特的是，它支持 MCP（模型上下文协议），允许用户灵活扩展自定义集成，连接如图像生成等外部能力。此外，个人谷歌账号即可享受免费的额度支持，且项目基于 Apache 2.0 协议完全开源，是提升终端工作效率的理想助手。",100752,"2026-04-10T01:20:03",[52,13,15,14],"插件",{"id":54,"name":55,"github_repo":56,"description_zh":57,"stars":58,"difficulty_score":32,"last_commit_at":59,"category_tags":60,"status":17},4721,"markitdown","microsoft\u002Fmarkitdown","MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具，专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片（含 OCR）、音频（含语音转录）、HTML 乃至 YouTube 链接等多种格式的解析，能够精准提取文档中的标题、列表、表格和链接等关键结构信息。\n\n在人工智能应用日益普及的今天，大语言模型（LLM）虽擅长处理文本，却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点，它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式，成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外，它还提供了 MCP（模型上下文协议）服务器，可无缝集成到 Claude Desktop 等 LLM 应用中。\n\n这款工具特别适合开发者、数据科学家及 AI 研究人员使用，尤其是那些需要构建文档检索增强生成（RAG）系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性，但其核心优势在于为机器",93400,"2026-04-06T19:52:38",[52,14],{"id":62,"github_repo":63,"name":64,"description_en":65,"description_zh":66,"ai_summary_zh":66,"readme_en":67,"readme_zh":68,"quickstart_zh":69,"use_case_zh":70,"hero_image_url":71,"owner_login":72,"owner_name":73,"owner_avatar_url":74,"owner_bio":75,"owner_company":75,"owner_location":75,"owner_email":75,"owner_twitter":75,"owner_website":75,"owner_url":76,"languages":77,"stars":82,"forks":83,"last_commit_at":84,"license":85,"difficulty_score":86,"env_os":87,"env_gpu":88,"env_ram":89,"env_deps":90,"category_tags":104,"github_topics":106,"view_count":32,"oss_zip_url":75,"oss_zip_packed_at":75,"status":17,"created_at":111,"updated_at":112,"faqs":113,"releases":134},7982,"f90\u002FWave-U-Net","Wave-U-Net","Implementation of the Wave-U-Net for audio source separation","Wave-U-Net 是一款专为音频源分离任务设计的开源深度学习模型。它的核心能力是将混合在一起的音频信号（如一首歌曲）拆解为独立的音轨，例如单独提取人声或分离出不同的乐器声部。\n\n该工具主要解决了传统音频分离方法依赖人工设计特征或需要复杂预处理的问题。与许多先将音频转换为频谱图再处理的模型不同，Wave-U-Net 的独特亮点在于其“端到端”的处理方式：它直接对原始音频波形进行运算，通过一维卷积神经网络自动学习从时域到频域的分解特征。这种基于改进版 U-Net 架构的设计，能够在多个时间分辨率和抽象层级上捕捉声音细节，从而实现高精度的分离效果，并在国际 SiSec 分离竞赛中取得了优异成绩。\n\nWave-U-Net 非常适合音频算法研究人员、AI 开发者以及需要高质量音源分离方案的技术团队使用。虽然项目提供了预训练模型供测试，但由于其涉及深度学习训练与推理，且对计算资源（特别是 GPU）有一定要求，因此更适合具备 Python 编程基础及机器学习背景的专业人士进行二次开发或实验复现，而非面向普通大众的直接消费级软件。","# Wave-U-Net\nImplementation of the [Wave-U-Net](https:\u002F\u002Farxiv.org\u002Fabs\u002F1806.03185) for audio source separation.\n\nFor the (improved) Pytorch version, click [here](https:\u002F\u002Fgithub.com\u002Ff90\u002FWave-U-Net-Pytorch).\n\nFor a third-party implementation in Tensorflow 2\u002FKeras (not by me), click [here](https:\u002F\u002Fgithub.com\u002Fsatvik-venkatesh\u002FWave-U-net-TF2).\n\n## Listening examples\n\nListen to vocal separation results [here](https:\u002F\u002Fsisec18.unmix.app\u002F#\u002Funmix\u002FSide%20Effects%20Project%20-%20Sing%20With%20Me\u002FSTL1) and to multi-instrument separation results [here](https:\u002F\u002Fsisec18.unmix.app\u002F#\u002Funmix\u002FSide%20Effects%20Project%20-%20Sing%20With%20Me\u002FSTL2)\n\n## What is the Wave-U-Net?\nThe Wave-U-Net is a convolutional neural network applicable to audio source separation tasks, which works directly on the raw audio waveform, presented in [this paper](https:\u002F\u002Farxiv.org\u002Fabs\u002F1806.03185).\n\nThe Wave-U-Net is an adaptation of the U-Net architecture to the one-dimensional time domain to perform end-to-end audio source separation. Through a series of downsampling and upsampling blocks, which involve 1D convolutions combined with a down-\u002Fupsampling process, features are computed on multiple scales\u002Flevels of abstraction and time resolution, and combined to make a prediction.\n\nSee the diagram below for a summary of the network architecture.\n\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ff90_Wave-U-Net_readme_7175550c13d7.png\" width=\"500\">\n\n### Participation in the SiSec separation competition\n\nThe Wave-U-Net also participated in the [SiSec separation campaign](https:\u002F\u002Fsisec.inria.fr\u002F) as submissions [STL1](https:\u002F\u002Fgithub.com\u002Fsigsep\u002Fsigsep-mus-2018\u002Fblob\u002Fmaster\u002Fsubmissions\u002FSTL1\u002Fdescription.md) and [STL2](https:\u002F\u002Fgithub.com\u002Fsigsep\u002Fsigsep-mus-2018\u002Fblob\u002Fmaster\u002Fsubmissions\u002FSTL2\u002Fdescription.md) and achieved a good performance, especially considering the limited dataset we used compared to many other submissions despite having a more data-hungry end-to-end approach (we have to learn the frequency decomposition front-end from data as well).\n\n# Installation\n\n## Requirements\n\nGPU strongly recommended to avoid very long training times.\n\nThe project is based on Python 3.6.8 and requires [libsndfile](http:\u002F\u002Fmega-nerd.com\u002Flibsndfile\u002F) and CUDA 9 to be installed.\n\nThen, the following Python packages need to be installed:\n\n```\nnumpy==1.15.4\nsacred==0.7.3\ntensorflow-gpu==1.8.0\nlibrosa==0.6.2\nsoundfile==0.10.2\nlxml==4.2.1\nmusdb==0.2.3\nmuseval==0.2.0\ngoogle==2.0.1\nprotobuf==3.4.0\n```\n\nAlternatively to ``tensorflow-gpu`` the CPU version of TF, ``tensorflow`` can be used, if there is no GPU available.\nAll the above packages are also saved in the file ``requirements.txt`` located in this repository, so you can clone the repository and then execute the following in the downloaded repository's path to install all the required packages at once:\n\n``pip install -r requirements.txt``\n\nTo recreate the figures from the paper, use functions in ``Plot.py``. The ``matplotlib\u003C3.0`` package needs to be installed as well in that case.\n\n### Download datasets\n\nTo directly use the pre-trained models we provide for download to separate your own songs, now skip directly to the [last section](#test), since the datasets are not needed in that case.\n\nTo reproduce the experiments in the paper (train all the models), you need to download the datasets below. You can of course use your own datasets for training, but for this you would need to modify the code manually, which will not be discussed here.\n\n#### MUSDB18\n\nDownload the [full MUSDB18 dataset](https:\u002F\u002Fsigsep.github.io\u002Fdatasets\u002Fmusdb.html) and extract it into a folder of your choice. It should have two subfolders: \"test\" and \"train\" as well as a README.md file.\n\n#### CCMixter (only required for vocal separation experiments)\n\nIf you want to replicate the vocal separation experiments and not only the multi-instrument experiments, you also need to download the CCMixter vocal separation database from https:\u002F\u002Fmembers.loria.fr\u002FALiutkus\u002Fkam\u002F. Extract this dataset into a folder of your choice. Its main folder should contain one subfolder for each song.\n\n### Set-up filepaths\n\nNow you need to set up the correct file paths for the datasets and the location where source estimates should be saved.\n\nOpen the ``Config.py`` file, and set the ``musdb_path`` entry of the ``model_config`` dictionary to the location of the main folder of the MUSDB18 dataset.\nAlso set the ``estimates_path`` entry of the same ``model_config`` dictionary to the path pointing to an empty folder where you want the final source estimates of the model to be saved into.\n\nIf you use CCMixter, open the ``CCMixter.xml`` in the main repository folder, and replace the given file path tagged as ``databaseFolderPath`` with your path to the main folder of CCMixter.\n\n## Training the models \u002F model overview\n\nSince the paper investigates many model variants of the Wave-U-Net and also trains the [U-Net proposed for vocal separation](https:\u002F\u002Fismir2017.smcnus.org\u002Fwp-content\u002Fuploads\u002F2017\u002F10\u002F171_Paper.pdf), which achieved state-of-the-art performance, as a comparison, we give a list of model variants to train and the command needed to start training them:\n\n| Model name (from paper) | Description                                             | Separate vocals or multi-instrument? | Command for training                          |\n|-------------------------|---------------------------------------------------------|--------------------------------------|-----------------------------------------------|\n| M1                      | Baseline Wave-U-Net model                               | Vocals                               | ``python Training.py``                            |\n| M2                      | M1 + difference output layer                            | Vocals                               | ``python Training.py with cfg.baseline_diff``         |\n| M3                      | M2 + proper input context                               | Vocals                               | ``python Training.py with cfg.baseline_context``      |\n| M4                      | BEST-PERFORMING: M3 + Stereo I\u002FO                        | Vocals                               | ``python Training.py with cfg.baseline_stereo``       |\n| M5                      | M4 + Learned upsampling layer                           | Vocals                               | ``python Training.py with cfg.full``                  |\n| M6                      | M4 applied to multi-instrument sep.                     | Multi-instrument                     | ``python Training.py with cfg.full_multi_instrument`` |\n| M7                      | Wave-U-Net model to compare with SotA models U7,U7a     | Vocals                               | ``python Training.py with cfg.baseline_comparison``   |\n| U7                      | U-Net replication from prior work, audio-based MSE loss | Vocals                               | ``python Training.py with cfg.unet_spectrogram``      |\n| U7a                     | Like U7, but with L1 magnitude loss                     | Vocals                               | ``python Training.py with cfg.unet_spectrogram_l1``   |\n\n**NEW:**\n\nWe also include the following models not part of the paper (also with pre-trained weights for download!):\n\n| Model name (not in paper)| Description                                             | Separate vocals or multi-instrument? | Command for training                          |\n|-------------------------|---------------------------------------------------------|--------------------------------------|-----------------------------------------------|\n| M5-HighSR               | M5 with 44.1 KHz sampling rate                | Vocals                               | ``python Training.py with cfg.full_44KHz``   |\n\nM5-HighSR is our best vocal separator, reaching a median (mean) vocal\u002Facc SDR of 4.95 (1.01) and 11.16 (12.87), respectively.\n\n# \u003Ca name=\"test\">\u003C\u002Fa> Test trained models on songs!\n\nWe provide a pretrained versions of models M4, M6 and M5-HighSR so you can separate any of your songs right away. \n\n## Downloading our pretrained models\n\nDownload our pretrained models [here](https:\u002F\u002Fwww.dropbox.com\u002Fs\u002Foq0woy3cmf5s8y7\u002Fmodels.zip?dl=1).\nUnzip the archive into the ``checkpoints`` subfolder in this repository, so that you have one subfolder for each model (e.g. ``REPO\u002Fcheckpoints\u002Fbaseline_stereo``)\n\n## Run pretrained models\n\nFor a quick demo on an example song with our pre-trained best vocal separation model (M5-HighSR), one can simply execute\n\n`` python Predict.py with cfg.full_44KHz ``\n\nto separate the song \"Mallory\" included in this repository's ``audio_examples`` subfolder into vocals and accompaniment. The output will be saved next to the input file.\n\nTo apply our pretrained model to any of your own songs, simply point to its audio file path using the ``input_path`` parameter:\n\n`` python Predict.py with cfg.full_44KHz input_path=\"\u002Fmnt\u002Fmedien\u002FDaniel\u002FMusic\u002FDark Passion Play\u002FNightwish - Bye Bye Beautiful.mp3\"``\n\nIf you want to save the predictions to a custom folder instead of where the input song is, just add the ``output_path`` parameter:\n\n`` python Predict.py with cfg.full_44KHz input_path=\"\u002Fmnt\u002Fmedien\u002FDaniel\u002FMusic\u002FDark Passion Play\u002FNightwish - Bye Bye Beautiful.mp3\" output_path=\"\u002Fhome\u002Fdaniel\" ``\n\nIf you want to use other pre-trained models we provide (such as our multi-instrument separator) or your own ones, point to the location of the Tensorflow checkpoint file using the ``model_path`` parameter, making sure that the model configuration (here: ``full_multi_instrument``) matches with the model saved in the checkpoint. As an example for our pre-packaged multi-instrument model:\n\n`` python Predict.py with cfg.full_multi_instrument model_path=\"checkpoints\u002Ffull_multi_instrument\u002Ffull_multi_instrument-134067\" input_path=\"\u002Fmnt\u002Fmedien\u002FDaniel\u002FMusic\u002FDark Passion Play\u002FNightwish - Bye Bye Beautiful.mp3\" output_path=\"\u002Fhome\u002Fdaniel\" ``\n\n# Known issues \u002F Troubleshooting\n\nMacOS: If matplotlib gives errors upon being imported, see [this issue](https:\u002F\u002Fgithub.com\u002Ff90\u002FWave-U-Net\u002Fissues\u002F15) and [that issue](https:\u002F\u002Fgithub.com\u002Ff90\u002FWave-U-Net\u002Fissues\u002F8) for solutions.  \n\nDuring the preparation of the MUSDB dataset, conversion to WAV can sometimes halt because of an ffmpeg process freezing that is used within the musdb python package to identify the datasets mp4 audio streams. This seems to be an error occurring upon the subprocess.Popen() used deep within the stempeg library. Due to its random nature, it is not currently known how to fix this. I suggest regenerating the dataset again if this error occurs.\n","# Wave-U-Net\n用于音频源分离的 [Wave-U-Net](https:\u002F\u002Farxiv.org\u002Fabs\u002F1806.03185) 实现。\n\n对于改进后的 PyTorch 版本，请点击[这里](https:\u002F\u002Fgithub.com\u002Ff90\u002FWave-U-Net-Pytorch)。\n\n对于第三方基于 TensorFlow 2\u002FKeras 的实现（非本人），请点击[这里](https:\u002F\u002Fgithub.com\u002Fsatvik-venkatesh\u002FWave-U-net-TF2)。\n\n## 听音示例\n\n收听人声分离结果[此处](https:\u002F\u002Fsisec18.unmix.app\u002F#\u002Funmix\u002FSide%20Effects%20Project%20-%20Sing%20With%20Me\u002FSTL1)，多乐器分离结果[此处](https:\u002F\u002Fsisec18.unmix.app\u002F#\u002Funmix\u002FSide%20Effects%20Project%20-%20Sing%20With%20Me\u002FSTL2)。\n\n## 什么是 Wave-U-Net？\nWave-U-Net 是一种适用于音频源分离任务的卷积神经网络，它直接作用于原始音频波形，相关介绍见[这篇论文](https:\u002F\u002Farxiv.org\u002Fabs\u002F1806.03185)。\n\nWave-U-Net 是将 U-Net 架构适配到一维时域上，以实现端到端的音频源分离。通过一系列下采样和上采样模块，结合一维卷积与上下采样操作，模型能够在多个尺度、抽象层次和时间分辨率上提取特征，并将其融合以做出预测。\n\n下图展示了该网络架构的概要。\n\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ff90_Wave-U-Net_readme_7175550c13d7.png\" width=\"500\">\n\n### 参与 SiSec 分离竞赛\nWave-U-Net 还以提交编号 [STL1](https:\u002F\u002Fgithub.com\u002Fsigsep\u002Fsigsep-mus-2018\u002Fblob\u002Fmaster\u002Fsubmissions\u002FSTL1\u002Fdescription.md) 和 [STL2](https:\u002F\u002Fgithub.com\u002Fsigsep\u002Fsigsep-mus-2018\u002Fblob\u002Fmaster\u002Fsubmissions\u002FSTL2\u002Fdescription.md) 的身份参加了 [SiSec 分离竞赛](https:\u002F\u002Fsisec.inria.fr\u002F)，并取得了不错的成绩，尤其是在与其他许多参赛作品相比，我们所使用的数据集相对有限的情况下——尽管我们的方法属于更依赖数据的端到端方案，还需要从数据中学习频率分解的前端处理部分。\n\n# 安装\n## 需求\n强烈建议使用 GPU，以避免训练时间过长。\n\n该项目基于 Python 3.6.8，需要安装 [libsndfile](http:\u002F\u002Fmega-nerd.com\u002Flibsndfile\u002F) 和 CUDA 9。\n\n此外，还需安装以下 Python 包：\n\n```\nnumpy==1.15.4\nsacred==0.7.3\ntensorflow-gpu==1.8.0\nlibrosa==0.6.2\nsoundfile==0.10.2\nlxml==4.2.1\nmusdb==0.2.3\nmuseval==0.2.0\ngoogle==2.0.1\nprotobuf==3.4.0\n```\n\n如果没有 GPU，也可以使用 CPU 版本的 TensorFlow (`tensorflow`) 代替 `tensorflow-gpu`。\n\n上述所有包也已保存在本仓库的 `requirements.txt` 文件中，因此您可以先克隆仓库，然后在下载的仓库路径下执行以下命令，一次性安装所有所需包：\n\n``pip install -r requirements.txt``\n\n若要复现论文中的图表，可使用 `Plot.py` 中的函数。此时还需安装 `matplotlib\u003C3.0` 包。\n\n### 下载数据集\n如果您想直接使用我们提供的预训练模型来分离自己的歌曲，请跳至[最后一节](#test)，因为在这种情况下无需下载数据集。\n\n若要复现论文中的实验（即训练所有模型），则需要下载以下数据集。当然，您也可以使用自己的数据集进行训练，但那样就需要手动修改代码，本文不对此进行讨论。\n\n#### MUSDB18\n请下载[完整的 MUSDB18 数据集](https:\u002F\u002Fsigsep.github.io\u002Fdatasets\u002Fmusdb.html)，并将其解压到您选择的文件夹中。该数据集应包含两个子文件夹：“test”和“train”，以及一个 README.md 文件。\n\n#### CCMixter（仅人声分离实验需要）\n如果您不仅想复现多乐器分离实验，还想复现人声分离实验，则还需要从 https:\u002F\u002Fmembers.loria.fr\u002FALiutkus\u002Fkam\u002F 下载 CCMixter 人声分离数据库。请将该数据集解压到您选择的文件夹中，其主文件夹内应为每首歌曲单独创建一个子文件夹。\n\n### 设置文件路径\n现在需要为数据集以及保存源估计结果的目录设置正确的文件路径。\n\n打开 `Config.py` 文件，将 `model_config` 字典中的 `musdb_path` 条目设置为 MUSDB18 数据集主文件夹的路径。\n同时，将同一 `model_config` 字典中的 `estimates_path` 条目设置为您希望保存模型最终源估计结果的空文件夹路径。\n\n如果使用 CCMixter 数据集，请打开主仓库文件夹中的 `CCMixter.xml` 文件，将其中标记为 `databaseFolderPath` 的文件路径替换为您 CCMixter 主文件夹的实际路径。\n\n## 训练模型 \u002F 模型概述\n\n由于论文研究了 Wave-U-Net 的多种模型变体，并且还训练了作为对比的、曾达到最先进性能的[用于人声分离的 U-Net](https:\u002F\u002Fismir2017.smcnus.org\u002Fwp-content\u002Fuploads\u002F2017\u002F10\u002F171_Paper.pdf)，我们列出了需要训练的模型变体及其对应的训练命令：\n\n| 模型名称（来自论文） | 描述                                             | 分离人声还是多乐器？ | 训练命令                          |\n|-------------------------|---------------------------------------------------------|--------------------------------------|-----------------------------------------------|\n| M1                      | 基线 Wave-U-Net 模型                               | 人声                               | ``python Training.py``                            |\n| M2                      | M1 + 差值输出层                                    | 人声                               | ``python Training.py with cfg.baseline_diff``         |\n| M3                      | M2 + 合适的输入上下文                              | 人声                               | ``python Training.py with cfg.baseline_context``      |\n| M4                      | 性能最佳：M3 + 立体声 I\u002FO                           | 人声                               | ``python Training.py with cfg.baseline_stereo``       |\n| M5                      | M4 + 学习型上采样层                                | 人声                               | ``python Training.py with cfg.full``                  |\n| M6                      | 将 M4 应用于多乐器分离                             | 多乐器                             | ``python Training.py with cfg.full_multi_instrument`` |\n| M7                      | 用于与 SotA 模型 U7、U7a 对比的 Wave-U-Net 模型   | 人声                               | ``python Training.py with cfg.baseline_comparison``   |\n| U7                      | 前人工作的 U-Net 复现，基于音频的 MSE 损失          | 人声                               | ``python Training.py with cfg.unet_spectrogram``      |\n| U7a                     | 类似于 U7，但使用 L1 幅度损失                      | 人声                               | ``python Training.py with cfg.unet_spectrogram_l1``   |\n\n**新增：**\n\n我们还包含了以下未在论文中提及的模型（同样提供预训练权重下载！）：\n\n| 模型名称（不在论文中）| 描述                                             | 分离人声还是多乐器？ | 训练命令                          |\n|-------------------------|---------------------------------------------------------|--------------------------------------|-----------------------------------------------|\n| M5-HighSR               | M5，采样率为 44.1 KHz                | 人声                               | ``python Training.py with cfg.full_44KHz``   |\n\nM5-HighSR 是我们目前最好的人声分离器，其人声\u002F伴奏 SDR 的中位数（均值）分别为 4.95（1.01）和 11.16（12.87）。\n\n# \u003Ca name=\"test\">\u003C\u002Fa> 在歌曲上测试训练好的模型！\n\n我们提供了 M4、M6 和 M5-HighSR 的预训练版本，方便您立即对任何歌曲进行分离。\n\n## 下载我们的预训练模型\n\n请在此处下载我们的预训练模型 [链接](https:\u002F\u002Fwww.dropbox.com\u002Fs\u002Foq0woy3cmf5s8y7\u002Fmodels.zip?dl=1)。将压缩包解压到本仓库的 ``checkpoints`` 子文件夹中，确保每个模型都有一个独立的子文件夹（例如 ``REPO\u002Fcheckpoints\u002Fbaseline_stereo``）。\n\n## 运行预训练模型\n\n要快速演示使用我们预训练的最佳人声分离模型（M5-HighSR）处理示例歌曲，只需执行以下命令：\n\n`` python Predict.py with cfg.full_44KHz ``\n\n即可将本仓库 ``audio_examples`` 子文件夹中的歌曲“Mallory”分离为人声和伴奏。输出文件将保存在输入文件旁边。\n\n若要将我们的预训练模型应用于您自己的任意歌曲，只需通过 ``input_path`` 参数指定音频文件路径：\n\n`` python Predict.py with cfg.full_44KHz input_path=\"\u002Fmnt\u002Fmedien\u002FDaniel\u002FMusic\u002FDark Passion Play\u002FNightwish - Bye Bye Beautiful.mp3\"``\n\n如果您希望将预测结果保存到自定义文件夹而非输入歌曲所在的位置，只需添加 ``output_path`` 参数：\n\n`` python Predict.py with cfg.full_44KHz input_path=\"\u002Fmnt\u002Fmedien\u002FDaniel\u002FMusic\u002FDark Passion Play\u002FNightwish - Bye Bye Beautiful.mp3\" output_path=\"\u002Fhome\u002Fdaniel\" ``\n\n若想使用我们提供的其他预训练模型（如多乐器分离器）或您自己的模型，请通过 ``model_path`` 参数指向 TensorFlow 检查点文件的位置，并确保模型配置（此处为 ``full_multi_instrument``）与检查点中保存的模型一致。以我们打包好的多乐器模型为例：\n\n`` python Predict.py with cfg.full_multi_instrument model_path=\"checkpoints\u002Ffull_multi_instrument\u002Ffull_multi_instrument-134067\" input_path=\"\u002Fmnt\u002Fmedien\u002FDaniel\u002FMusic\u002FDark Passion Play\u002FNightwish - Bye Bye Beautiful.mp3\" output_path=\"\u002Fhome\u002Fdaniel\" ``\n\n# 已知问题 \u002F 故障排除\n\nMacOS：如果导入 matplotlib 时出现错误，请参阅 [此问题](https:\u002F\u002Fgithub.com\u002Ff90\u002FWave-U-Net\u002Fissues\u002F15) 和 [此问题](https:\u002F\u002Fgithub.com\u002Ff90\u002FWave-U-Net\u002Fissues\u002F8) 获取解决方案。\n\n在准备 MUSDB 数据集的过程中，有时会因 ffmpeg 进程卡死而导致转换为 WAV 文件的操作中断。该进程由 musdb Python 包内部使用，用于识别数据集中的 mp4 音频流。这似乎是 stempeg 库深层使用的 subprocess.Popen() 函数引发的随机性错误，目前尚无明确的解决方法。建议遇到此类问题时重新生成数据集。","# Wave-U-Net 快速上手指南\n\nWave-U-Net 是一个基于原始音频波形进行端到端音源分离的卷积神经网络。本指南将帮助你快速配置环境并运行预训练模型，实现人声与伴奏的分离。\n\n## 环境准备\n\n在开始之前，请确保你的系统满足以下要求：\n\n*   **操作系统**: Linux 或 Windows (macOS 可能遇到绘图库兼容性问题)\n*   **Python 版本**: 3.6.8 (推荐严格匹配此版本以避免依赖冲突)\n*   **硬件加速**: 强烈建议使用 **GPU** 以缩短训练和推理时间。\n    *   需安装 **CUDA 9**。\n    *   若无 GPU，可使用 CPU 版 TensorFlow，但速度会显著变慢。\n*   **系统依赖**:\n    *   [libsndfile](http:\u002F\u002Fmega-nerd.com\u002Flibsndfile\u002F)：用于音频文件读写。\n    *   `ffmpeg`：用于处理音频流（MUSDB 数据集预处理需要）。\n\n## 安装步骤\n\n### 1. 克隆项目\n首先从 GitHub 克隆代码仓库：\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Ff90\u002FWave-U-Net.git\ncd Wave-U-Net\n```\n\n### 2. 安装 Python 依赖\n项目所需的所有 Python 包已列在 `requirements.txt` 中。为了加快下载速度，国内用户建议使用清华或阿里镜像源进行安装：\n\n```bash\npip install -r requirements.txt -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\n```\n\n> **注意**：如果未安装 GPU 驱动，请将 `tensorflow-gpu==1.8.0` 替换为 `tensorflow==1.8.0`（可在 `requirements.txt` 中手动修改后执行上述命令）。\n\n### 3. 下载预训练模型\n若仅需使用模型进行音源分离（无需重新训练），请下载作者提供的预训练权重：\n\n1.  下载地址：[models.zip](https:\u002F\u002Fwww.dropbox.com\u002Fs\u002Foq0woy3cmf5s8y7\u002Fmodels.zip?dl=1)\n    *   *提示：若 Dropbox 下载缓慢，可尝试使用多线程下载工具或寻找国内镜像备份。*\n2.  解压文件，确保目录结构如下：\n    ```text\n    Wave-U-Net\u002F\n    └── checkpoints\u002F\n        ├── baseline_stereo\u002F\n        ├── full_multi_instrument\u002F\n        └── ...\n    ```\n\n## 基本使用\n\n以下示例展示如何使用性能最佳的**人声分离模型 (M5-HighSR)** 对音频进行处理。\n\n### 示例 1：运行内置测试音频\n项目自带了一个名为 \"Mallory\" 的测试音频。运行以下命令即可将其分离为人声和伴奏，输出文件将保存在原音频同级目录下：\n\n```bash\npython Predict.py with cfg.full_44KHz\n```\n\n### 示例 2：分离自定义音频\n指定你的音频文件路径进行分离：\n\n```bash\npython Predict.py with cfg.full_44KHz input_path=\"\u002Fpath\u002Fto\u002Fyour\u002Fsong.mp3\"\n```\n\n### 示例 3：指定输出目录\n若希望将分离后的结果保存到特定文件夹：\n\n```bash\npython Predict.py with cfg.full_44KHz input_path=\"\u002Fpath\u002Fto\u002Fyour\u002Fsong.mp3\" output_path=\"\u002Fpath\u002Fto\u002Foutput\u002Ffolder\"\n```\n\n### 示例 4：使用多乐器分离模型\n如果你需要分离多种乐器（而不仅仅是人声），请使用多乐器模型配置：\n\n```bash\npython Predict.py with cfg.full_multi_instrument model_path=\"checkpoints\u002Ffull_multi_instrument\u002Ffull_multi_instrument-134067\" input_path=\"\u002Fpath\u002Fto\u002Fyour\u002Fsong.mp3\" output_path=\"\u002Fpath\u002Fto\u002Foutput\u002Ffolder\"\n```\n\n运行完成后，检查输出目录，你将获得分离后的音轨文件（如 `vocals.wav`, `accompaniment.wav` 等）。","一位独立音乐制作人需要从一首老旧的现场录音中提取纯净的人声，以便进行重新混音和采样创作。\n\n### 没有 Wave-U-Net 时\n- **分离效果生硬**：传统频域算法（如基于频谱掩码的方法）容易在提取人声时丢失高频细节，导致声音听起来像“水下通话”，伴有明显的金属伪影。\n- **依赖多轨工程**：若无法获得原始分轨文件，几乎无法通过常规手段将人声与复杂的背景乐器彻底剥离，只能放弃该素材。\n- **手动处理耗时**：试图通过均衡器（EQ）或相位抵消手动过滤伴奏，不仅效率极低，且难以避免损伤人声的自然音色。\n- **端到端适配差**：现有工具往往需要人工设计特征提取前端，难以适应不同录音质量的复杂场景，泛化能力弱。\n\n### 使用 Wave-U-Net 后\n- **波形级高保真分离**：Wave-U-Net 直接在原始音频波形上进行端到端的一维卷积处理，有效保留了人声的瞬态细节和自然质感，显著减少了听觉伪影。\n- **单文件即可操作**：无需任何分轨工程，仅需输入混合好的立体声音频，即可利用预训练模型精准分离出人声、鼓点或其他乐器轨道。\n- **自动化高效流程**：通过下采样和上采样块自动学习多尺度特征，几分钟内即可完成过去需要数小时手动调试的分离工作。\n- **自适应复杂场景**：得益于在 MUSDB18 等数据集上的训练，它能智能应对各种混响和背景噪声，即使在数据有限的情况下也能表现优异。\n\nWave-U-Net 通过将深度学习直接应用于时域波形，让从复杂混音中无损提取单一音源变得像一键滤镜般简单高效。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ff90_Wave-U-Net_536f1ef8.png","f90","Daniel Stoller","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Ff90_26c18a7e.png",null,"https:\u002F\u002Fgithub.com\u002Ff90",[78],{"name":79,"color":80,"percentage":81},"Python","#3572A5",100,936,182,"2026-04-15T07:34:22","MIT",4,"Linux, macOS","强烈推荐使用 GPU 以缩短训练时间；需安装 CUDA 9；支持 tensorflow-gpu 1.8.0","未说明",{"notes":91,"python":92,"dependencies":93},"系统依赖 libsndfile 库。若仅需使用预训练模型进行推理，无需下载大型数据集；若要复现论文实验进行训练，需手动下载 MUSDB18 和 CCMixter 数据集并配置路径。MacOS 用户可能会遇到 matplotlib 导入错误。在准备 MUSDB 数据集时，偶尔会因 ffmpeg 进程冻结导致转换中断，建议重试。","3.6.8",[94,95,96,97,98,99,100,101,102,103],"tensorflow-gpu==1.8.0","numpy==1.15.4","librosa==0.6.2","soundfile==0.10.2","sacred==0.7.3","musdb==0.2.3","museval==0.2.0","protobuf==3.4.0","lxml==4.2.1","matplotlib\u003C3.0",[14,105],"音频",[107,108,109,110],"audio-processing","deep-learning","waveform-analysis","mit-license","2026-03-27T02:49:30.150509","2026-04-16T10:46:46.376258",[114,119,124,129],{"id":115,"question_zh":116,"answer_zh":117,"source_url":118},35744,"遇到 'TypeError: super(type, obj): obj must be an instance or subtype of type' 错误怎么办？","该错误通常是因为程序找不到 'ffprobe' 命令导致的。解决方法是安装 FFmpeg。请访问 http:\u002F\u002Fwww.ffmpeg.org\u002Fdownload.html 下载并安装 FFmpeg，确保 'ffprobe' 命令可在终端中正常调用。","https:\u002F\u002Fgithub.com\u002Ff90\u002FWave-U-Net\u002Fissues\u002F23",{"id":120,"question_zh":121,"answer_zh":122,"source_url":123},35745,"安装依赖后运行时报错 'TypeError: __init__() got an unexpected keyword argument 'serialized_options'' 如何解决？","这是由 TensorFlow 和 protobuf 版本不兼容引起的。在 macOS (CPU 版) 上，建议使用以下特定版本的依赖包：\nnumpy==1.15.4\nsacred==0.7.3\ntensorflow==1.8.0\nlibrosa==0.6.2\nscikit-image==0.13.1\nsoundfile==0.10.2\nscikits.audiolab==0.11.0\nlxml==4.2.1\nmusdb==0.2.3\nmuseval==0.2.0\ngoogle==2.0.1\nprotobuf==3.4.0\n特别是 protobuf 版本需锁定为 3.4.0。","https:\u002F\u002Fgithub.com\u002Ff90\u002FWave-U-Net\u002Fissues\u002F9",{"id":125,"question_zh":126,"answer_zh":127,"source_url":128},35746,"进行数据增强（如时间拉伸）时，生成的音频文件为何会出现源可加性约束偏差（additivity constraint deviation）？","这是因为使用 stempeg 将处理后的音频重新编码为 MP4\u002FAAC 格式时引入了压缩误差。建议的解决方案有两种：\n1. （推荐）完全跳过 stempeg 部分，在数据准备阶段将所有音轨解码为 WAV 格式，这样加载更快且无压缩损失。\n2. 如果时间拉伸计算开销不大，将其作为训练时的实时数据增强步骤（on-the-fly），这样可以节省磁盘空间，但可能会略微减慢训练批次的准备速度。\n维护者不建议依赖 ffmpeg 进行高精度重编码。","https:\u002F\u002Fgithub.com\u002Ff90\u002FWave-U-Net\u002Fissues\u002F32",{"id":130,"question_zh":131,"answer_zh":132,"source_url":133},35747,"在 Google Colab 上训练多乐器模型时出现 'InvalidArgumentError' 错误怎么办？","Colab 环境可能导致配置复杂化从而引发此类错误。建议首先在本地环境中正常运行代码，确认代码本身无误。如果本地运行成功，再尝试迁移到 Colab。此外，请检查数据集路径配置是否正确，确保数据集位于代码指定的路径下。","https:\u002F\u002Fgithub.com\u002Ff90\u002FWave-U-Net\u002Fissues\u002F29",[]]