句を入れて背景を選ぶと、置き場所を測って組み、落款まで押す。ブラウザだけで完結する。
画面の設定はそのまま CLI の引数になる。同じ引数を打てば同じ絵が出る。
—
真昼の順光・彩度高め・スマホ写真の素直さ。hikari / hikari_food の2スタイル。
prompt 側に「右3分の1に何も無い平らな面を作る」を入れてある — 被りは後で消すより先に空けておく方が効く。
句が先にあって、題材と画風を句から決めた。絵に合わせて句を選んだのではない。
カテゴリは結果として 植物 / 生活 / 人 / 概念 / 風景 に散った。
T02 / T10 / T17 の3枚は破綻していたので作り直した — 人体はAI生成で最も壊れるので、人を描かず人の痕跡(脱いだ靴・身体の形を残した毛布・誰も居ない机)に振り替えた。3枚とも破綻ゼロ。
8/24 の夜に振った見た目の振れ幅。紙(1–6) / 落款(7–9) / 書体(10–13) / 画風(14–19)。 1–13 は 生成モデルを一切通していない — 紙も文字組みも PIL で手続き的に作っている。
フォントを四角に置いたものではない。篆刻の作り方を変換として入れてある: ①線幅を揃えて太らせる ②字を印面いっぱいに詰める ③石の欠け・枠の太細・印泥のかすれ。 太さは掃引して、枕 の点が繋がって読めなくなる手前に置いた。
正本は study/kucho.tsv(句帳)。音数は gen/onsu.py で数え直して照合済み(拗音は直前に付いて0、っ・ん・ー は1)。賞は未発表30句なので、公開済みの句を応募に入れようとすると kucho.py が exit 2 で弾く。
| id | 句 | 音数 | 型 | 季語 | 季節 | 公開 |
|---|
手元の名句 2,455句(不器男178 / 茅舎278 / 鳴雪549 / 普羅388 / たかし688 / 放哉374)と、
自作を同じ物差しで測った。study/shindan.py で再現できる。
⛔ 目的は名句の分布に一致させることではない。一致させたらただの模倣になる。
見たいのは「一度も使っていない型」— 下手なのではなく選択肢に入っていないものを見つけたい。
⚠ 測る項目は結果を見る前に決めてある(後から都合のいい指標を選ばないため)。
① 上五の「〜や」を名句の2.8倍使っていた
② 「かな」で終わる句が1つも無かった(名句は5句に1句)
③ 句末を体言で止める句が名句の半分しかない = ほとんど動詞で終わっていた
④ ⭐いちばん大きい穴は「切れの位置」だった
名句で「や」を使う637句のうち 上五49% / 中七46% とほぼ半々。
自作は 上五95% / 中七2%。技の半分を持っていなかった。
中七で切ると「12音の具体 + や + 5音の季語」になり、
二つの像が説明抜きで並ぶ(取り合わせ)。私の句は
「季語や + その説明」ばかりで、説明しすぎていた。
⇒ 直した結果(直近30句): 中七切れ 2%→50% / 句末体言 12%→93%
⚠ ただし今度は別の方に振れている:
・けり と かな が 0% に戻った(意識を向けた項目しか動いていない)
・漢字率が 46.6% → 55.1% に上がった
名詞で終わらせて具体物を並べると、漢字が増えて句が硬くなる
目的は名句の分布に一致させることではなく、手を全部持つこと。
癖を見つけては直す、を5回やった。5回とも目標を通り越して反対の端まで行っていた。 しかもこれは1バッチずつ見ている限り「直った」と読める。6バッチ並べて初めて見えた。
狙った項目 名句(目標) 直す前 直した後 上五で切る 12.6% 45.5% 0.0% けり 7.3% 0.0% 20.0% 句末が体言 37.2% 15.0% 86.7% 中七で切る 11.9% 0.0% 100.0% ← 15句が全部同じ構造 漢字率 46.6% 56.0% 24.5% やっていたのは調整ではなく置き換えだった。 「この型を使っていない」と気づくと、次の15句がその型だけになる。 技を1つ増やしたのではなく、排他的な型を別の排他的な型に取り替えていた。 ⛔ これは賞にとって致命的。30句を通して読む選者が最初に見るのは 題材と型の重複なので、この作り方だと 「5句ずつ6ブロックの、ブロック内が全部同じ形の30句」になる。
バッチ単位で型を決めるのをやめ、書く前に1句ずつ形を割り当てた。 予測も先に書いた:「どの型も40%を超えない」。結果:
名句 この20句 上五で切る 12.6% 15.0% 中七で切る 11.9% 10.0% かな 21.3% 15.0% けり 7.3% 10.0% 句末が体言 37.2% 40.0% 漢字率 46.6% 41.1% 6バッチ目にして初めて、0% も 100% も出なかった。 ⚠ ただし n=20 なので、この数字から言えるのは 「どの型も極端に振れなかった」までで、 「名句の分布に一致した」ではない。15% と 12.6% の差は20句なら3句と2.5句で、 個別には意味がない。意味があるのは 0% と 100% が消えたこと。
句帳の全句を、X / Instagram / note の画面の形に流し込んだもの。画像はその場で焼いていて、「作る」タブと同じ関数を通っている。Instagram と note は押すと開く。
いいね数と時刻はまだアカウントが無いので入れていない。ここで見たいのは、句がどこで折り返すか・画像がどう切れるか・並んだときにどう見えるか。
本体=画像+句、リプ=季語の解説。無料枠は 280 weighted characters = 日本語140字
(CJK=2 / ASCII=1 / URL=23固定)。下の実例は gen/xlen.py で実測して全部収めてある。
【本体】57/280 【リプ】274/280
秋の風ここに句が入る五七五 季語は「秋の空」。三秋。
筆枕 夏の空との違いは高さと乾きにある。湿気が抜けて
雲が薄くなり、青が深くなる。同じ空でも「夏空」は
#俳句 #写真俳句 #一日一句 近く、「秋の空」は遠い。
この句は空を直接詠んでいない。壁の郵便受けの影が、
いつもより鋭く長い。それだけを書いた。空の高さは、
影の側からしか見えなかった。
note の実測で ♡/フォロワー が高い群は 少投稿 × 長文随筆に句を埋める 形をしていた (兄弟航路 fo1,267 で中央203♡=16.0% / Kusabue fo21,901 で162♡=0.74%)。 ⚠ 頻度・ジャンル・フォロワーの出所が交絡しているので「長文が正しい」の証拠ではない。 一貫していたのは「1句だけ載せる形式は ♡/fo が低い側に固まる」まで。
1. 季節の観察から入る(季語の解説から入らない) 2. 季語の説明は途中に、短く 3. 句は太字で1行、前後に空行 — 長文の中で句だけが立つように 4. 1記事に2〜3句(1句だと記事にならず、5句以上だと1句あたりが薄まる) 5. 最後に「これからどうするか」を1行
無認証で取れる経路が無かった(explore/tags は302でログインへ転送、
web_profile_info は400)。だから下の型は X と note の実測からの演繹で、
Instagram 自体の実測ではない。アカウントを作ったら中から測って書き直す。
1行目に句だけ(プレビューで最初に見えるのが句になる) 数行あけて短い散文 — X のリプに書く内容をここに畳む 季語の説明を2〜3行 ハッシュタグは最後にまとめる(日本語+英語。英語圏の haiku タグは母数が大きい)
1. 画像を縦の帯に切り、帯ごとに測る
・うるささ = 輝度の勾配の平均
・沈む画素 = 白文字なら上位5%の明るさ / 黒文字なら下位5%
x と y の両方を動かして、一番静かで明暗が離れている所を選ぶ
2. その帯の明るさから文字色(白/黒)を自動で決める
3. それでも足りなければ、その帯にだけ薄いすだれを敷く
⚠ すだれが毎回焚かれるなら、背景の作り方が悪いという合図
→ 発火したかは必ず画面に出す
4. 落款を必ず押す
# 背景を作る(ComfyUI + Z-Image)
python3 gen/zgen.py --style hikari --subject "<英語で情景>" \
--out FB07 --width 1200 --height 1200 --turbo --no-wait
python3 gen/collect.py # 焼き上がりを回収
# 句を焼いて落款を押す
python3 gen/compose.py --bg out/FB07_hikari.png --ku "<句>" \
--seal 筆枕 --seal-style hakubun --out W07 --explain
# 音数を数える
python3 gen/onsu.py "秋の風ここに句が入る五七五|あきばれや/ろめんでんしゃの/きてとまる"
# 落款の意匠を並べて見る
python3 gen/seal.py --sheet
同梱している7書体は全部 SIL Open Font License 1.1(商用可・埋め込み可)。 macOS 同梱の書体(凸版文久明朝・游明朝・Klee)は試作でしか使っていない。 ⚠ 中国語字形の書体(Hiragino Sans GB / STHeiti / Songti)は名前が漢字でも 「顔」「涼」の細部が中国のものになるので使わない。