liumaolin
Fix help text for `--disable-echo-cancellation` to clarify the default behavior is not disabled
d846f85
| """ | |
| 命令行参数处理模块 | |
| 提供命令行参数解析和配置功能 | |
| """ | |
| import argparse | |
| from voice_dialogue.config.speaker_config import update_argument_parser_speaker_choices | |
| def create_argument_parser(): | |
| """创建命令行参数解析器""" | |
| # 动态获取可用说话人列表 | |
| available_speakers = update_argument_parser_speaker_choices() | |
| parser = argparse.ArgumentParser( | |
| description="VoiceDialogue - 语音对话系统", | |
| formatter_class=argparse.RawDescriptionHelpFormatter, | |
| epilog=f""" | |
| 示例用法: | |
| # 启动命令行模式(默认) | |
| python main.py | |
| # 启动命令行模式并指定参数 | |
| python main.py --mode cli --language zh --speaker 沈逸 | |
| # 启动API服务器 | |
| python main.py --mode api | |
| # 启动API服务器并指定端口 | |
| python main.py --mode api --port 9000 | |
| # 启动API服务器并启用热重载(开发模式) | |
| python main.py --mode api --port 8000 --reload | |
| 支持的说话人: | |
| {', '.join(available_speakers)} | |
| """ | |
| ) | |
| # 运行模式选择 | |
| parser.add_argument( | |
| '--mode', '-m', | |
| choices=['cli', 'api'], | |
| default='cli', | |
| help='运行模式: cli=命令行模式, api=API服务器模式 (默认: cli)' | |
| ) | |
| parser.add_argument( | |
| '--debug', | |
| action='store_true', | |
| default=False, | |
| help='启动debug模式' | |
| ) | |
| # 命令行模式参数 | |
| cli_group = parser.add_argument_group('命令行模式参数') | |
| cli_group.add_argument( | |
| '--language', '-l', | |
| choices=['zh', 'en'], | |
| default='zh', | |
| help='用户语言: zh=中文, en=英文 (默认: zh)' | |
| ) | |
| cli_group.add_argument( | |
| '--speaker', '-s', | |
| choices=available_speakers, | |
| default='沈逸' if '沈逸' in available_speakers else (available_speakers[0] if available_speakers else '沈逸'), | |
| help='TTS说话人 (默认: 沈逸)' | |
| ) | |
| cli_group.add_argument( | |
| '--disable-echo-cancellation', | |
| action='store_true', | |
| default=False, | |
| help='禁用回声消除功能 (默认: 不禁用)' | |
| ) | |
| # API服务器模式参数 | |
| api_group = parser.add_argument_group('API服务器模式参数') | |
| api_group.add_argument( | |
| '--host', | |
| default='0.0.0.0', | |
| help='服务器主机地址 (默认: 0.0.0.0)' | |
| ) | |
| api_group.add_argument( | |
| '--port', '-p', | |
| type=int, | |
| default=8000, | |
| help='服务器端口 (默认: 8000)' | |
| ) | |
| api_group.add_argument( | |
| '--reload', | |
| action='store_true', | |
| help='启用热重载(开发模式)' | |
| ) | |
| return parser | |