りょうAIに「絵本みたいなアニメを作って」と頼んだら、4分の短編ができあがったよ
最近、自宅のMacでAIにいろいろな作業を任せているのですが、今回はちょっと変わったお願いをしてみました。4分の短編アニメを、まるごと作ってもらうことです。
できあがったのが『灯台守のトウ』。ちぎった紙を貼り合わせたような、絵本っぽい見た目のアニメです。しかもこのアニメ、画像生成AIを1枚も使っていません。絵は全部プログラムのコードで描いていて、声はMacの読み上げ機能と無料の音声合成ソフト、音楽もプログラムで合成しています。
今回は作品の紹介と、作るときに使った技術をちょっとだけ紹介します。AIで何か作ってみたい方の参考になればうれしいです!
『灯台守のトウ』ってどんなお話?
北の海のはずれにある、小さな島の灯台が舞台です。主人公は、その灯台を百年守ってきた古いロボットのトウ。


ある嵐の夜、渡りの途中で群れからはぐれた小鳥のソラが、灯台の下の岩に落ちてきます。トウはソラを灯台の中に運び、手当てをしてあげます。


翌朝から、ふたりの暮らしが始まります。ソラは「一緒に南の海へ行こうよ!」と誘うのですが、トウは「この灯りが消えたら、船が迷ってしまうからね」と断ります。


飛ぶ練習をするソラと、季節が冬に向かうにつれて少しずつ弱っていくトウ。そして渡りの夜、トウはある決心をします……。この先はぜひ動画で見てみてください!



ロボットと小鳥のお話って、それだけでちょっと泣けるんだよね
登場するのはロボットのトウと小鳥のソラ、それに鳥の群れだけです。4分・台詞34行・音楽と効果音つきです。
作り方① 絵は全部コードで描いている
ここからは技術のお話です。
このアニメの絵は、ブラウザで絵を描く仕組み(Canvas 2D)を使って、JavaScriptのコードで1枚ずつ描いています。コードは全部で約6,000行ありました。灯台もトウもソラも、雲も波も、全部コードです。
画像生成AIを使わなかったのは、絵のタッチを完全にこちらで決められるからです。画像生成だと、カットごとにキャラクターの顔が微妙に変わったりしますよね。コードで描けば、トウは何百回描いてもまったく同じトウです。



絵が描けない私でも、見た目の注文を出せばそのとおりに描いてくれるんだよね
ちぎり紙っぽく見せるコツ
見どころは、紙をちぎったような輪郭です。やっていることは意外とシンプルでした。
- 形の輪郭を、22ピクセルくらいの間隔で細かく区切る
- 区切った点を、ランダムに2ピクセルほどずらす(これでガタガタの「ちぎれ目」になる)
- 同じ形を一回り大きくして生成り色(紙の白っぽい色)で裏に敷く
3番目がポイントで、これでちぎった和紙の白い縁が出てきます。さらに上から筆のムラの模様を重ねて、紙っぽい質感を足しています。
ちなみに、空や海のような大きな面にもこの白い縁をつけたら、横線がずらっと並んで罫線のノートみたいになってしまいました(汗)。そこで、画面の幅の3割くらいより大きい面だけ、縁の色を本体の色に寄せて目立たなくしています。



小さい紙は縁が白い方がかわいいけど、大きい紙だとノートに見えちゃうんだよね
4分を約4分で書き出す
アニメは1秒24コマなので、4分だと5,760枚の絵が必要です。
ここでは、「時刻を渡すと、その瞬間の絵を描く」という作りにしてあります。前のコマの状態を引きずらないので、どこからでも描き始められるんです。なので、ブラウザ(Chrome)を6つ同時に立ち上げて、5,760枚を手分けして描かせました。書き出しは約4分。4分のアニメが約4分で書き出せるのは、ちょっと気持ちいいです!



1枚ずつ順番に描いてたら、たぶん何倍もかかってたよ
最後に、描いた画像をffmpeg(動画を扱う定番のソフト)でつないで、音と合わせればできあがりです。


作り方② 声づくりが一番大変だった
絵より苦労したのが声でした。
最初は、Macに最初から入っている読み上げ機能(say コマンド)で全員の声を作ろうとしました。ところが、一部の声だと「と」の音がうまく出ないんです。「灯台」が「壮大」に、「おかえり」が「さようなら」に聞こえてしまって、これではお話が台無しです。



「おかえり」が「さようなら」は、さすがに笑えなかったよ(汗)
最終的には、こうなりました。
- トウ:Macの「Kyoko」の声を5半音下げて、ロボットっぽく
- ソラと語り:無料の音声合成ソフト「AivisSpeech」の声
聞き取りチェックもAIに
声を作るたびに全部を人が聴き直すのは大変なので、文字起こしAI(whisper.cpp)に全台詞を書き起こさせてチェックしました。書き起こした文字が台本と違えば、人にもそう聞こえている可能性が高い、というわけです。
これでいろいろ見つかりました。
- 「守り人(もりびと)」が「まもりひと」と読まれていた → 字幕は漢字のまま、読みだけ指定
- 「トウも一緒に行こうよ」が、何度作り直しても「どうも」と書き起こされる
- 冒頭の「北の海」が、なぜか毎回「ノースブルー」と書き起こされる
ただ、文字起こしAIも完璧ではありません。声のかすれや助詞の「は」「わ」は判定できなかったので、最後は私が自分の耳で聴いて決めました。



AIのチェックは便利だけど、最後はやっぱり人の耳なんだよね
作り方③ 音楽もプログラムで合成
劇伴(BGM)も、既存の音源を使わずにプログラム(Python)で波形を合成しています。
ニ長調の8小節のメロディを主題にして、明るい場面ではそのまま、トウが弱っていく場面ではニ短調に変えて流しています。同じメロディが明るくも寂しくも聞こえるので、映画っぽくなりました!
台本の穴は、人が見つけた
最後に、ちょっと印象に残ったことを。
完成間近に見直していて、ふと気づいたんです。トウは「この灯りが消えたら、船が迷ってしまう」と言っているのに、お話の途中で灯りがひと冬消えているんですよね。それって船は大丈夫なの?と(汗)
AIに相談して、「冬は海が凍って、船が来ない」という一文を語りに足しました。これで、トウがひと冬眠っていても船が迷わない理由がつきました。
絵も声も音楽もAIが作ってくれましたが、こういうお話の筋の穴は、見ている人の方が気づきやすいのかもしれません。



自分で作ってないから、逆にお客さん目線で見られたのかも
まとめ
- 『灯台守のトウ』は、ロボットと小鳥の4分の絵本アニメ
- 絵はコード(Canvas 2D)、声はMacの読み上げとAivisSpeech、音楽はプログラム合成で、画像生成AIは使っていない
- ちぎり紙の見た目は「輪郭をずらす+生成り色の縁を裏に敷く」だけで出せる
- 声の聞き取りチェックは文字起こしAIが便利。でも最後は人の耳
AIに頼むと、絵が描けなくてもここまで作れるんだなと、私自身びっくりしました。「こんなお話を作って」から始められるので、気になった方はぜひ試してみてください!



コメント