音声会話のキャラクター設定
利用条件と保存する目的
PRO開発版 0.35.40 の先行提供機能です。月島 灯の紹介サイト 1.4.0 のMyMem Connect、AIボイスチャットの性格選択で使います。公開マニュアルの主版0.35.43・通常配布版の全利用者に導入済みという意味ではありません。
性格、話し方、名前の読みを会話ごとに適用します。Webから接続した設定は、その会話の設定として保持します。MyMem全体の性格プロファイルへ自動登録したり、既存の会話を変更したりしません。設定内容はAIへの会話指示に含まれます。マイクの音声認識とSupertonicによる読み上げはChrome内で行います。
性格プロファイルの読み方・話し方
MyMemに保存した性格プロファイルには、任意の profile.speech を持てます。既存の名前・性別・Big Five・興味・補足に追加する情報です。
| JSONの項目 | 内容・型 | 参照する画面・処理 |
|---|---|---|
profile.speech.shortName | 短い表示名・文字列 | 自己紹介などの音声で名前を読む対象 |
profile.speech.nameReadings.<言語>.full | フルネームの読み・文字列 | 音声合成へ渡す文章だけを書き換え |
profile.speech.nameReadings.<言語>.short | 短い名前の読み・任意文字列 | 名前と判別できる短縮形の読み上げ |
profile.speech.nameReadings.default | 言語別の読みがない場合の読み | 対象言語→基本言語→defaultの順で参照 |
profile.speech.style.intent | 言語共通の会話方針・文字列 | AIの性格指示 |
profile.speech.style.locales.<言語>.guidance | その言語での話し方・任意文字列 | 選んだ返答言語に合う指示だけを追加 |
profile.speech.style.locales.<言語>.phrases | 相づちなどの例・任意文字列配列 | 毎回の語尾へ固定せず、場面に合わせて使用 |
名前の表示・会話履歴は漢字のままです。たとえば「月島 灯」の日本語音声には「つきしま あかり」を渡します。「灯台」など名前ではない語は置換対象にしません。言語ごとの読みと文例は最大32種類で、未知の実行命令やモデルURLを追加する用途には使えません。
完全なプロファイルはLocal StorageまたはChrome localの mymem_profiles.profiles[].profile.speech と、IndexedDB mymem_profiles_db の profiles ストアにある各レコードの profile.speech に含まれます。プロファイルIDは既存の選択設定から対象を探すキーで、会話本文のIDとは別です。Chrome syncの最小一覧はID・名前が中心で、完全な話し方データの複製先ではありません。
ZIPと復元
バックアップZIPの indexeddb/mymem_profiles_db.json では stores.profiles[].profile.speech を参照します。storage.json に収録される完全なプロファイル設定にも含まれます。現在のプロファイル読込み・編集保存・プロファイルJSONの入出力は、有効な任意項目を保持します。古い編集画面が話し方を扱わない場合も、現在の保存処理は既存値を引き継ぎます。
バックアップ形式6、プロファイルDBのversion1を維持しています。旧データに speech がなくても従来の性格設定を読み込めます。旧版へ戻して編集保存する場合は、旧版が未知の任意項目を落とす可能性があります。復元前のZIPを残してください。過去の平坦なプロファイルと、現在の入れ子の profile の双方を読み込みます。
会話ごとの設定とバックアップの範囲
AIボイスチャットのタブには tab.data.workspaceState.character を持ちます。Chrome sessionの mymem.workspace.surface-session.v2.* に保存するワークスペースの一部で、タブの再表示に利用します。
| 項目 | 内容 |
|---|---|
version | 選択形式の版。現在1 |
mode | akari / mymem / profile / web |
profileId | profile の場合、保存済み性格プロファイルを参照 |
profile | 灯またはWeb接続の名前・Big Five・話し方などの設定の写し |
profileSource | 灯の設定が site からか、取得失敗時の bundled か |
sourceUrl | Web接続元。ブラウザーが確認したURLからクエリー・フラグメントを除去 |
profile.revision | 紹介サイト側の設定の識別用文字列・任意 |
profile.welcome | 言語別の案内。title・message、任意のsuggestions、call.incoming / call.connected |
灯の通常選択では公式サイトの公開JSONを取得し、失敗時は拡張の同梱設定を使います。一度読み込んだ設定は会話内で保持します。サイトを更新した後は、新しい会話で新しい設定を読み込みます。旧タブに character がない場合は灯を初期選択にします。
Web接続時の mymem_pending_markdown_request はChrome sessionの一時的な受渡しです。destination: ai-voice-chat、接続元タブと設定を渡し、性格プロファイルの恒久保存やDBの関連付けは作りません。ワークスペースの会話設定とこの受渡し情報は、今回ZIPやDuckDBへ追加していません。ブラウザーのsession保持とバックアップからの復元は別です。
DuckDBの参照への影響
物理テーブル・列・キー・制約・インデックス・ビューの変更はありません。稼働DBとバックアップの複製範囲に新しい差はありません。従来のSQLはそのまま使えます。この任意JSONの参照例は、ZIPを展開した場所で実行します。
SELECT json_extract_string(to_json(p), '$.id') AS profile_id,
json_extract_string(to_json(p), '$.profile.ai_name') AS ai_name,
json_extract_string(to_json(p), '$.profile.speech.nameReadings.ja.full') AS reading_ja
FROM read_json_auto('indexeddb/mymem_profiles_db.json'),
UNNEST(stores.profiles) AS profile_rows(p);
読み方がない旧形式では reading_ja がNULLになります。会話タブの設定をこのJSONから探すことはできません。例は架空の新旧プロファイルを使って確認し、利用者の会話・認証情報は使いません。
関連ページ
AIボイスチャット · 性格設定 · 全列と型 · ダウンロードデータの概要