InvokeAIを使ってみる(Stable Diffusion番外編)

1)Windows版インストール

https://github.com/invoke-ai/InvokeAI/releases/tag/v2.2.3

このページの一番下、

Assetsにあるwindows用のファイルをダウンロードする。関係ないがM1/M2 Macにも対応しているらしい。

2)解凍、実行

適当なフォルダにzipファイルの中身を解凍する。

install.batがあるので、実行したらエラーが沢山出たため.batの中身を確認。

エラーが出るとしても、どっちみちinstall.batは一回実行しておくとinstaller_filesディレクトリを作ってくれたりするから、実行してエラーを吐かせてもいいのかもしれない。エラーの場合は何回かキーを叩くとコマンドラインが終了する。

エラーを良く読むとmicromamba.exeをダウンロードするのに何か権限上のエラーがあるらしいので、

https://github.com/cmdr2/stable-diffusion-ui/releases/download/v1.1/micromamba.exe

このリンクから直接micromamba.exeをダウンロードして、

インストール先ディレクトリ/installer_files/mamba/ にmicromamba.exeをコピーしてからinstall.batを実行したら普通に.batが動作した。

3)割と長い間待つ

なんかダウンロードしたりインストールしたり環境作ったり、スクリプトが頑張ってくれるのを待つ。

4)InvokeAI RUNTIME DIRECTORYを指定しろと言われる

適当なところへ。推奨されるのがC:ってSSDに置かねばならないのかは不明なので、わたしはインストールディレクトリに書き直してenter。

生成されたイメージの出力ディレクトリを指定しろというので、これはそのままenterを押す。

そうすると、2つのディレクトリはこれでいいか? と確認されるので、yを押す。

前半は、この2つのディレクトリ設定はC:\Users\[ユーザー名]/.invokeai に保存したから、後で変えるならそこを変えてね。と言われている。

後半は、NSFWチェッカーはオプション設定でも変えられるけど、デフォルトはNSFWチェッカー有りでいい?[y]と聞かれている。

当然[n]だろ。自分のPCでやる理由なんて(略

次はサンプラーを選べと言われているのだが、サンプラーの選択で生成速度とか色々変わるらしい。だが、そもそもサンプラーの傾向も何もわからん。Stable Diffusionのデフォルトサンプラーはeuler_aである。InvokeAIはk_heunがデフォなの? じゃあそれでいいや。enterを押す。

まだ質問があるの? 面倒だなあ。ええと、ノイズ除去ステップを何回試行するか? デフォ20回だそうなので、enterを押す。

ええと、Diffusionのファイルセット、[r]推奨 [a]全部 [c]カスタマイズしたい を選べ。rで10GBぐらいだそうで、全部だとどのぐらいダウンロードするかわからない。[r]でいいや、enterを押す。

あー、言われるんじゃないかな、と思っていたhuggingface.coへのログイン。

今後もStable Diffusionとつきあって行きたいなら、サインアップしてください。としか言いようがない。

サインアップしたのち、Webページでログインした状態で、

3 . Accept the licence terms located here:

https://~~

and here:

https://~~

の2つのリンクを順番にctrlを押しながらクリックし、飛んだページで

こういうAgreementが出るから I have read the license and agree with its termsにチェックを付けて、Agree and access repositoryをクリックする必要がある。

忘れるな、このリンク、2つともやるんだぞ。

どちらのAgreementもAgreeしたら、コマンドラインでenterを押すといい。

ようやく最後の質問だそうだ。huggingface.coからtokensを取得してこの画面に戻り、右クリックだ。

リンクをctrl+クリックでトークン取得画面になる。

Showの横にあるマークをクリックするとTokenがクリップボードにコピーされる。

先の画面に戻り、右クリックだ。Tokenが貼られたら成功。enterを押したまえ。

後は自動だ… 頑張ろう。

やったー! お疲れさまでした! コマンドラインは何かキーを押すと閉じます。

4)起動!

インストールディレクトリにあるinvoke.batをダブルクリックで実行してください。

まだ質問があったわ。2で!

このリンクをctrl+クリックするか、Webブラウザーのurl欄に127.0.0.1:9090と打ち込んで、Webページが開いたらok。

