The Riva TTS service is limited to < 400 characters long input strings

Please provide the following information when requesting support.

Hardware - GPU (3060)
Hardware - CPU
Operating System: Ubuntu
Riva Version: 1.8.0
TLT Version (if relevant)
How to reproduce the issue ? (This is for errors. Please share the command and the detailed log here)

when i run offline mode with input string greater than 400 characters i get this error message. I know this has been fixed in 1.6.0 but I still have it in 1.8.0.

@rleary Could you offer some insight, please? Thanks to your previous assistance we were able to get really nice long form transcriptions with the increase gRPC message sizes and the older “ offline mode”.

Hi @thangmta30 ,

Thanks for reporting this. Let me reach out to the team about this and I will follow up with you - there may be a delay in response with many folks on holiday this week.

In the meantime, can you share more details about how to reproduce the issue? Can you share the commands you’re running to start in offline mode and an example with a string that causes the error?

@thangmta30 is this with one of the default models? Could you share a sample input that triggers this and we’ll investigate. Thanks!

Hi @rleary, @NVES_R
I am testing with Vietnamese, I noticed that with the same input size, for example 500 characters, English does not encounter any errors but with Vietnamese, it gives this error:
vietnamese texts: “Đã có không ít ý kiến đề nghị cải cách tư duy quản trị và chính sách của quỹ bảo hiểm quốc gia. Về bản chất, đây là một quỹ tài chính công, nên nó cần được quản lý, vận hành như một quỹ đầu tư để tối ưu hóa lợi nhuận từ số tiền người dân đóng bảo hiểm. Lợi nhuận càng cao, nhà nước càng có thêm nguồn lực để có thể tăng lương hưu, đầu tư cho hệ thống an sinh quốc gia, cũng chính là chất lượng hưu trí của người dân.”

english texts: “Movements of the 14 boomers in the US Navy’s fleet are usually closely guarded secrets. Nuclear power means the vessels can operate submerged for months at a time, their endurance limited only by the supplies needed to sustain their crews of more than 150 sailors. The Navy says Ohio-class submarines stay an average of 77 of days at sea before spending about a month in port for maintenance and replenishment. It’s rare for one to even be photographed outside their home ports of Bangor, Washington, and Kings Bay, Georgia.”

If the size is too large, it will only indicate that the input is too large, but it is not “socket closed” but it can still be called with another text input.
input text: “Movements of the 14 boomers in the US Navy’s fleet are usually closely guarded secrets. Nuclear power means the vessels can operate submerged for months at a time, their endurance limited only by the supplies needed to sustain their crews of more than 150 sailors. The Navy says Ohio-class submarines stay an average of 77 of days at sea before spending about a month in port for maintenance and replenishment. It’s rare for one to even be photographed outside their home ports of Bangor, Washington, and Kings Bay, Georgia. The secrecy surrounding the ballistic missile submarines makes them the “most important survivable leg of the nuclear triad,” which also includes silo-based ballistic missiles on the US mainland and nuclear-capable bombers like the B-2 and B-52. But with tensions brewing between the US and China over the status of the self-ruled island of Taiwan, and as North Korea ramps up missile tests, Washington can make a statement with its ballistic missile submarines that neither Beijing nor Pyongyang can, according to the analysts.”

I am testing with Vietnamese

Riva TTS does not support Vietnamese. Any non-English input will lead to unexpected behaviour.

If the size is too large, it will only indicate that the input is too large, but it is not “socket closed” but it can still be called with another text input.

You can just try streaming tts option or increase your GRPC message size. Assuming you are using the API_demo notebook, you can add the following when initiating the grpc channel:

options = [('grpc.max_receive_message_length', 100 * 1024 * 1024)]
channel = grpc.insecure_channel('localhost:50051', options = options)