詩のフォーマットを自作してみた
吉増剛造の『詩とは何か』を読んで、吉増が原稿用紙をそのまま使わずにしわを寄らせたり、インクをたらしたりして色々といじくってから書くということを知りました。
そこで、私は今まで読書会用の詩をWordで書いてきましたが、書くための場を自分で色々いじりながら作ってみたら面白いのではないかと思い、実践してみました。
まず、私は吉増の文章に繰り返し登場する「歪み」という概念を使って、歪んだレイアウトの詩を作ってみたいと考えました。ある程度どういう風にしたら歪んだレイアウトになるか考えた上で、それをどのように実現するかChatGPTに相談しました。
私は詩人です。今、私は自分が書いた詩を以下のようなフォーマットでプリントしようとしています。これが可能なソフト、あるいはプログラムのライブラリ等を教えてください。
・一行の中で、フォントサイズを端に行くほど小さくしたい
・詩の全体で、中心の行ほど字数を少なくしたい
・詩の全体で、中心の行ほどフォントサイズを小さくしたい
「私は詩人です」というのは違いますが、ChatGPTと対話するうえで自分の立場を明確にしたかったのであえてこういう言葉を使いました。
ChatGPTは詩のフォーマットを作る手段として以下の3つを提示してきました。
- Adobe Illustrator
- LaTex
- プログラミング(Pythonでは、PDFや画像ファイルの生成を扱うライブラリ(例えば
reportlab
、PIL/Pillow
)が利用できます。)
そこで私は3のプログラミングを選択し、ChatGPTと対話して必要なライブラリの情報を得てコードを書き始めました。
プログラムを効率的に書くために、最近GitHubが提供を始めたCopilotという機能を使うことにしました。Copilotとは、GitHub(プログラムを共有するサイト)に共有されたコードを学習したAIが、人間がプログラムを書いている途中で自動でコードの続きを提案してくれるという機能です。
これが想像以上に優れた機能でした。
私は今回使うライブラリに慣れているわけではないので他の人のブログを参照してサンプルコードを打ち込むことから始めたのですが、打っている途中でもう続きを予想して書いてくれます。サンプルコードの内容は多くの人が同じように書くような内容なのでほとんどCopilotの予測だけで完成しました。
その後私がやりたいことを実現するためにコードを改造する作業に入りましたが、その際もCopilotは威力を発揮しました。まるで私の心を読んでいるかのように私が書きたいコードを先回りして書いてくれます。先回りどころか、「ここはちょっと考えないといけないな」と思っていた箇所も見事に実装してくれました。
以下が、完成したコードを使ってフォーマットした詩です。ちなみに詩はChatGPTに書いてもらいました。
当初考えていた3つの条件のうち1つ目はあまりに面倒くさいことが分かったので実装せず、2番目は詩の内容次第なので結局3番目の条件しか達成していません。あと、途中で思いついて中心に行くほどフォントの色を薄くしたりしています。
・一行の中で、フォントサイズを端に行くほど小さくしたい
・詩の全体で、中心の行ほど字数を少なくしたい
・詩の全体で、中心の行ほどフォントサイズを小さくしたい
完成したものが面白かったかというとそうでもないですが、AIとの相互作用を通じでものを作った経験はなかなかに刺激的でした。
最後に実際に作ったコードを載せておきます。