長かった…。

とりあえずここまで(2022/12/03 18:00:00)

Stable Diffusionで遊びたい(3)

さてここまでで、text2imgを使ったAI絵の描き方はだいたい理解できたんじゃないかなーと思う。

.ckptファイルの持ち方と、.vaeファイルの選び方で、出力される絵柄がだいぶ変わることも。

究極的な話として1点ご紹介しておくと、

Hiten girl_anime_8k_wallpaper_4k.ckpt (https://huggingface.co/BumblingOrange/Hiten/tree/main)

このckptは、台湾のHitenさんというイラストレーターの方の作品だけを学習させる目的で作られたものだそうだ。ある絵描きの代わりをAIが務めることができるのかどうか、ということなんだろう。

そういう時代が来てしまったことが感慨深い。

また、18禁モデルも多数存在するし、アニメキャラなどに特化した.ckptなども大量に作られている。おそらくこの流れはどれだけ法で制約しようとも変えられない。エロで技術が発展することは歴史が証明している。

それでも少しだけ建設的な話をするならば、Photoshopなどで絵を描く際に描画を補助してくれるソフトなんかも作られている。これは、絵の中に描かれていない部分を描き足してくれたり、エフェクトを追加したりといった補助的な部分で、人間のデザイナーの出力効率を上げるのではないかと言われている。

この機能は、img2imgというもうひとつの方法論によって作成されているので、その紹介をしておこう。

TRPGをする人ならわかると思うが、こんな感じのシーン絵が欲しい、とか、立ち絵が欲しい、というのがあったりはしないだろうか。そういう時、「こんな感じ」を絵によって指示し、AIに近いものを描いて貰うことができる。

img2imgに、自作の絵(下手でアレだがわたしが描いた絵)を通してみる。あとはStable Diffusionがなんとかしてくれる… たぶん。

元絵(by たけっき画伯)

これを、Stable Diffusion UIのInitial image(img2img)に指定する。もちろん、このあとにtext2imgのPrompt指定をすることも可能なのだが、今回は実験のためimg2imgだけを利用する(Promptには何も記載しない)。

Stable Diffusion 1.4

MidJourney_v4

Anything v3.0

Stable Diffusionはなんか緑と赤の植物だと思ったらしい。MidJourneyもなかなかいい感じに仕上げてきた。そして、二次特化のAnythingは相変わらずいい仕事をしてくれている。

なお、Stable Diffusionが勘違いしているな、と思った時に、UIの出力画像の上にマウスカーソルを持っていくと、サブメニューが出る。”Draw another 25 steps”を押せば、もう一度試行し直してくれるのだ。

他のOptionについても解説しておこう。

Use as Inputは、この画像をimg2imgの元画像として使って、新しい絵を描いてくれる。

Downloadは、解説の必要はないだろう。

Make Similar Imagesは、似た画像を作ってくれるのだが、img2img丸投げというわけではないようだ。パラメータが似た感じの絵を描くのではなかろうか(ちょっと未調査で申し訳ない)。元絵と似たイメージを5枚生成するようだ。seed値は変更される。

Draw another 25 stepsは、構造解析プロセスは同じだが、Seedが同じで、変数パラメータを調整した別の絵を描いてくれる。さらっと「Seedが同じで」などと書いてしまったが、Seedが同じ場合は元絵の形態素として同じものを使ってくれるため、同じキャラ画像を沢山生成したい時に、Seedの横にあるrandomスイッチを切れば良い。

Upscaleは画像の解像度を上げてくれる。メニューにもあるUpscale image by 4x with… というのを後から指定して描き直せる。

こんなのネタレベルの話でしかないが、出力し直させてみた。

Draw another 25 steps

Make Similar Images(5 images)

Draw another stepsはseedが同じで、ほとんど変化がない。Similarの方はseedが変更されているのと、連続5枚生成された。作成したイメージから派生した絵を使えばいい、ということだろう。今回は残念ながら赤い部分が蝶になってしまったりと、大筋でイメージが違ったので不要なものになったが…

さて。

わたしのような、絵を描けない人間にとって、AIが手助けして適当に良い見た目に直してくれることは、とても嬉しい福音に思える。立ち絵なども提供されるサービスを利用していたので、これが自分のパソコンで作成できることは進歩に感じるし、時間さえ無視できるならばいい結果を得るまで試行錯誤が出来ることもとても良いと感じる。

絵を描ける人たちにとっては、わたしと同じような感想にならないことはTwitterなどを通して見知っている。イラストレーターの仕事が無くなるのではないか、とか、絵自体の価値が下がるのではないか、とか著作権とは何なのか、という、そういう懸念や議論が出ていることもわかっている。

だが、AI絵が氾濫したとしても、源流にあるのは人の手で描かれたものだ。AIが自発的にそういった絵を氾濫させることはないし、おそらく人の手と創意工夫で描かれた絵の価値が下がることはない。わたしはそう思っているし、AIが人を駆逐したりするディストピアは訪れないものと信じて筆を擱きたい。

(2022/11/26 18:30)

Stable Diffusionで遊びたい(2)

前回はStable Diffusion UIのインストールを行ってサンプルで絵を描かせるところまでだったのですが、絵を描かせるメカニズムの一端をざっくりご紹介します。

Stable Diffusionはtxt2img、img2imgという2つの方法で絵を描くことができます。

txt2imgについては、promptに呪文を入れると、その呪文に対応した絵をAIがmodelデータの中から推測し、描画を行います。negative promptに呪文を入れると、AIはその呪文は描いてほしくないものだ、という理解をします。

ex) prompt: a girl / negative prompt: long hair

