Product FAQ

Updated at:

This article answers frequently asked questions about using Intelligent Speech Interaction.

This FAQ is divided into the following categories:

Features

Use Alibaba Cloud RTC for speech recognition

You can integrate Intelligent Speech Interaction with Alibaba Cloud RTC. For more information, see Process audio data.

Ports for speech recognition and synthesis

The service uses port 80 for the HTTP protocol, and port 443 for the HTTPS and WebSocket protocols.

Console update latency for activation and upgrades

Available concurrency is updated in real time. The previous day's concurrency is updated on a T+1 basis. Metering data on the console is also updated on a T+1 basis.

Project creation limit

No. There is currently no limit.

Multiple base models per project

No. Each Appkey maps to a single model.

H5 voice wake-up technologies and plug-ins

This feature is not supported on-device but is supported in the cloud. For on-device implementations, a hybrid approach is common. A wake-up model runs on the device, and after a trigger, a cloud-based model performs a secondary confirmation to reduce false positives.

Check ASR service usage

You can monitor the usage of Intelligent Speech Interaction on the console, including metrics such as duration, number of calls, and concurrency. This data helps you determine if your current usage is reasonable and decide whether to adjust your service capacity. For more information, see Service usage.

Domain names and IP addresses

The domain names for Intelligent Speech Interaction are nls-meta.cn-shanghai.aliyuncs.com and nls-gateway-cn-shanghai.aliyuncs.com. The service uses ports 80 and 443, and supports the HTTPS and WebSocket protocols. You can find the corresponding IP addresses by running the dig nls-gateway-cn-shanghai.aliyuncs.com or dig nls-meta.cn-shanghai.aliyuncs.com command. These are dynamic IP addresses that may change. You must monitor these IP addresses for any updates.

Find AccessKey ID and AccessKey Secret

See Activate the service to obtain your AccessKey ID and AccessKey Secret.

Find your UID

  1. Log on to the Alibaba Cloud console.

  2. Hover over your profile avatar in the upper-right corner. The value labeled Account ID in the panel is your UID.

Public IP allowlist for API access

No. The Intelligent Speech Interaction API is accessed over the public internet. As long as your client server can access the internet and you have correctly configured the Endpoint, AccessKey, and other parameters, you can call the API without binding or registering your server's public IP address on the Alibaba Cloud side.

Speaker recognition similarity issues

The causes vary by scenario:

  1. Low similarity: This is usually due to inconsistent recording devices or significant differences in background noise. Use the same device and environment for both enrollment and verification. Although any Chinese content is supported, using digit strings for enrollment and verification produces better results.

  2. Abnormally high score when comparing different speakers: This may be because the voices sound similar. Increase the number of test samples for further validation.

  3. Abnormally low recognition score after enrollment on the same device: If server-side tests are normal, check whether the client-side audio capture and processing pipeline (such as noise reduction algorithms) is affecting the voiceprint features.

Digit string matching for verification

No, they do not need to match. The system primarily extracts voice features for comparison, rather than relying on text content consistency. For better recognition accuracy, use digit strings for both enrollment and verification.

MRCP service TaskId in self-built data centers

Check the MRCP service log file at logs/nls-cloud-sdm/sdm-tts-request.log in the self-built data center deployment to obtain the TaskId.

MRCP Docker image historical tags

Viewing all tag lists through a web page is not currently supported. Historical versions must be pulled by specifying the tag. For example, the previous version tag is 20250106. Use the docker pull command with the specific tag to pull the image.

MRCP module maintenance status

Yes, the MRCP module of nls-cloud-sdm is still under active maintenance.

Tingwu OSS playback URL escape characters

Escape characters such as & in a URL are typically caused by incorrect transcoding processing of the URL string in your business code, not an audio transcoding issue. In addition, OSS playback URLs are time-limited (controlled by the Expires parameter). After the URL expires, call the GetTaskinfo API again to obtain a new valid URL.

Tingwu real-time role separation accuracy

