見出し画像

【朝活】Alexaで朝一発目からポルノ見てる【Node-RED】

私はとても朝に弱い。
毎朝iPhoneのスヌーズ機能と1時間くらい闘いながら膀胱が限界に達し、渋々おしっこをした後さらに二度寝する生活を送っている(膀胱を空にした後の二度寝は最高なので)。
だがこんな怠惰な生活は変えなければならない。
アラームに設定していたアニソンを聞くとPTSDを発症する身体にもなってしまった。
これ以上犠牲曲が増える前になんとかしなければ...
そう思いながらいつものようにSNSを探索していると、とあるメンズコーチの言葉が目に入ってきた。

(前略)もう朝一発目から(中略)ポルノ見てる(以下略)

!!!!!!これだ!!!!!!

もし、アラームを止めると同時にポルノが再生されているとすれば、ポルノを見たいという欲求でどうにかして目を開くに違いない!
そして寝起き一発目からポルノを見れば、朝勃ちした状態でのおしっこ不可避となり、飛び散ったおしっこの処理などで確実に目を覚ますことができるではないか!
ありがとうメンズコーチ。
そうして、私は朝一発目からポルノを見るシステム作りに取り掛かるのであった。

概要

目覚ましにはAlexaのアラーム機能を使用する。
寝てる間にポルノイラスト生成スクリプトを走らせておいて、
Node-REDがAlexaの発する特定の文言を検知したら、スライドショー表示スクリプトをキックする。
これらの処理は全てWindows PC上で行い、PCモニターの一つとして繋がっている大画面テレビに自動的にポルノが再生されるようにした。

だいたいこんな感じ

ポルノ生成スクリプト

いつも使ってるポルノだと脳内再生余裕なため、朝辛い場面だと目を開けない事が予想される。そこで、毎朝採れたての新鮮なポルノ画像をお届けすることで興味を誘い、開眼を促す。

ポルノを収穫する様子

画像はPythonスクリプトからローカル環境に構築したstable diffusion webuiのAPIを叩いて生成する。

API
webui-user.batのset COMMANDLINE_ARGSに--apiを足して起動すると使える
UI下部のリンクから仕様書が確認できる

適当にランダムなプロンプトを投げるだけでは、全然ランダムな画像になってくれないので、実行の度に事前に用意しておいたおかずテーマ(正常位とか、パイズリ、チンポビンタ、見せ槍…等など)を"今日のポルノ"として抽選し、その追加学習データをベースにプロンプトを生成するスクリプトにしている(※だいたい以下のような雰囲気。APIの使い方は他に説明してくれてる人がいるので割愛)。

def make_porn(today_porn):
  payload = {
    "prompt": PORN_LIST[today_porn]["prompt"](),
    "negative_prompt": PORN_LIST[today_porn]["negative_prompt"],
    "cfg_scale": 7,
    "steps": 20,
    "sampler_index": "DPM++ SDE Karras",
    "width": PORN_LIST[today_porn]["width"],
    "height": PORN_LIST[today_porn]["height"],
    "seed": -1
  }

  response = requests.post(url=f'{url}/sdapi/v1/txt2img', json=payload)
  r = response.json()
  for i in r['images']:
      image = Image.open(io.BytesIO(base64.b64decode(i.split(",",1)[0])))
      image.save('C:/hogehoge.png')

また、テーマ毎に一部のプロンプト(髪色、おっぱいの大きさ、陰毛、画角、画風など)はDynamic Promptのようなランダム性を持たせることで、一定のクオリティを維持しつつバリエーションをもたせる。
このあたりは、使用するモデルと追加学習データごとの相性やら癖やらなんやかんやあり、破綻しないプロンプト、画像サイズ、ランダム幅も異なってくるため、一つ一つ手動で出力しながら自分好みにカスタマイズする羽目になっている。

このスクリプトを寝ている間に毎日実行するようにWindowsタスクスケジューラを設定しておけば、毎朝新しいポルノを摂取することができる。

スライドショー表示スクリプト

pyautoguiでキーボード・マウス操作を行い、画像保存フォルダに移動し、フォトのスライドショーを起動。win32apiで表示したいディスプレイ(テレビ)にウィンドウを移動するゴリ押し仕様。
ウチの環境でしか動かないがヨシ。
※↓みたいな感じ。だいぶ適当。

def move_window_to_display(window_title, display_name):
    try:
        ######
        window.move( 5121, 0)  # 指定された座標に移動
        time.sleep(2)  # 1秒スリープ
        pyautogui.press('f5')  # f5キーを送信
        ###

Node-REDの設定

AlexaとPC連携したい的なことを調べたらNode-RED使えという圧があったので導入。

パレットからnode-red-contrib-alexa-remote2-applestrudel
というノードを追加する。

追加されるノード

以下等を参考に見様見真似でフローを作成。
https://orentame.com/alexa-and-openai/

作成したNode-REDのフローはこんな感じ。

起点となっているのが「On Device Activity」と表示されているAlexa EventノードでこいつがAlexaの挙動を逐一監視しており、Alexaが喋った内容が、alexaResponseに渡される。これをswitchノードに渡し、Alexaが"今日のぽるのは"と喋った時、スライドショー表示スクリプトが実行される仕組みとなっている。
※筆者はPCをシャットダウンしない生活を送っているので、スライドショー開始前はディスプレイだけオンにする。

Alexaちゃんは"ポルノ"だと読んでくれないので"ぽるの"で判定をすり抜ける

また、Alexa Routineノードを利用するとAlexaに指定したテキストを喋らせることができるので、スライドショー表示スクリプトが実行されると同時にAlexa読み上げ用原稿を作成する。
原稿は
"[おかずテーマ名]です。スライドショーの再生を開始します。"
の形式で出力する。よって、

アレクサ「今日のポルノは・・・アナルを差し出す女の子です。
スライドショーの再生を開始します。」

という芳しい魅惑的な文章を朝一発目から耳にすることとなる。

定型アクションの設定

Alexaのアラーム機能には「アラームを止めた後定型アクションを実行」という項目がある。
そこに二度寝防止アクションとして、以下の定型アクションを設定する。

アラームを止めると←の定型アクションが発動する


実演

07:03辺りから~


というわけで最高のスマートホームシステムを構築できた。
現在では、一層スッキリとした気分で二度寝する生活を送っている(金玉を空にした後の二度寝は最高なので)。






この記事が気に入ったらサポートをしてみませんか?