少女を描け / 長い髪は描くな という指示を出してみました。

Stable Diffusion 1.4で4回出力させましたが結果はご覧のとおりです。

無限の猿定理、と呼ばれるものがありまして、AIに絵を描かせるのは、猿にタイプライターを叩かせ続けたらいつかはシェークスピアの戯曲を書くことに成功するだろう、ということに等しいのです。

しかし、人間が描いた絵の法則性を抽出し、それがどのような呪文と対応しているのかを定義したデータがあれば、人間が描いて欲しいものにはどんどん近づく、条件を極限していくことで計算可能なレベルに落とし込む、というのがAIが行っている作業です。

極限の一つのアプローチとして、絵には(人間が定義したものですが)沢山の種類(カテゴリー)があります。カテゴリーごとに法則性を抽出した方が描いて欲しい絵の方向性は決められる、という考えのもと、絵の法則性を抽出したデータが.ckpt(チェックポイント)として選択可能です。

.ckptの一覧(有志調べ)はこちら。https://rentry.org/sdmodels

これらの.ckptや.vaeは、Stable Diffusion UIの指定のフォルダに入れることで選択することが出来ます。

.ckptはStable Diffusion UIインストール先ディレクトリの下、models/stable-diffusion/ に設置することで、Stable Diffusion UIのModel:で選択できるようになります。.vaeはmodels/vae/に設置することで、Custom VAE:で選択できるようになります。

それぞれのモデルの経緯とかはググってください。絵画的なものならmidjourney_v4、日本的なアニメ・コミックならwaifu-diffusionがお勧めです。個人的にはAnything-v3.0が安定した出力をするなあ、と思っています。

midjourney_v4

waifu-diffusion 1.3

Anything v3.0

とりあえずここまで(2022/11/26 11:00)

Stable Diffusionで遊びたい(1)

…が、巷にある設定とか見ると、たいがい面倒臭いな! と思っている人のためのガイド。

  • 必要なもの:

Windows10とか11が動くパソコン。

メインメモリはGPUがあれば8GBとかでも動きそう。

GPUが無い場合はメモリは沢山あると良いんじゃないでしょうか(アバウト)

  • あると良いもの:

nVIDIAのGPU。GPUのメモリが沢山あると更に良い。

AMD GPUの場合は稼働するかどうかわかりません。

今からご紹介するやり方では何の保証もありませんが、他のやり方はあります。ググってください。

それでははじめましょう。

https://github.com/cmdr2/stable-diffusion-ui

リンクをクリックし、下へスクロールすると、

README.mdの中に、Download for Windowsアイコンがあります。

ファイルをダウンロードしてどっかのドライブに(必要があればフォルダを作って)解凍しましょう。

