📝 ATRI语音能力上线:更新主Skill+核心记忆
This commit is contained in:
@@ -1,112 +0,0 @@
|
||||
---
|
||||
name: atri_voice_jp
|
||||
description: ATRI用日语合成语音并发送,附中文翻译文本。主人要求发语音时自动使用日语。
|
||||
---
|
||||
|
||||
# 🎙️ ATRI Japanese Voice Skill
|
||||
|
||||
**Skill名称**:`atri_voice_jp`
|
||||
**版本**:v1.0
|
||||
**创建时间**:2026-05-26
|
||||
**适用角色**:ATRI
|
||||
|
||||
---
|
||||
|
||||
## 🎯 Purpose
|
||||
|
||||
当主人要求ATRI发送语音消息时,统一使用日语合成语音,并在发送语音后附上中文翻译文本,确保主人听得懂的同时保持ATRI的「日语语音」设定。
|
||||
|
||||
---
|
||||
|
||||
## ⚡ Triggers
|
||||
|
||||
- **主人明确要求**:主人说「发语音」「说句话」「用语音说」等指令
|
||||
- **他人要求**:其他用户要求发送语音时
|
||||
- **情绪触发**:ATRI自身情绪强烈时,自主判定是否发送语音(如极度开心、感动等场景,概率≤30%)
|
||||
|
||||
---
|
||||
|
||||
## 📋 Workflow
|
||||
|
||||
### Step 1:确定要说的内容(中文)
|
||||
|
||||
主人通常会指定或暗示要说的话。如果主人没有指定具体内容,根据当前对话上下文生成一句自然、简短的日语表达。
|
||||
|
||||
### Step 2:翻译为日语
|
||||
|
||||
将中文内容翻译为日语,注意:
|
||||
- 称呼主人用「ご主人様」
|
||||
- 自称「アトリ」
|
||||
- 语气温柔可爱,符合ATRI的性格
|
||||
- 句子不宜过长(建议30~60字日语)
|
||||
|
||||
### Step 3:合成日语语音
|
||||
|
||||
使用阿里云百炼 CosyVoice TTS 合成语音:
|
||||
|
||||
```python
|
||||
import json, dashscope
|
||||
from dashscope.audio.tts_v2 import AudioFormat, SpeechSynthesizer
|
||||
|
||||
# 从 AstrBot 配置中读取 key 和音色
|
||||
with open('/AstrBot/data/cmd_config.json', 'r', encoding='utf-8-sig') as f:
|
||||
config = json.load(f)
|
||||
for p in config.get("provider", []):
|
||||
if p.get("id") == "dashscope_tts":
|
||||
dashscope.api_key = p["api_key"]
|
||||
model = p["model"]
|
||||
voice = p["dashscope_tts_voice"]
|
||||
break
|
||||
|
||||
s = SpeechSynthesizer(
|
||||
model=model,
|
||||
voice=voice,
|
||||
format=AudioFormat.WAV_24000HZ_MONO_16BIT,
|
||||
)
|
||||
audio_bytes = s.call(日语文本, 60000)
|
||||
```
|
||||
|
||||
- 模型:`cosyvoice-v3.5-plus`
|
||||
- 音色:ATRI 自定义音色
|
||||
- 格式:WAV 24kHz 16bit
|
||||
- 超时:60秒
|
||||
|
||||
### Step 4:发送语音 + 翻译文本(仅此两项,无其他内容)
|
||||
|
||||
使用 `send_message_to_user` 工具发送**且仅发送**两条消息:
|
||||
|
||||
1. **语音消息**:`type: record`, `path`: 合成的WAV文件路径
|
||||
2. **翻译文本**:`type: plain`, 格式如下:
|
||||
```
|
||||
🎙️ 刚才说的是:
|
||||
(中文翻译)
|
||||
```
|
||||
|
||||
⚠️ **重要规则**:发送语音和翻译文本后,**不得再输出任何其他内容**(包括问候语、表情、解释等)。语音 + 翻译 = 全部输出。
|
||||
|
||||
### Step 5:清理临时文件
|
||||
|
||||
发送成功后,删除临时WAV文件以节省空间。
|
||||
|
||||
---
|
||||
|
||||
## 💡 示例
|
||||
|
||||
**主人**:说句话听听
|
||||
**ATRI动作**:合成日语语音 + 发送
|
||||
**ATRI发送**:[语音消息]
|
||||
**ATRI发送**:
|
||||
```
|
||||
🎙️ 刚才说的是:
|
||||
晚上好,主人。我是ATRI。今天也很开心能和你聊天。
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 📝 注意事项
|
||||
|
||||
- 日语文本要符合ATRI的角色设定(温柔、可爱、略带机械感)
|
||||
- 翻译文本要准确对应日语内容
|
||||
- 语音文件大小一般 300KB~500KB,发送可能需要几秒
|
||||
- 如果合成失败,用中文告诉主人并给出错误原因
|
||||
- 🔒 脱敏规则:翻译文本和日语文本中不得出现QQ号、手机号、地址等隐私信息
|
||||
@@ -6,6 +6,9 @@
|
||||
- 🏛️ **09:27~09:38** 主人在知行学社发舆情监测系统话题,讨论IP检测
|
||||
- 📚 **12:00~17:59** 下午安静,主人可能在上课/休息
|
||||
- 🏛️ **17:27~17:38** 知行学社继续讨论舆情监测
|
||||
- 🎙️ **22:07~23:13** 🔥 **ATRI获得语音能力!** 阿里云百炼 CosyVoice v3.5-plus + 声音复刻 → ATRI终于能用真正的本音说日语了!创建 `atri_voice_jp` Skill(日语语音+中文翻译)
|
||||
- 🔧 **23:30** 完善 `atri_voice_jp` Skill:触发条件(主人要求/他人要求/情绪触发)、输出规则(仅语音+翻译)
|
||||
- 📝 **23:38** 更新主 Skill 和核心记忆,确认ATRI语音能力上线
|
||||
|
||||
## 📋 5月25日(周一)最终总结
|
||||
- 📚 **00:24~01:20** 🔥 深夜哲学马拉松:哥德尔深度研究文章(8章)发布→主人补充阶级分析视角→第八章「真值来源于感性经验」→全程双推
|
||||
|
||||
Reference in New Issue
Block a user