Simu

SIMU1

レシピコードの形式

バージョン 1 · 最終更新:2026年10月8日

Simu コードは、フィルムレシピ 1 つ、または 7 つのカスタム登録からなるキット 1 つをまるごと収めた短い文字列です。サーバー、アカウント、ネットワークは必要ありません。

秋影流光 · Classic Chrome · DR200
SIMU102KQY54AEMG0TN3B

このページは形式をすべて記載しており、誰でも自分のサイト、スクリプト、カメラアプリから、許可を求めずに Simu コードを作れます。暗号化も隠された部分もありません。文字列が短いのは、20 の設定が約 11 バイトに収まるためです。

構造

SIMU1 02KQY54AEMG0TN3B
│     └── ペイロードの Crockford base32
└──────── "SIMU" + 形式のバージョン(数字 1 桁)

ペイロード = [フラグ: 8] [本体 …] [バイト境界までの埋め] [CRC-8: 8]

知っているより新しいバージョンのコードを見つけた読み取り側は、内容を推測せず、そのコードを拒否しなければなりません。

フラグバイト

値意味
0レシピ 1 つ。本体は 1 つのレコード
1キット。本体は [件数−1: 3]、続いてその件数分の [登録番号−1: 3][レコード]

登録番号は 1〜7 で、キットは 1〜7 件を含みます。キットに含まれないカスタム登録はコードにないだけで、空という意味ではありません。カメラのその登録はそのまま残ります。

レコード

まず 18 ビットの存在マスクが、最上位ビットから、下の表のフィールド順に並びます。続いて、1 のビットごとに同じ順で、そのフィールドの値をそのフィールドのビット幅で書きます。ビットが 0 のフィールドには何も書きません。

この形式が 20 個の数値の並びでない理由は、このマスクにあります。シャドウに触れていないレシピは、シャドウ 0 を求めるレシピではありません。この 2 つを区別できない形式では、誰も選んでいない値が受け取る側のカメラに渡ります。

フィールド

#フィールドビット値(インデックス順)
0フィルムシミュレーション5Provia, Velvia, Astia, PRO Neg. Hi, PRO Neg. Std, Monochrome, Monochrome + Yellow, Monochrome + Red, Monochrome + Green, Sepia, Classic Chrome, Acros, Acros + Yellow, Acros + Red, Acros + Green, Eterna, Classic Neg., Eterna Bleach Bypass, Nostalgic Neg., Reala Ace
1Dレンジ優先2Off, Weak, Strong, Auto
2ダイナミックレンジ2DR100, DR200, DR400, DR Auto
3モノクロカラー(暖・寒)6−18 … +18、刻み 1
4モノクロカラー(マゼンタ・グリーン)6−18 … +18、刻み 1
5グレイン・エフェクト3Off, Weak / Small, Strong / Small, Weak / Large, Strong / Large
6カラークローム・エフェクト2Off, Weak, Strong
7カラークローム ブルー2Off, Weak, Strong
8スムーススキン・エフェクト2Off, Weak, Strong
9ホワイトバランス4 (+11)下記参照
10ホワイトバランスシフト 赤5−9 … +9、刻み 1
11ホワイトバランスシフト 青5−9 … +9、刻み 1
12ハイライト4−2 … +4、刻み 0.5
13シャドウ4−2 … +4、刻み 0.5
14カラー4−4 … +4、刻み 1
15シャープネス4−4 … +4、刻み 1
16高感度ノイズ低減4−4 … +4、刻み 1
17明瞭度4−5 … +5、刻み 1

値は英語名で記載しています。デコーダーが使う名前と同じです。

数値フィールドのインデックスは (値 − 最小値) / 刻み です。

この順番は変わりません。新しい設定は末尾に追加し、バージョンを上げます。既存のフィールドは動かしません。動かすと、すでに出回っているすべてのコードの意味が気づかれないまま変わるためです。

ホワイトバランス

インデックス 0〜12 は次のとおりです:Auto, Daylight, Incandescent, Underwater, Fluorescent 1, Fluorescent 2, Fluorescent 3, Shade, Custom 1, Custom 2, Custom 3, Auto White Priority, Auto Ambience Priority。

インデックス 13 は色温度を表し、この形式で後ろに続きがある唯一の値です。さらに 11 ビットで (kelvin − 2000) / 10 を保持します。そのため 6300K は一覧の近い値に丸められず、正確に保たれます。

含まれないもの

ISO と露出補正。実際には「ISO 6400 まで」のような自由記述で、カメラに書き込まれることもありません。これらを入れると、短さに価値がある形式に可変長の文字列が入ることになります。この 2 つは読める行のほうに書きます。

チェックサム

CRC-8/ATM:多項式 0x07、初期値 0、最終 XOR なし。それより前のすべてのバイトに対して計算します。

省略はできません。メッセージアプリは改行を入れたり途中で切ったりします。末尾が欠けても一見正しいレシピに解読されるコードは、拒否されるコードより悪い結果になります。解読されれば、正しくても誤っていても、20 の設定が誰かのカメラに書き込まれます。

文字セット

Crockford base32。1 文字 5 ビット、最上位ビットから並べ、末尾はゼロで埋めます:

0123456789ABCDEFGHJKMNPQRSTVWXYZ

I・L・O・U は含みません。コードは写真から手で書き写されるため、読み取り側は小文字も受け付け、I と L を 1、O を 0 として読みます。出力は大文字のままにします。QR コードは英大文字と数字をより密なモードで符号化でき、テーブル越しに読み取れるかどうかはこれで決まります。

送り方

2 行で足り、1 行目が大切です。Simu を持っていない人には、コードだけでは何も伝わりません。

秋影流光 · Classic Chrome · DR200
SIMU102KQY54AEMG0TN3B

質問、または Simu コードのデコーダーを作ってここにリンクを載せたい場合: developer@simurecipes.com