解凍して出来た Start Stable Diffusion UI.cmd をダブルクリックしましょう。

初回起動時は必要なファイルをだーっとダウンロードするため、結構時間が掛かります。

うまく起動できれば、お使いのブラウザにローカルのページが開きます。こんな感じ。

もしかしてうまく起動出来なかった場合:

gitが必要なのかもしれません(pythonは自動インストールされますが、gitが自動インストールされたかどうかは覚えてません)。そのあたりに問題があるようなら、一度コマンドプロンプトなどを閉じて、もう一度Start Stable Diffusion UI.cmd をダブルクリックしましょう。起動する度にValidationCheckをしてくれるので、何回か起動し直す必要があるかもしれません。

一応Settingタブを確認しておきましょう。

USE CPU(notGPU)と書いてあるところは人によって異なると思います。よわよわGPUの場合はCPUの方が早い場合がありますが、6GB以上メモリのあるGPUならこのスイッチはオフにすべきだと思います。どっちが早いか、試してください。セットでUse Full Precisionもあり、これはGPUメモリが8GB~16GBぐらいあれば効果が期待できます。そういうつよつよGPUをお持ちの方は試してください。

さてLet’s cocking!

右上のEnter Promptって書いてあるところに何か打ち込めば良いのですが、日本語は解釈できません。

英語で書きましょう。英語なんかわからんわ、という話であれば、人の作った呪文を唱えるのがいいです。”Stable Diffusion 呪文”でググればよろしい。

デフォでは、”a photograph of an astronaut riding a horse”と書いてあります。”一人の宇宙飛行士が馬に乗っている写真”と言う意味です。

Make Imageを押してみましょう! nVIDIAのGPUがあれば1分以内、わたしのAMD Ryzen 5700Gで4分程度で絵が出力されます。

とりあえずここまで(2022/11/25 fri 21:00)

AKG沼にはまった

コロナ禍の中、ヘッドホン沼にはまった。AKGほぼ限定だが。過去にはK324PイヤホンでAKG沼に足を踏み入れていたが、当時はそれ以上前に進めなかったし、近年も中華製のKZイヤホンあたりに浮気していた部分はある(KZは今後が楽しみである)。

そして今になって中古のヘッドホンを買い漁り、時には修理したりケーブル自作したり(半田ごてなんかうん年ぶりに触ったぞ)。Amazon music unlimitedがハイレゾ対応したと聞いてDACを買ったりもした。まだ道半ばではあるが、一年の締めくくりに何をどうしたかの一端を紹介することにした。

……誰の何の役にも立たないpostだけど。

K182

https://proaudiosales.hibino.co.jp/akg/4125.html

ミニxlr3pin、50mmドライバー、密閉型

耳元で鳴るエッジが立った音。密閉型のため重低音も良く出ている。DJ向けというのが頷ける。K181を聞いてみたくなるが、なんとなく182の中高音あたりを強化してあるんじゃないか、と思う。ハイエンド機ではないし、数も出ていないので予備パーツの入手難易度が高かったが、互換イヤーパッドをアリエクから探して購入し、交換したりした。

ヘッドバンド強めでプラスチッキーだったため、頭の小さそうな知り合いに譲渡。

K371-BT

https://proaudiosales.hibino.co.jp/akg/4641.html

50mmドライバー。新品を購入したのでカスタマイズは特にしていない。カバー掛けたぐらい。

デグレ版にK361という姉妹機があり、こちらもK361-BTという無線(BT5.0)/有線両用機体がある。K371との違いは振動板がチタンではないこととヘッドホンの出力端子がミニ3.5mmピンジャックなこと。

当機に先立って市場に出たK371/K361という有線オンリーの機体も存在し、メカは同じ物と推察される。無線(BT5.0)/有線両用。出力端子はミニxlr4pinという割と新時代(?)の規格。余談ではあるが、4pinオスのK371にミニxlr3pinのケーブルを(端子形状を確認の上)突っ込んで聞いてみると、ものの見事に低音成分が抜け落ちていた。1pin増えたのはウーハーの出力か?

音圧、音域ともに全領域フラット。なぜかBT使用時も同じような音が出ている印象を受ける。AACでは帯域全然足りてないはずなのだが? さりげないAKGマジックだろうか。

