ドキュメント作成の準備

This commit is contained in:
Akira
2026-03-03 12:56:26 +09:00
parent 07258bb46d
commit 1be261c95f
6 changed files with 965 additions and 7 deletions

View File

@@ -121,17 +121,43 @@ Amazon の `/api/behaviors/preview` エンドポイントが、
---
## 次に試すべきこと
## 試行ログ続き2026-03-03 午後)
- [ ] `auth4.js` Cookie 新規取得してテスト(セッションリセット
- [ ] `/api/behaviors/preview` 以外のエンドポイントを探す(例: `/api/ap/d-notification`など)
- [ ] `Alexa.TextCommand` ノードタイプ(「テキストで命令を送る」別ルート)
- [ ] ローカルブリッジ方式ローカルPCをプロキシにしてAmazonにリクエストを転送する
- [ ] alexa-cookie / alexa-remote2 のソースコードから別APIを調査する
#### Cookie 新規取得auth4.js 再実行
→ 変化なし。Cookie は原因ではなかった。
#### ❌ `AlexaAnnouncement` ノードタイプ
→ 「えんえせんと」("AlexaAnnouncement" を日本語で読んだ)。コンテンツではなくノード名が読まれた。別用途のノード。
#### ✅ **解決!** `sequenceJson` の non-ASCII を `\uXXXX` エスケープに変換
```javascript
var rawSequenceJson = JSON.stringify(sequenceObj).replace(
/[\u0080-\uffff]/g,
function(c) { return '\\u' + ('0000' + c.charCodeAt(0).toString(16)).slice(-4); }
);
```
→ 「これは日本語のテストです」が完璧に発話された!
---
## ✅ 解決済み2026-03-03
**根本原因**: `sequenceJson` 内の日本語文字を raw UTF-8 のまま Amazon に送ると、Amazon 側のパーサーがそれをフィルタリングして無視する。
**解決策**: `JSON.stringify(sequenceObj)` 後に non-ASCII 文字(`\u0080` 以上)を `\uXXXX` 形式のJSONエスケープシーケンスに変換してから `sequenceJson` として送る。
**修正箇所**: `alexa-api/server.js``alexa-api/test_tts.js`
**確定したパラメータ**:
- `type: 'Alexa.Speak'`
- `locale: 'ja-JP'`
- `textToSpeak: <日本語テキスト>`
- `sequenceJson` は non-ASCII を `\uXXXX` エスケープして送る
---
## 参考
- 実装記録: `docs/alexa-api/10_Alexa TTS API 実装記録 (2026-03-02).md`
- 上記ファイルに記録されていた未解決事項がこのファイルに続く