Welcome to Jetson Orin NX SUPER repository
当製品の日本語版マニュアル資料は、こちらからご取得ください。
5. AI Voice Interaction Configuration
OpenClaw AI Voice Interaction Configuration
OpenClaw AI Voice Interaction Configuration1. Course Overview2. Voice Interaction Overall Pipeline3. Voice Configuration File Description3.1 Configuration File Location3.2 Minimum Configuration to Check Before Starting4. Key Parameter Descriptions4.1 Speech Recognition Engine4.2 Microphone and Speaker Devices4.3 DashScope Authentication and ASR Model4.4 TTS Voice Broadcast Configuration4.5 OpenClaw Gateway Configuration Reference4.6 Serial Wake Configuration4.7 Chinese-English Switching Steps5. Starting Voice Interaction5.1 Prepare Virtual Environment5.2 Startup Method5.3 If Other Interaction Methods Need Broadcast6. Configuration Verification Methods6.1 Verify Voice Program Can Start6.2 Verify Recognition and Publishing Process6.3 Verify TTS [Optional]7. Common Issues7.1 Program Startup Failure7.2 No Recognition Result After Wake7.3 Recognition Succeeds but OpenClaw Does Not Respond7.4 Can Recognize but No Voice Broadcast7.5 Serial Wake Failure8. Recommended Debugging Order
1. Course Overview
This course walks you through configuring the AI voice interaction pipeline in OpenClaw, including voice configuration file locations, key parameter descriptions, startup methods, and common troubleshooting steps.
After completing this course, you will be able to:
- Know which configuration file is used for AI voice interaction
- Understand the meaning of key parameters in
.env - Correctly start the voice program
2. Voice Interaction Overall Pipeline
The current voice interaction process in OpenClaw can be simply understood as:
- Microphone captures voice
- Program performs silence detection and segmentation
- ASR engine converts speech to text
- Recognition results are published to OpenClaw
- OpenClaw returns results
[Optional]TTS reads out the returned results (the reply content may be long, you can choose whether to read it out)
The core configuration file for this pipeline is:
/home/jetson/voice_to_openclaw/.env3. Voice Configuration File Description
3.1 Configuration File Location
xxxxxxxxxx/home/jetson/voice_to_openclaw/.envIf this file does not exist, you can first copy it from the template:
xxxxxxxxxxcd /home/jetson/voice_to_openclaw/cp .env.example .env3.2 Minimum Configuration to Check Before Starting
It is recommended to at least confirm the following items:
ASR_ENGINEDASHSCOPE_API_KEYDEVICESPEAKER_DEVICEOPENCLAW_CONFIG_PATHENABLE_SERIAL_WAKE
4. Key Parameter Descriptions
4.1 Speech Recognition Engine
xxxxxxxxxxASR_ENGINE=dashscopeTwo modes are currently supported:
dashscope: Tongyi Bailian native speech recognition API, suitable for direct online usefaster_whisper: Local Whisper recognition, suitable for local operation (not supported on Raspberry Pi)
For most beginners, we recommend keeping the default:
xxxxxxxxxxASR_ENGINE=dashscope4.2 Microphone and Speaker Devices
xxxxxxxxxxDEVICE=pulseSPEAKER_DEVICE=pulseThese two parameters determine which audio input and output devices the program uses.
Scenarios suitable for modification:
- Multiple microphone devices
- USB microphone is not the system default device
- The speaker output goes to the wrong device
If the voice program starts but you cannot hear or record audio, check these settings first.
4.3 DashScope Authentication and ASR Model
To obtain an API key, log in to Alibaba Cloud Bailian:
Link: Large Model Service Platform Bailian Console