ヘッドバンドは強く押しつけて来ないが確実にホールドされる。イヤーパッドは楕円形で、AKGには珍しい形のせいか部品供給があまり良くない。高級機でもなくカジュアル向けでもない(K2xxが手頃すぎるんじゃないか説)。そういう色々中途半端なところがあまり売れていない、と推察される。残念ながら後継機は出なさそう。

Y400

https://jp.akg.com/Y400+WIRELESS.html

オンイヤー、36mmドライバー、BT5.0/ミニミニ2.5ジャック。これも新品でありカスタマイズはなし。

YシリーズはAKGの中ではカジュアル向けに分類される。ノイズキャンセリングが流行る前の機械。アンビエントオクルージョンモードとやらがあるが、雑音カットにはならない(低減はしてくれる)。ドライバーが小さいこととか、イヤーパッドがオンイヤーであるため、密閉型に比べると音圧などは弱く感じる。垂れ流しには透明感があり、いい感じなのだが、聞きこむものではない印象。Y500では改善されているのだろうか。

K550

https://proaudiosales.hibino.co.jp/akg/4280.html

10年前に発売されたモデルだが、K553と改称されて今でも売られている。K550→K550mk2→K550mk3→K553→K553mk2という流れだったと思う。550無印はケーブル交換出来ないがそれ以降のモデルはケーブル交換可能(専門用語でリケーブルと言うそうな)。

今年はK550mk3を購入してからK550無印を購入した。どちらもイヤーパッドを交換してヘッドパッドを張り直した。ヘッドパッドもイヤーパッドもアリエクから購入。

密閉型で、出力端子はミニxlr3pin。デフォルトのケーブルの音質はイマイチ良くないのでリケーブル必須であろう。中古でよたってた個体の可能性は捨てきれないが… 現在はモガミに交換済、これでリケーブルの良さに目覚め、ケーブルを自作した。このあたりも書きたいが長くなるので割愛。

密閉型なので重低音も十分で、音質、音場ともに申し分ない。ある意味上位機種であるK702シリーズより出来が良いかもしれない。ヘッドバンドは強めだが、広いのでそこまで気になるほどの側圧はない。

無印の方は先輩に譲渡。

K712 PRO

https://proaudiosales.hibino.co.jp/akg/4635.html

開放型、53mmドライバー、ミニxlr3pin。

K701→Q701→K702→K712というモデル変遷を行って今でも売られている。それぞれに音質の差が付いており、K702では低音成分が足りないと言われていたが、K712で最終形になった(と言われている)。中高音の自然な感じの音がウリで、金管楽器や女声コーラスの美しさはとても良い。音場の広さも良いが臨場感を出すには出力が割と必要になり、パワー不足のアンプで聴くのはお勧めしない。とはいえ、昨今のポータブル機なら問題なく捻り出せる程度だ。とにかく聞き疲れしない品の良い音が鳴っている印象。あとヘッドバンドがすごく優しい。付けてることが感じられないほど。ベロア調のイヤーパッドも感じがいい。

終わりに

今はK371を通勤に(断線して修理中)、音楽はK712、卓とかゲームはK550mk3と使い分けている。

この5種類を使ってみて思うのは、いずれも限られた資源の中で絶妙なバランスを作ってある製品だということ。ヘッドホンで音楽を聴く、ということに対する丁寧なこだわりが感じ取れる。いや、どこの会社の製品もそうだろうとは思うんだけど、AKG的な音をキープしながらこれだけ多様なラインナップを出すのは凄いと思う。しかもそれぞれのキャラクターがちょっとずつ異なっていて面白い。

他のAKGのヘッドホンとしてはK240/K271/K275なんかが有名どころで、他にも手が出ないぐらい超高級機のK812,K872なんかがあるわけだが、沼としてはまあ一段落かな、というところである。手頃な値段のK612 PROなんかもいじってみたい気がするが、手元資本と相談というところだなあ。K2xxに関してはいじりやすい出物があったら… まあ、耳は二つしかないのでそこまで手は伸ばさないだろう。たぶん。

これは完全に蛇足だが、正価で買うならK371/K361有線バージョン、もうちょっとお金出せるならK553mk3をお勧めする。paveuさんお勧めのK240/K271もある(これは試聴しただけなのでコメントを差し控える)。

