Ok, it worked finally. At least, I needed to use module_llm.melotts instead of module_llm.tts.

The model specification in tts_config doesn't matter for my case. It picks melotts-en-default somehow automatically even though the default value is melotts_zh-cn.

The module is very unstable when the controller is powered on. It requires several clicks of the reset button until it finally speaks. (The return value of melotts.inference is -97 when it's successful.)