Install
openclaw skills install senseaudio-game-npc-directorUse when a game, interactive story, or virtual world needs reusable NPC voice behavior, including fixed voice identity, catchphrases, relationship-aware dialogue, player voice intake through AudioClaw ASR, task briefings, narration, and event announcements synthesized with AudioClaw.
openclaw skills install senseaudio-game-npc-directorThis skill is for building low-cost, high-immersion voice assets for games and interactive worlds.
It treats voice as part of the world model, not just a final rendering step.
You can use it to give each NPC:
Generate:
with one consistent NPC voice.
Use the same NPC voice but adjust line style based on:
This makes the world feel reactive without needing fully hand-authored voice libraries.
Use AudioClaw ASR to transcribe a player's spoken line, then generate a relation-aware NPC reply.
This is the bridge from:
to:
Generate voiced lines for:
Generate short lore or ambient narration using one narrator voice or one faction-specific voice.
voice_idscripts/senseaudio_asr.py, then build NPC reply lines from the transcriptscripts/build_npc_scene_manifest.py or scripts/build_npc_reply_from_player.py.scripts/batch_tts_scene.py with the fixed voice_id.
voice_id.vc-..., and can be passed directly with --clone-voice-id.vc-..., scene synthesis now auto-routes to SenseAudio-TTS-1.5.scripts/send_npc_scene_to_feishu.py, or add --send-feishu-audio to scripts/run_player_voice_npc_pipeline.py.
.mp3 lines into .ogg/.opus and sends them one by one as real audio messages.scripts/run_player_voice_npc_pipeline.py can now take either --input-audio or --input-text, so ongoing NPC dialogue does not need to drop back to text just because the player typed instead of speaking.Use this skill as a mode-based session.
Recommended user trigger:
进入 NPC 模式,用 $senseaudio-game-npc-director。
NPC:雾港档案官阿砚
关系:trusted
地点:北码头
目标:找回失踪账册
clone voice_id:your_clone_voice_id
后面我发语音,你都按这个设定回复。
After mode entry, the agent should keep session state with:
voice_idvoiceFor each new player turn:
scripts/run_player_voice_npc_pipeline.py --input-audio ....scripts/run_player_voice_npc_pipeline.py --input-text ... so the reply stays on the same voice pipeline.--send-feishu-audio so the generated NPC lines are sent one by one as Feishu audio messages.NPC mode should be sticky inside the same session:
If the user asks to switch voice, only swap the configured voice_id; keep the same NPC profile and relationship state.
voice_id hereFor the NPC generation side of this skill:
SENSEAUDIO_API_KEYPractical rule:
scripts/batch_tts_scene.py and scripts/run_player_voice_npc_pipeline.py now default to SENSEAUDIO_API_KEYSENSEAUDIO_API_KEY as a login token such as v2.public..., the shared bootstrap replaces it with the real sk-... value from ~/.audioclaw/workspace/state/senseaudio_credentials.json before the TTS stage startsscripts/build_npc_scene_manifest.py
scripts/senseaudio_asr.py
sense-asr-deepthink modelscripts/build_npc_reply_from_player.py
scripts/run_player_voice_npc_pipeline.py
--input-audio, --input-text, --stream-asr, --clone-voice-id, and --send-feishu-audioscripts/batch_tts_scene.py
scripts/send_npc_scene_to_feishu.py
references/npc_voice_design.md
references/asr_player_loop.md