黒灰色の魔女と時の魔女 第五章第三話(九)更新しています


黒灰色(こっかいしょく)の魔女と時の魔女』、『第五章第三話(九)君、山登れ』更新しています。
砂漠に子供二人、赤ん坊付きでおっぽり出されて、頼れるのは怪しげな砂漠の声だけというシチュエーション。
読んで下さいね。

絵はマリアの幼少期です。
流石にこれ以上は誰も死なないはず。
マリアって将来的には二児の母ですし。

で背景はWord Cloudです。
twitterとかで小説の宣伝画像を作りたいなと思うじゃないですか?
でも絵を作るってメンドクサイですよね?
そんな時にWord Cloudですよ。
私もtwitterを始めたばかりの時はWord Cloud一本で宣伝絵を作っていました。

Word Cloudとは切り出した単語や文章を、重要なものを大きく、そうでもないものを小さく表示して、画面全体を埋める表現手法です。
どのようなキーワードが流行しているかを見える化するツールなわけです。
我々小説家になろうに投稿するものは、小説のキーワードやインパクトのあるフレーズを表示させると良いんじゃないかと思うわけです。

作り方は色々あるのですけれど、お勧めはPython3でword_cloudを使う方法です。

Pythonはスクリプト言語です。
Python3は現状最新版のPythonです。
Python2もまだ現役ですが日本語の取り扱い等でPython3は進化しています。
WINDOWS10 PCへのインストールは「このサイト」を参照してください。
Python3のインストール

環境変数等も設定してDOS窓からPythonが実行できるようにしてください。
DOS窓から

python --version

と打つとマイクロソフトストアが立ち上がってトホホとなる場合は「ここ」を見ると幸せになれるかもしれません。
windowsでpython3を実行するとストアが開く

world_cloudはPython3のモジュールです。
前提となるモジュールがあるのでいくつかDOS窓でインストールを行います。
具体的には以下をDOS窓で実行します。

python get-pip.py 
python -m pip install --upgrade pip
python -m pip install matplotlib
python -m pip install numpy
python -m pip install pillow
python -m pip install wordcloud

pipというのはPythonのモジュールを取得するためのスクリプトです。
pipを使うことにより様々なモジュールをインストールすることができます。
matplotlibと numpy は数値演算系のモジュールで、Pythonプログラマは皆お世話になっているものです。
pillow はPythonの画像系のモジュールでお絵かきする人は知っておいた方が良いモジュールです。
Pythonインストール時、インストールディレクトリとその下のScriptsフォルダにパスを通しておいてください。
例えばC:\Python37にインストールしたのなら以下を環境変数PATHに追加します。

C:\Python37
C:\Python37\Scripts

Pythonのモジュールと言いましたが、word_cloudを使う上ではPythonは単なるプラットフォームで意識する必要はありません。
実際に使うのはword_cloud_cli.exeというコマンドです。
以下のコマンドが実行できるか確かめてください。

c:\work>wordcloud_cli --help
usage: wordcloud_cli [-h] [--text file] [--regexp regexp] [--stopwords file]
                     [--imagefile file] [--fontfile path] [--mask file]
                     [--colormask file] [--contour_width width]
                     [--contour_color color] [--relative_scaling rs]
                     [--margin width] [--width width] [--height height]
                     [--color color] [--background color] [--no_collocations]
                     [--version]

A simple command line interface for wordcloud module.

optional arguments:
  -h, --help            show this help message and exit
  --text file           specify file of words to build the word cloud
                        (default: stdin)
  --regexp regexp       override the regular expression defining what
                        constitutes a word
  --stopwords file      specify file of stopwords (containing one word per
                        line) to remove from the given text after parsing
  --imagefile file      file the completed PNG image should be written to
                        (default: stdout)
  --fontfile path       path to font file you wish to use (default:
                        DroidSansMono)
  --mask file           mask to use for the image form
  --colormask file      color mask to use for image coloring
  --contour_width width
                        if greater than 0, draw mask contour (default: 0)
  --contour_color color
                        use given color as mask contour color - accepts any
                        value from PIL.ImageColor.getcolor
  --relative_scaling rs
                        scaling of words by frequency (0 - 1)
  --margin width        spacing to leave around words
  --width width         define output image width
  --height height       define output image height
  --color color         use given color as coloring for the image - accepts
                        any value from PIL.ImageColor.getcolor
  --background color    use given color as background color for the image -
                        accepts any value from PIL.ImageColor.getcolor
  --no_collocations     do not add collocations (bigrams) to word cloud
                        (default: add unigrams and bigrams)
  --version             show program's version number and exit

