运行谷歌云语音转文本出现Bad language code错误如何解决
错误原因
你触发的400 Invalid recognition 'config': Bad language code报错,本质是谷歌云语音转文本API接收到的语言代码格式/内容不符合规范,大概率是shell传参转义问题,或是语言代码缺少地区后缀不被beta版API识别。
解决方案
- 首先修正命令行传参格式,避免shell转义把多余的引号带进语言代码参数:
python dubber.py media/hello-universe.wav en outputDirectory --targetLangs '["ta"]'
你原命令里给en加的多余双引号、--targetLangs参数的转义引号都可能导致程序读取到的语言代码自带引号,变成"en"这种无效值。
- 若是修正传参后仍报错,给语言代码补充对应地区后缀,适配v1p1beta1版API的校验规则:英语填
en-US、泰米尔语填ta-IN,修改后的命令如下:
python dubber.py media/hello-universe.wav en-US outputDirectory --targetLangs '["ta-IN"]'
- 若以上操作均无效,可打开
dubber.py定位到get_transcripts_json函数,在调用long_running_recognize前添加打印语句,输出config.language_code的实际值,排查是否有程序逻辑导致的语言代码异常拼接。
内容的提问来源于stack exchange,提问作者DillGates
相关产品推荐
相关产品推荐

