spleeter的坑 Usage: __main__.py separate [OPTIONS] FILES.... Error: Missing argument ‘FILES...‘.

文章指出在使用python-mspleeter库进行音频文件分离时,示例代码存在错误导致运行出错。用户发现并纠正了问题,参数应改为包括模型名称(如pspleeter:2stems)及输入和输出路径。修复后的命令成功将音频文件分离为不同声道,并保存为.wav文件。作者已向开发者提出建议。
部署运行你感兴趣的模型镜像

许多示例都这样写:

python -m spleeter separate -i z:\audio_example.mp3 -o z:\audio_output

运行后:

Usage: __main__.py separate [OPTIONS] FILES...
Try '__main__.py separate --help' for help.

Error: Missing argument 'FILES...'.

就算是开发者自己写的桌面版也同样出现错误

最后发现是示例有误改成如下成功:

python -m spleeter separate -p spleeter:2stems z:\audio_example.mp3  -o z:\ 
INFO:spleeter:File z:\audio_example/vocals.wav written succesfully
INFO:spleeter:File z:\audio_example/accompaniment.wav written succesfully

最后还是给开发者建议了。

 

您可能感兴趣的与本文相关的镜像

Python3.10

Python3.10

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

### 解决方案 在命令行脚本 `run.py` 中遇到错误提示 `error: argument --seasonal_patterns expected one argument` 的原因通常是由于未提供该选项所需的参数值所致。以下是可能的原因分析以及解决方案: #### 原因分析 1. **缺少必需的参数值** 如果定义了一个带有参数的命令行选项(如 `--seasonal_patterns`),但在运行脚本时忘记为其指定实际值,则会触发此错误。 2. **解析器配置不正确** 使用 Python 的 `argparse` 库时,如果未正确定义 `--seasonal_patterns` 参数的行为(例如将其设置为布尔标志而非接受具体值),也可能导致此类问题。 3. **输入语法有误** 用户可能误解了如何传递参数给脚本。例如,在某些情况下,用户可能会遗漏等号 (`=`),或者将参数与其值分开写入却未遵循正确的分隔方式。 --- #### 解决方法 ##### 方法一:确认并补充缺失的参数值 确保在调用 `run.py` 脚本时提供了完整的参数及其对应的值。假设 `--seasonal_patterns` 需要接收一个字符串类型的模式名称作为其值,则可以这样执行程序: ```bash python run.py --seasonal_patterns additive ``` 此处,“additive” 是指代季节性变化的一种特定模型形式;当然也可以替换为你所期望的实际数据集或算法设定中的其他合法取值[^1]。 ##### 方法二:检查 argparse 定义部分是否存在逻辑缺陷 打开 `run.py` 文件定位到创建 ArgumentParser 对象的部分,验证对于 `--seasonal_patterns` 是否已合理声明它应该获取什么样的额外信息。正常情况下的代码片段应类似于下面展示的内容: ```python import argparse parser = argparse.ArgumentParser(description='Process some integers.') parser.add_argument('--seasonal_patterns', type=str, required=True, help='Define the seasonal pattern to be used (e.g., additive or multiplicative)') args = parser.parse_args() print(f'Seasonal Patterns Selected: {args.seasonal_patterns}') ``` 在此示例中,通过 `type=str` 明确指出这个 flag 后面跟随的是字符串类型的数据,并且标记为了必填项(`required=True`)。因此当终端尝试启动而没有给出相应细节的时候就会报错提醒开发者注意补全必要的资料[^2]. ##### 方法三:调整默认行为以适应无参场景 如果你希望即使用户省略掉显式的 `--seasonal_patterns` 设置也能顺利继续流程处理的话,那么可以在初始化阶段赋予某个合理的缺省状态代替强制要求外部传入固定数值。修改后的版本如下所示: ```python import argparse def main(): parser = argparse.ArgumentParser(description="Example script with optional arguments.") # Adding an option that has a default value if not provided by user. parser.add_argument("--seasonal_patterns", choices=["additive", "multiplicative"], default="additive", help="Choose between 'additive' and 'multiplicative'. Default is 'additive'") args = parser.parse_args() print("Using seasonal patterns:", args.seasonal_patterns) if __name__ == "__main__": main() ``` 这里我们不仅限定了可选范围还设置了 fallback mechanism 即使没有任何干预也能够按照预设路径前进从而避免潜在冲突发生[^3]. --- ### 总结 综上所述,针对当前状况可以从以下几个角度切入解决问题: - 确认命令行输入是否完整; - 查看源码内部实现是否有疏漏之处需修正; - 或者考虑优化设计给予更多灵活性减少不必要的麻烦。 ---
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值