c:\work>

作業はc:\workで行うこととします。
必要になるのは以下。
・wordテキストファイル。
表示するキーワードを格納するファイルです。
半角スペースもしくは改行で区切ります。
抜粋ですが以下のような感じです。

黒灰色の魔女と時の魔女
黒灰色の魔女と時の魔女
黒灰色の魔女と時の魔女
黒灰色の魔女と時の魔女
黒灰色の魔女と時の魔女
黒灰色の魔女と時の魔女
黒灰色の魔女と時の魔女
黒灰色の魔女と時の魔女
黒灰色の魔女と時の魔女
黒灰色の魔女と時の魔女
黒灰色の魔女と時の魔女
黒灰色の魔女と時の魔女
黒灰色の魔女と時の魔女
第五章:傍に居てよ
第五章:傍に居てよ
第五章:傍に居てよ
第五章:傍に居てよ
第五章:傍に居てよ
第五章:傍に居てよ
第五章:傍に居てよ
第五章:傍に居てよ
第五章:傍に居てよ
第五章:傍に居てよ
第三話:ずっときみを見守っていたんだ
第三話:ずっときみを見守っていたんだ
第三話:ずっときみを見守っていたんだ
第三話:ずっときみを見守っていたんだ
第三話:ずっときみを見守っていたんだ
第三話:ずっときみを見守っていたんだ
第三話:ずっときみを見守っていたんだ
(九)君、山登れ
(九)君、山登れ
(九)君、山登れ
(九)君、山登れ
(九)君、山登れ
(九)君、山登れ
(九)君、山登れ
マリア
マリア
マリア
マリア
マリア
マリア
マリア
マリア
マリア
マリア
リリィ
リリィ
リリィ
リリィ
リリィ
リリィ
ヨシュア
ヨシュア
ヨシュア
ヨシュア
ヨシュア
ヨシュア
ヨシュア
ヨシュア
ヨシュア
齧りながら
頷く
頷く
呟きながら
麓
緑
稜線
稜線
了解
立ったまま
立ち上がる
立ち上がる

このファイルをC:\work\input.txtとして保存します。
漢字コードはUTF-8を選択します。
数が多いキーワードは大きくなります。
なので数で調整してください。

後、漢字をサポートしているフォントファイルを指定します。
C:\Windows\Fonts\ にある適当なフォントを選択します。
気に入っているフォントがあればそれを指定しても構いません。
私は大好きな「装甲明朝」を使います。
DOS窓で以下のように実行してください。

wordcloud_cli --width 1920 --height 1080 --text input.txt --fontfile C:\Windows\Fonts\SoukouMincho.ttf --no_collocations --imagefile planetext.png

planetext.pngが生成されます。
以下のような感じになります。

マスク画像を指定して文字のある部分と無い部分を作ることもできます。
例えば以下のような画像ファイルを用意します。
image_mask.png

黒の部分に文字が入り、白の部分はマスクされます。
DOS窓で以下のように実行してください。

wordcloud_cli --width 1920 --height 1080 --text input.txt --fontfile C:\Windows\Fonts\SoukouMincho.ttf --no_collocations --mask image_mask.png --imagefile text_w_mask.png

text_w_mask.png が生成されます。

マスクされました。
フォントの色を指定することもできます。
例えば赤を指定したければ以下のようにします。

wordcloud_cli --width 1920 --height 1080 --text input.txt --fontfile C:\Windows\Fonts\SoukouMincho.ttf --no_collocations --mask image_mask.png --color red --imagefile text_w_mask_red.png

カラーマスク画像を使って色調を管理することもできます。
どんな画像でも良いのですがグラデーションやノイズ交じりのものが良いと思います。
例えば次のような画像を用意します。
cmask2.png

DOS窓で以下のように実行してください。

wordcloud_cli --width 1920 --height 1080 --text input.txt --fontfile C:\Windows\Fonts\SoukouMincho.ttf --no_collocations --mask image_mask.png --colormask cmask2.png --imagefile text_w_mask_cmask.png

以下のような画像が生成されます。

後は画像を合成すれば完成です。

いかがでしょうか?
twitter用の画像として手軽で良いと思いませんか?

絵で困ったときはword_cloudの存在を思い出してあげてくださいね。