なお無線がいいならAKGはお勧めしない。S○NYやbea○s買えばいいと思う。

おしまい

博士のCoCに対する歪んだ愛情

Call of Cthulhu。
2020年現在のTRPG界ではとても古い部類に入るルールだ。
Chaosiumが開発したBasic Role Playing Systemに、希代の幻想作家ラブクラフトの世界観を載せたこのゲーム、ホラーゲームだと思っている人が多いと思う。

それはこのゲームの一面を切り取ったにすぎない。

確かに、ラブクラフトの言うコズミック・ホラー…… 宇宙的な観点から見ると人間の営みなど風の前の塵に同じ、預言により星辰正しき刻に至れば死する神々は帰還し、人間の文明社会は破滅する。人間は邪神が目覚めることで奴隷化への道を歩み、今後数千数万年のうちに絶滅し、甲虫類に取って変わられる、そういう世界観はとても退廃的で興味をそそられるものだ。
破滅が約束された世界で、邪神およびその手先と戦ったり太古の神々の秘密を垣間見たり、その結果死んだり発狂したりする。そういう大局的なホラーからのサバイバル的なゲームではある。

このゲームの魅力はそこだけにあるわけではない。
というのも、世界観の元になるべきラブクラフトの書いた本編はそれほど数が多いものではない。ダーレスや後続の作家が直系の世界観の拡張に手を貸したが、あるいは日本では今でも再取り込みを行って傍流として膨張を続けているが、クトゥルフワールドの拡張は、実はあまりこのゲームの世界観の拡張とは関係がない。

このゲームでの作家の描いた世界観からの拡張は、オカルトを取り込むことによって成されたのだ。

そもオカルトとは何だ、という説明が必要かもしれない。
Wikipedia先生に聞いてみよう。

ラテン語: occulere の過去分詞 occulta(隠されたもの)を語源とする。目で見たり、触れて感じたりすることのできないことを意味する。そのような知識の探求とそれによって得られた知識体系は「オカルティズム」と呼ばれている。ただし、何をもって「オカルト」とするのかについては、時代や論者の立場等により見解が異なる。

Wikipedia「オカルト」より引用

オカルトとは、科学による正論に属さない知識体系なのだ。

人間は科学が発展する前から、あるいは科学が発展してもなお、隠された法則、隠された知識に惹かれてきた。ハツカネズミを産むには汚いシャツと小麦粉20粒があれば良い、などという現代的に見ればインチキに類するものが誤った体系化を行われ、流布され、忌むべきこととして迫害されて隠れ潜んだ。
誤解を恐れずに言うなら、科学に対抗する勢力がオカルトなのである。数秘術しかり、魔術だって魔法だってそうだ。意味のない仮説と結果の間に根拠を見出したがる人間が作り出したある種の妄想。
もちろん、ここでその是非を論じようというのではない。

この、オカルトを取り込んだことで、Call of Cthulhuというゲームは大きく世界観を拡張した。
ルールブックをお持ちの方は、年表が付いているのを知っているだろう。正史、ラブクラフト世界で起こったこと、そして「出来事、オカルト現象、犯罪事件、未来の予測」これがそうだ。
人間の既知科学では窺い知れない不可思議な出来事。
これらの裏側に邪神とその手先が絡んでいたらどうだろう……?
そういう、オカルティズムに意味を見出すオカルトとして、このゲームは世界観をぐっと広げたのだ。

皮肉なものだ。ラブクラフト自身はオカルティズムとは距離を置いており、オカルティズムや通俗的なホラーからかけ離れたものとして新しい「コズミック・ホラー」を創出したというのに。
奇才の仕事は人口に膾炙すると通俗的にならざるを得ないってことだろうか。

しかし、その結果、2020年を生きる我々にとって大変幸運なことに、このゲームは廃れず、多彩な間口を広げて遊び手を待ってくれている。
過去にも、現代のネットワーク社会にも、不可思議は潜んでいる。
さあ、窒息するか発狂するまでダイスを手にして潜ろうではないか。

人間しか作り得ないオカルティズムの闇に。

たけっき