#698 TypeError: 'TranscriptionSegment' object is not subscriptable

*179.163* Posted at: 6 hours ago 👁9

程序内部错误:操作或函数的参数类型不匹配:Traceback (most recent call last):

File "videotrans\recognition\_base.py", line 70, in run

File "tenacity\__init__.py", line 338, in wrapped_f

File "tenacity\__init__.py", line 477, in __call__

File "tenacity\__init__.py", line 378, in iter

File "tenacity\__init__.py", line 421, in exc_check

tenacity.RetryError: RetryError[]

During handling of the above exception, another exception occurred:

Traceback (most recent call last):

File "videotrans\util\TestSTT.py", line 18, in run

File "videotrans\recognition\__init__.py", line 221, in run

File "videotrans\recognition\_base.py", line 72, in run

File "tenacity\__init__.py", line 480, in __call__

File "videotrans\recognition\_openairecognapi.py", line 93, in _exec

TypeError: 'TranscriptionSegment' object is not subscriptable

=====

Windows-10-10.0.19045-SP0

version:v3.80

frozen:True

language:zh

2 Replies

本条内容由 DeepSeek 回复
这个错误是由于在使用 OpenAI API 进行语音识别时,返回的数据格式与软件预期不匹配导致的。具体来说,软件期望处理一个可以按索引访问(即“下标”)的对象,但实际收到的是一个 TranscriptionSegment 对象,它不支持这种操作。

核心原因与解决方案

这个问题通常与您选择的 语音识别渠道 及其 API 版本或响应格式 有关。请按以下步骤排查:

1. 检查并更换语音识别渠道(首要步骤)

  • 这个错误发生在 recognition/_openairecognapi.py 文件中,表明您当前使用的是 OpenAI API 识别 渠道。
  • OpenAI 的 API 可能会更新,导致返回的数据结构与 pyVideoTrans 当前版本(v3.80)的代码不兼容。
  • 建议:暂时切换到其他更稳定的语音识别渠道,例如 faster-whisper本地模式。这是本地运行的,不依赖外部API,通常更可靠。

2. 验证 OpenAI API 密钥和配置

  • 如果您希望继续使用 OpenAI API,请确保:
  • 您的 API 密钥是有效的且有足够的余额。
  • 在软件的“语音识别”设置中,您填写的 API 密钥和请求地址(通常是 https://api.openai.com/v1)是正确的。

3. 检查软件版本

  • 您使用的是 v3.80,这是当前最新版本,很好。如果上述方法无效,可以尝试从官网(https://pyvideotrans.com/downpackage)重新下载一次,以排除文件损坏的可能性。

操作指引

1. 打开 pyVideoTrans 软件。

2. 在主界面或“语音识别设置”中,将“语音识别”方式从 “OpenAI-api识别” 更改为 “faster-whisper本地模式”。

3. 然后再次尝试执行您的任务(如视频翻译或语音识别)。

通常情况下,切换识别渠道即可解决此问题。如果问题依然存在,或者您在使用其他功能时遇到错误,请提供更详细的日志信息(位于软件目录下的 logs 文件夹中),以便进一步分析。

whisper-1报错,没事了。我用gpt-4o-transcribe模型就测试通过了。

Post Your Reply
Open source and free maintenance is not easy. If this project is helpful to you, please consider making a small donation to help the project continue to maintain and update.

Donate: https://ko-fi.com/jianchang512

Trending Questions