🐱

企画ページ①:AIやらプログラムを使って創作活動をしよう

2024/06/23に公開

考えたこと

昔から、小説家や画家といった創作ができる人に憧れがありました。

ただ自分でやってみてもいまいちうまく書けないということもあり、趣味で何度かやってみたのですが断念していました。

そんな憧れも忘れて仕事に邁進してきましたが、直近でフリーランスになって改めて何がやりたいかなと考えた時に、そういえばと思い出して一つの目標に創作活動というのをあげています。

さて創作活動を何をするかと考えたのですが、改めて絵を学ぶといったことももちろんいいのですが、ちょっとそれだといきなりハードルが高いなと自分の中で思うこともあり、どうせなら仕事で使っているAIやプログラミングを用いて創作活動ができないかなと考えてみました。

やりたいこと

ChatGPTを使えば小説が書ける時代に、プログラムを使って何を創作するかということも思ったのですが、どうせならAIの学習も兼ねて色々やりたいなと文書画像動画全てを組み合わせてできるものがないかなと考えています。

そこで出てきたひとつのアイディアが紙芝居です。

AIで作った画像にうまく連続性を持たせることで複数の画像から一つのストーリーを作り出す、そしてそれらに合わせて音声で語りを入れることで動画として一つのセットにする。
そんなものをのんびりと作っていきたいなと考えています。

企画倒れになるかもしれませんが、ご興味あればお付き合いいただければ幸いです。

とりあえず、つくったもの

まずは以前遊びで作成した画像の中で絵本になってもおかしくないような画像を持ってきて、それに合わせて音声も入れて10秒程度の動画になるようなものを作成してみました。

遊びで作成した画像は、次のようなものです。
ChatGPT4-Vの頃に作ったものだったと思いますが、可愛らしく絵本にピッタリですね。

猫と犬

プログラム

プログラムすべてColabで動くように作成しています。

プログラムのインストールは、下記の参考にさせていただいたページからコードを持ってきています。ただ一部現状のColabでうまく動かない部分がありましたのでそこだけ私なりに変更しております。

# VOICEVOXのインストール

!curl -sSfL https://raw.githubusercontent.com/VOICEVOX/voicevox_core/8cf307df4412dc0db0b03c6957b83b032770c31a/scripts/downloads/download.sh | bash -s
%cd voicevox_core/
!wget https://github.com/VOICEVOX/voicevox_core/releases/download/0.14.1/voicevox_core-0.14.1+cpu-cp38-abi3-linux_x86_64.whl
!pip install voicevox_core-0.14.1+cpu-cp38-abi3-linux_x86_64.whl
!wget https://raw.githubusercontent.com/VOICEVOX/voicevox_core/406f6c41408836840b9a38489d0f670fb960f412/example/python/run.py

# 辞書のインストール
!wget http://downloads.sourceforge.net/open-jtalk/open_jtalk_dic_utf_8-1.11.tar.gz
!tar xf open_jtalk_dic_utf_8-1.11.tar.gz
!rm open_jtalk_dic_utf_8-1.11.tar.gz

# MoviePyのインストール
!pip install moviepy

実際に読み上げを行う文章を作成します。
文章の作成は、今回は生成AIを使わずにやりました。

動画10秒だと60文字程度なので、使うまでもなかったのと、逆にまとめるのが難しかったからです。今後生成Iを使っていくかは、また考えます。

%cd /content/voicevox_core/

text = "昔々、あるところに、2匹の犬と猫がおりました。犬の名前は、レックス。猫の名前は、まる。いつも仲良く遊んでいました。"

speaker_id = 2

!python ./run.py --dict-dir "./open_jtalk_dic_utf_8-1.11" --text $text --out "../data.wav" --speaker-id $speaker_id

音声が正しく作成されているかをテストします。

from IPython.display import Audio
Audio('../data.wav', autoplay=True)

続いて、先ほどの画像と、この音声を合体して一つの動画にしていきます。
フレームレートなどもあまりよくわかっていないのでまずは参考にしたページの内容でそのまま作成しています。今後調整していければと思います。

%cd /content/

from moviepy.editor import *

# 画像ファイルの読み込み
image = ImageClip('cat_and_dog.png')

# mp3音声ファイルの読み込み
audio = AudioFileClip('data.wav')

# 動画の長さを音声に合わせる
video = image.set_duration(audio.duration)

# 動画に音声を合成する
video = video.set_audio(audio)

# 動画を保存する
video.write_videofile('output.mp4', codec='libx264', fps=30)

できた動画

このような感じで10秒ぐらいの動画を作成しました。

これを動画として共有しようと考えたのですが、アップロードすることもできなかったのでユーチューブに載せてみました。
YouTubeチャンネル自体持ってないので今のところはこれしか動画がありませんが、今後追加していければと思います。

https://youtube.com/shorts/PqT1pnRo8Wo?feature=share

参考にさせていただいたページ

VOICEVOXのインストール

https://monomonotech.jp/kurage/memo/230227_voicevox_colaboratory.html

MoviePyの利用

https://qiita.com/SatoshiGachiFujimoto/items/393169346e3e7bb6c5cc

Discussion