Product FAQ
This article answers frequently asked questions about using Intelligent Speech Interaction.
This FAQ is divided into the following categories:
-
Features
-
How do I use Alibaba Cloud RTC to call the speech recognition service?
-
What ports are used for speech recognition and speech synthesis in Intelligent Speech Interaction?
-
Is there a limit on the number of projects that I can create in Intelligent Speech Interaction?
-
Does a single project on the console support multiple base models?
-
Are there any technologies or plug-ins for H5 voice wake-up?
-
What are the domain names for Intelligent Speech Interaction and their corresponding IP addresses?
-
Are there tutorials available for Intelligent Speech Interaction?
-
Does calling the Intelligent Speech Interaction API require configuring a public IP allowlist?
-
What should I do if the speaker recognition similarity is low or the score is abnormal?
-
Does the digit string for speaker verification need to match enrollment?
-
How do I obtain the TaskId for an MRCP service in a self-built data center?
-
What should I do if the Tingwu OSS playback URL contains escape characters?
-
What should I do if the real-time meeting role separation in Tingwu is inaccurate?
-
How do I query the mapping between a recording file TaskId and its file URL?
-
How do I check the call permissions for the Paraformer model?
-
-
Performance
-
SDK Usage
-
Is the source code for Intelligent Speech Interaction available?
-
Why do I still receive data from the server after the audio stream is interrupted?
-
What are the possible reasons for an initialization failure?
-
What are the possible reasons for a recognition start failure?
-
Why are there no recognition results after starting recognition?
-
What causes ASR recognition to fail with an ASR_TIMEOUT error?
-
-
Billing
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
-
Log on to the Alibaba Cloud console.
-
Hover over your profile avatar in the upper-right corner. The value labeled Account ID in the panel is your UID.
Tutorials
The following video tutorials are available:
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:
-
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.
-
Abnormally high score when comparing different speakers: This may be because the voices sound similar. Increase the number of test samples for further validation.
-
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 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:
-
Your logs will show a large number of timeout errors with the status code 40000005, which indicates too many requests.
-
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:
-
Check whether the client is correctly pushing the audio stream.
-
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.