v2完整版:VoxCPM2语音 + 多轮对话 + 文档重写
- 用VoxCPM2生成128条v2语音(林夏回应+NPC反应+Round3对话) - story.js全部切换到VoxCPM2音频路径 - engine.js: BGM音量减半(0.2→0.1)、MSG-14前导语支持、结局E用周南新语音 - 林夏.md完整重写:6手势交互、主角有声音、VoxCPM2本地TTS方案 - batch_tts_voxcpm.py: 新增linxia角色、修复self_3y音色、添加全部v2台词 - 新增voice/linxia/参考音色 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
+21
-10
@@ -78,7 +78,7 @@ class GameEngine {
|
||||
|
||||
await Snd.startAmbience(AMBIENCE_DEFAULT, { vol: 0.15 });
|
||||
await sleep(1500);
|
||||
Snd.startBGM(`${MUS}/lv11_bgm_m1_main_loop_v1.mp3`, { vol: 0.2 });
|
||||
Snd.startBGM(`${MUS}/lv11_bgm_m1_main_loop_v1.mp3`, { vol: 0.1 });
|
||||
await sleep(1500);
|
||||
|
||||
this._next();
|
||||
@@ -208,15 +208,25 @@ class GameEngine {
|
||||
this.state = 'responding';
|
||||
await this._playVoiceAsync([msg.autoReply]);
|
||||
|
||||
// 条件反应(MSG-14:根据 MOM_LINK 播放不同反应)
|
||||
// 条件反应(MSG-14:先播前导语"真的没事?",再根据 MOM_LINK 播放不同反应)
|
||||
if (!this._skipRequested && msg.autoReact) {
|
||||
const val = this.vars[msg.autoReact.condition];
|
||||
const reactUrl = val ? msg.autoReact['true'] : msg.autoReact['false'];
|
||||
if (reactUrl) {
|
||||
this.state = 'reacting';
|
||||
this.state = 'reacting';
|
||||
// 前导语(如"真的没事?")
|
||||
if (msg.autoReactPreamble) {
|
||||
await sleep(500);
|
||||
if (!this._skipRequested) {
|
||||
await this._playVoiceAsync([reactUrl]);
|
||||
await this._playVoiceAsync([msg.autoReactPreamble]);
|
||||
}
|
||||
}
|
||||
// 条件分支反应
|
||||
if (!this._skipRequested) {
|
||||
const val = this.vars[msg.autoReact.condition];
|
||||
const reactUrl = val ? msg.autoReact['true'] : msg.autoReact['false'];
|
||||
if (reactUrl) {
|
||||
await sleep(400);
|
||||
if (!this._skipRequested) {
|
||||
await this._playVoiceAsync([reactUrl]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -253,7 +263,7 @@ class GameEngine {
|
||||
this.msgState[msg.id] = 'read';
|
||||
this.vars.UNREAD = Math.max(0, this.vars.UNREAD - 1);
|
||||
|
||||
if (msg.bgm) Snd.startBGM(msg.bgm, { vol: 0.2 });
|
||||
if (msg.bgm) Snd.startBGM(msg.bgm, { vol: 0.1 });
|
||||
|
||||
// 系统通知(时光胶囊)
|
||||
if (msg.type === 'system_notification') {
|
||||
@@ -687,9 +697,10 @@ class GameEngine {
|
||||
async _endingE() {
|
||||
Haptic.message();
|
||||
SFX_UI.notify();
|
||||
await sleep(1500);
|
||||
// 周南秒回:"那我下次出差来北京,请你吃饭好不好。"
|
||||
await this._playVoiceAsync([`${T}/v2_ending_e_zhounan_wav_v1.mp3`]);
|
||||
await sleep(2000);
|
||||
Snd.playVoice([`${TDIR}/lv11_sys_goodnight_wav_v1.mp3`]);
|
||||
await sleep(3000);
|
||||
SFX_UI.ending();
|
||||
await sleep(1000);
|
||||
this._showCaption('好。');
|
||||
|
||||
Reference in New Issue
Block a user