xxxxxxxxxxDASHSCOPE_API_KEY=DASHSCOPE_API_URL=https://dashscope.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generationDASHSCOPE_ASR_MODEL=qwen3-asr-flashWhere:
DASHSCOPE_API_KEY: A valid API-KEY must be filled inDASHSCOPE_API_URL: A default value is already providedDASHSCOPE_ASR_MODEL: Default speech recognition model
If this is not configured correctly, common symptoms are:
- Recognition fails after the program starts
- An authentication error is returned
- Speech recognition request timeout or model error
4.4 TTS Voice Broadcast Configuration
xxxxxxxxxxENABLE_TTS=falseWAKE_ACK_TEXT=I'm here.If you want voice broadcast after speech recognition, you can enable it:
xxxxxxxxxxENABLE_TTS=trueCurrent common TTS parameters include:
DASHSCOPE_TTS_MODELDASHSCOPE_TTS_VOICEDASHSCOPE_TTS_VOLUMEDASHSCOPE_TTS_SPEECH_RATE
It is recommended to first get ASR working, then consider enabling TTS.
4.5 OpenClaw Gateway Configuration Reference
xxxxxxxxxxOPENCLAW_CONFIG_PATH=~/.openclaw/openclaw.jsonOPENCLAW_TIMEOUT=70 # Maximum retry time, waiting for OpenClaw reply. For long tasks, consider increasing this valueOPENCLAW_RETRY=1This part of the configuration determines how the voice program sends recognition results to OpenClaw.
By default:
- The program will read
openclaw.json - Automatically determine the local gateway port
- Automatically read the gateway authentication token
Therefore, if speech recognition has already succeeded but OpenClaw is not executing commands, check here first.
4.6 Serial Wake Configuration
xxxxxxxxxxENABLE_SERIAL_WAKE=trueMIC_SERIAL_PORT=/dev/ttyUSB0MIC_SERIAL_BAUDRATE=115200SERIAL_WAKE_REQUIRED=trueIf you are using the bundled voice module, serial wake mode is usually used.
The main functions are:
- Wait for the wake signal by default
- Start capturing the next voice segment after receiving the wake signal
- Return to waiting state after processing is complete
If you do not have the bundled serial wake module, you can adjust as needed:
xxxxxxxxxxENABLE_SERIAL_WAKE=false4.7 Chinese-English Switching Steps
If you need to switch voice interaction from Chinese to English, it is recommended to directly modify the language parameter in .env, then restart the program.
The current voice_to_openclaw/.env defaults to the Domestic Version (Bailian).
Method 1: Overseas Version (iFlytek International)
Main configuration items:
xxxxxxxxxxXUNFEI_ASR_LANGUAGE=en_cnXUNFEI_ASR_ACCENT=mandarin# Terminal log language: zh / enUI_LANGUAGE=en- Chinese recognition:
XUNFEI_ASR_LANGUAGE=zh_cn - English recognition:
XUNFEI_ASR_LANGUAGE=en_us - When the recognition language is changed to English,
XUNFEI_ASR_ACCENTis no longer needed and can be commented out or left as-is
Example:
x# Chinese recognitionXUNFEI_ASR_LANGUAGE=zh_cnXUNFEI_ASR_ACCENT=mandarin# English recognitionXUNFEI_ASR_LANGUAGE=en_us# XUNFEI_ASR_ACCENT=mandarinIf TTS is also enabled and you want English broadcast, you also need to change TTS_VOICE to an English voice tone you have activated; if you are just verifying English recognition first, only change the ASR language.
Method 2: Domestic Version (Bailian)
Main configuration items:
xxxxxxxxxxDASHSCOPE_LANGUAGE=zh- Chinese recognition:
DASHSCOPE_LANGUAGE=zh - English recognition:
DASHSCOPE_LANGUAGE=en
Example:
xxxxxxxxxx# Chinese recognitionDASHSCOPE_LANGUAGE=zh# Terminal log language: zh / enUI_LANGUAGE=zhIf the Bailian solution also has TTS enabled, it is recommended to simultaneously switch to the corresponding English voice tone, otherwise English recognition may work normally but the broadcast may still use a Chinese voice.
After making the changes, re-run the startup command below for the changes to take effect.
5. Starting Voice Interaction
5.1 Prepare Virtual Environment
This step is not needed for the factory image. If dependencies are not yet installed, first execute:
xxxxxxxxxxcd /home/jetson/voice_to_openclawpython3 -m venv .venvsource .venv/bin/activatepip install -r requirements.txt5.2 Startup Method
xxxxxxxxxxcd /home/jetson/voice_to_openclawsource .venv/bin/activatepython -m src.mainIf startup is successful, the program will wait for wake or voice input.

If English log is enabled, it will look like this:
xxxxxxxxxx# Terminal log language: zh / enUI_LANGUAGE=en
5.3 If Other Interaction Methods Need Broadcast
- Change the broadcast parameter to True
xxxxxxxxxxENABLE_TTS=true - Additionally, start a separate listener by entering the following in the terminal:
xxxxxxxxxxcd ~/voice_to_openclawsource .venv/bin/activatepython -m src.openclaw_session_tts
6. Configuration Verification Methods
6.1 Verify Voice Program Can Start
Execute:
xxxxxxxxxxcd /home/jetson/voice_to_openclawsource .venv/bin/activatepython -m src.mainIf the program starts successfully and does not immediately report errors, the environment is most likely set up correctly.
6.2 Verify Recognition and Publishing Process
After saying "Hi, yahboom" to wake up, you can try saying:
- Tell me a joke
- Display hello on the OLED
If you can see OpenClaw returning text, it means:
- Microphone capture is normal
- ASR is normal
- OpenClaw gateway publishing is normal

6.3 Verify TTS [Optional]
If enabled:
xxxxxxxxxxENABLE_TTS=trueAfter OpenClaw returns results, you should be able to hear voice broadcast.
7. Common Issues
7.1 Program Startup Failure
Check first:
- Whether
.venvexists - Whether dependencies are installed
- Whether
.envexists
7.2 No Recognition Result After Wake
Check first:
- Whether
ASR_ENGINEis configured correctly - Whether
DASHSCOPE_API_KEYis valid - Whether the microphone device number
DEVICEis correct
7.3 Recognition Succeeds but OpenClaw Does Not Respond
Check first:
- Whether
OPENCLAW_CONFIG_PATHis correct - Whether the gateway port in
openclaw.jsonis normal - Whether the OpenClaw gateway has started
7.4 Can Recognize but No Voice Broadcast
Check first:
- Whether
ENABLE_TTSistrue - Whether
SPEAKER_DEVICEis correct - Whether the speaker is properly connected
7.5 Serial Wake Failure
Check first:
- Whether
ENABLE_SERIAL_WAKEistrue - Whether
MIC_SERIAL_PORTis correct - Whether
MIC_SERIAL_BAUDRATEis correct - Whether the voice module serial device has been recognized by the system
8. Recommended Debugging Order
It is recommended to troubleshoot the voice pipeline in the following order:
- First confirm the
.envfile exists - Then confirm
DASHSCOPE_API_KEYhas been filled in - Start the program and confirm no immediate errors
- Check if wake is working
- Check if recognition is working
- Check if OpenClaw has received the text
- Finally check TTS broadcast