问题排查#
已知问题#
非语言的人类声音(例如“嗯…”)和非人类音频不能很好地转化为面部表情,导致嘴唇随机运动。这是一个已确定未来需要改进的领域。
在使用 H100 HBM3 的某些驱动程序版本上运行时,Audio2Emotion 推理会观察到以下错误。 这正在调查中。 同时,请务必使用推荐的驱动程序和 CUDA 版本。
[A2E SDK] [ERROR] [A2E SDK] IExecutionContext::setInputShape: Error Code 3: API Usage Error (Parameter check failed, condition: satisfyProfile. Set dimension [14,30000] for tensor input_values does not satisfy any optimization profiles. Valid range for profile 0: [1,30000]..[10,30000].) [A2E SDK] [ERROR] Set binding dimensions failed.
问答#
头像在音频剪辑结束时没有闭上嘴。 如何修复?
嘴巴闭合有多个要求,我们建议您按此顺序尝试
音频剪辑需要在结尾处有一些静音,如果不是这种情况,您需要在结尾处附加一些静音。
情绪必须重置为中性,如果不是这种情况,您需要发送中性情绪(例如,发送空映射或 joy=0)和一些静音音频。
注意
如果您在音频剪辑的最后将情绪设置为中性,您将看不到任何变化,因为 Audio2Face-3D 中应用了一些平滑处理,以使情绪变化不那么突然。 因此,您需要在结尾处推送一些静音音频。
例如:在 Audio2Face-3D NIM 中,在音频剪辑的结尾,我们将所有情绪设置为 0 并发送 1.5 秒的静音。
如果 preferred_emotion_strength
来自 EmotionPostProcessingParameters
接近于零,则中性情绪将不被考虑。 您可能需要增加该值以允许嘴巴闭合。
所选的面部参数可能会阻止嘴巴闭合,您可以尝试更新它们以确保嘴巴闭合。
混合形状乘数和偏移量可能会阻止嘴巴闭合,您可以尝试更新它们以确保嘴巴闭合。
gRPC 响应状态代码#
在以下情况(包括其他情况)下,用户将收到 gRPC 错误消息,代码为 nvidia_ace::status::v1::Status_Code_ERROR
gRPC 请求缺少数据字段或音频标头。
音频标头无效(例如,不支持的音频通道、采样率、位深度)。
数据字段中的音频缓冲区为空。
id(request_id、stream_id、target_object_id)超过
maxLenUUID
或包含不支持的字符。并发流的数量已达到
streamNumber
限制。FPS 太低。
否则,gRPC 请求将返回代码 nvidia_ace::status::v1::Status_Code_SUCCESS
。
Audio2Face-3D NIM 公共 API#
以下是访问 Audio2Face-3D NIM 公共 API 时可能遇到的一些常见错误
grpc 错误消息
潜在原因
可能的解决方案
grpc_message:'failed to establish link to worker', grpc_status:13
在请求时没有可用的服务器/实例
当前部署已达到其容量,受 instance_count * max_occurrence 设置限制。
grpc_message:'failed to open stateful work request: rpc error: code = Unauthenticated desc = invalid response from UAM', grpc_status:13
API 密钥无效
检查 API 密钥,如果问题仍然存在,请生成新的密钥。
grpc_message:'failed to open stateful work request: rpc error: code = Internal desc = There was a server error trying to handle an exception', grpc_status:13
API 密钥没有足够的信用额度 / API 密钥无权访问此功能
检查该功能是否为公共功能,或者您的 API 密钥是否与有权访问该功能的帐户关联。
GStreamer-WARNING#
当您启动服务时,您可能会遇到标记为 GStreamer-WARNING 的警告。 这些警告的发生是因为容器中缺少某些库。 但是,这些警告可以安全地忽略,因为 Audio2Face-3D 不使用这些库。