Real-time role separation accuracy is inherently limited by streaming processing and may not be fully accurate. If real-time performance is unsatisfactory, use the offline role separation feature after the meeting ends. Offline mode typically produces better results than real-time mode.

Recording file TaskId and file URL mapping

For data security reasons, the platform does not store business data submitted by users (such as FileUrl) and cannot provide a mapping between a TaskId and a resource URL or a desensitized link. Maintain a mapping record of TaskIds and request parameters (such as FileUrl) in your own business system. This allows you to use the TaskId returned by the API to trace back to the specific audio resource and speech duration later.

Paraformer model call permissions

Log on to the Intelligent Speech Interaction console, locate the paraformer-realtime-v2 model, click Model Permission and Rate Limit Settings, and check whether the status shows Authorized to confirm that you have the required permissions.

Performance

Exceeding the concurrency limit

Exceeding the concurrency limit can cause the following issues:

  1. Your logs will show a large number of timeout errors with the status code 40000005, which indicates too many requests.

  2. High concurrency can cause connections to the ASR or TTS service to be dropped.

Free-tier limitations

  • For Short Speech Recognition and Real-Time Speech Recognition, you can send a maximum of 2 concurrent streams.

  • For Audio File Transcription, new users can transcribe up to 2 hours of audio for free every 24 hours during a 3-month trial period. After you use the free quota, it renews after 24 hours.

How is concurrency calculated?

Concurrency is the number of requests that are being processed simultaneously for a single account (Alibaba Cloud UID).

A typical voice request remains active for a period of time. For example, if you create a speech recognition request and continuously send audio data to the server, the concurrency is 1. If you create a second request while the first one is still being processed, the server is handling two requests from your account at the same time, and the concurrency becomes 2.

SDK usage

Source code availability

Yes, the SDK protocol and source code are open-source. You can find them on GitHub. We provide open-source versions for C++, Java, and Python.

If you want to study the protocol architecture, you can refer to the source code on GitHub. However, we recommend using the official SDK for integration. For more information, see Get started. We provide limited support for issues related to custom API implementations.

Multi-process support for Android SDK

No. This is not currently supported.

TTS SDK playback listeners and modules

Playback functionality is not part of the SDK. The SDK only provides events related to synthesis.

Continuous audio data transmission

Yes, audio data must be sent continuously.

If the server does not receive audio data within a specific period (10 seconds), the connection times out and closes, returning error code 40000004. To send data again, the client must initiate a new request.

Receiving data after stream interruption

If the connection is interrupted due to a timeout, the server will continue to process and return results for any data that was already in its buffer. However, the recognition result for the complete sentence will be incorrect.

Reasons for initialization failure

Verify that you are using the correct AccessKey ID and AccessKey Secret to generate an Access Token. Also, ensure that all required parameters, such as Appkey and Access Token, are correct.

Reasons for recognition start failure

The SDK uses a singleton pattern. Ensure the previous recognition process has finished before you start a new one.

No recognition results

Confirm the following:

  • Initialization was successful.

  • The call to start recognition was successful, and the vad_mode parameter is used correctly.

  • You are receiving audio status callbacks, and recording has started correctly.

If you still receive no results after checking these points, an EVENT_ASR_ERROR event has likely occurred. Use the error code included in the event to identify the problem.

ROUTING state error for binary messages

This error occurs when the client sends audio stream data before the server has returned the Started event (server state is still ROUTING). Solution: Start sending binary audio data only after receiving the Started event callback.

ASR_TIMEOUT error with empty task_id

This is usually caused by the client failing to send audio data, or a network connection issue that prevents the gateway from receiving audio. Solutions:

  1. Check whether the client is correctly pushing the audio stream.

  2. If you are using a cross-border or remote server, try switching to a local server (such as Singapore) for testing to rule out the impact of network latency or VPN instability.

Billing

Maximum concurrency for real-time speech recognition

The trial version includes 2 free concurrent streams and is valid for 3 months. After you activate the commercial version, you get 200 concurrent streams by default. You can purchase additional concurrency packs if needed.

Requirements for English recognition

English recognition requires you to purchase both an extension pack and additional concurrency.