トップ «前の日記(2018-10-31) 最新 次の日記(2020-09-04)» 編集

MarriageTheoremのこと

2011|10|11|12|
2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|10|
2017|01|02|04|
2018|02|10|
2020|04|09|
2021|04|

2020-04-23

_ メモ:紙芝居動画の作り方

諸般の事情により大学の講義がオンライン化を強いられていて、毎回の講義のためにスライドを作成する必要が生じているので、「どうせなら作成したスライドを動画化できないだろうか」と思い立って試してみました。ただ単に苦労するだけでなく、折角なのでこの機会を前向きにとらえて新しい技術の一つも身に付けてみよう、ということで。

*お約束:ここに書かれた手順を参考にして何かまずいことが起きても責任を負いかねますのでご了承ください。

できあがったものがこちら


ご覧いただくとわかるのですが、音声部分には合成音声を使用しています。(Open JTalk Ver.1.11 + HTS voice "NIT ATR503 M001" Ver.1.05 を使用:Open JTalkのライセンス情報HTS voiceのライセンス情報

当初目標と要件

  • 「動画」といっても絵を派手に動かすのは敷居が高すぎるので、紙芝居風に、スライドファイルの各ページに音声を付けられれば御の字
  • 地声ではなく合成音声を使いたい
    • 「声バレ」はあまり気が進まない
    • そもそも自分は滑舌が良くないので録音は大変そう
    • 「合成音声」とか進んだ技術っぽくて楽しそう(小学生並みの感想)
  • ものになりそうだったら講義資料に使えるとより嬉しい
    • たくさん作るかもしれないことを考えると、動画としてのクオリティよりも手間の少なさを優先で
  • 本当にうまくいくかわからないので、初期投資は少なめで
  • Windows上で作成(自分の環境)

大まかな作り方(試行錯誤の結果)

  1. 元ネタとなるスライドファイルを準備
  2. スライドをページごとに画像ファイル化
  3. 音声部分の原稿を作成して、合成音声で音声ファイル化
  4. スライドの画像ファイルと音声ファイルを動画作成ソフトに投入
  5. 音声を聴きながら、画像が切り替わるタイミングの調整
  6. 完成!

手順1:元ネタとなるスライドファイルを準備

コンセプトが「講義資料のスライドの動画化」なので、既に作っていたスライドファイルを流用しました。(LaTeX Beamerで作ったのでPDFファイル)

手順2:スライドをページごとに画像ファイル化

仕事で使うためにAdobe Acrobatの有料版を持っていたので、そのソフトの機能を使うだけでページごとに画像化できました。
無料版だとできるのかどうかわかりません。もしできなければ、スライド自体をPowerPointで作ればそっちの機能で画像化できるんじゃないかと思います。

手順3:音声部分の原稿を作成して、合成音声で音声ファイル化

元々音声データとか合成音声とかの知識が乏しかったので、ここのパートはかなり苦戦しました。
  • まず「どのソフトで合成音声を作るか」という点について。
    最初はとりあえず、テキスト読み上げソフトとかボーカロイド的なソフトとかその辺を色々物色していたのですが、前述のように「講義資料を作るのに使うかもしれない」と考えていたので、業務利用に該当するかもしれないと思うと商用利用可のソフトにした方が無難かなぁ、ということにふと気が付きました。
    • 大学の講義資料作成が「商用利用」なのかどうかは詳しく知りませんが、安全サイドに倒した次第
    で、前述のように初期投資はなるべく抑えたかったので無料のソフトを色々探していたものの、基本的にどれも「商用利用は不可、あるいは有料」ということだったので(そりゃそうだ)、ある程度は出費してもいいかと思って有料のソフトで探す方針へと変更。
    色々探していたら、ほどほどのお値段(4桁ぐらい)でかつ商用利用可、というソフトが見つかったのですが、よく注意書きを読んだところ「個人利用であれば」商用利用可、という但し書きを発見。「「講義資料作成」って「個人利用」なのか?」という疑問が生じたため、一応法人ライセンスのお値段も確認したところ、わりとびっくりするお値段(6桁ぐらい)だったのであえなく撤退。
    • 法人ライセンスの相場はそんなものなのかもしれませんが、単にこちらが相場を知らなかったのでびっくりしたのです
    その後、「合成音声を研究している大学の研究室だったら、教育目的での利用におおらかな合成音声ソフトを公開しているところがあるかもしれない」とひらめいて、色々探しまわったところ、前述のOpen JTalkに辿り着きました。名古屋工業大学の皆様どうもありがとうございます。
    • 私のライセンスの読み方が間違っていなければ本件での使用も問題ない…と思うのですが、私自身はともかく他の方のトラブルの責任は負えませんので、使用される方はくれぐれもご自身でライセンス内容の確認をお願いします。
  • ただ一つ問題があって、(少なくともWindows環境だと)Open JTalkはバイナリファイルが提供されていなくて、ソースコードから頑張って組み立てるしかないっぽいです。その方法はこちらのページ Windowsで音声合成Open JTalk を参考にしました。
    • この手の作業にあまり慣れていないので少々手間取りましたが、多分1時間ぐらいでソフトを動かせる状態になったと思います。
  • Open JTalkの(私が理解できた)使い方は「テキストファイルを読み込ませるとwavファイルができる」というものだったので、スライドファイルを見ながら原稿のテキストを作成して、それをwavファイルに変換していきました。ただこれが意外と大変で、
    • そもそも元々のスライド自体が105分講義を想定しているので、単純にしゃべる原稿を書くだけでもかなり分量があって大変でした。私の筆が遅いのかもしれませんが、このパートだけで少なくとも3~4時間はかかった記憶があります。
    • 原稿全体を一度に音声化すると後で微調整が大変だと思ったので、原稿のファイルを短いファイルの束に区切って、ファイルごとに順次音声化していきました。ここはすごく久々にRubyを引っ張り出してスクリプトを組みました。Rubyの文法などをすっかり忘れていたのでスクリプト書きにも苦戦しましたがそれはさておき、テキストファイルの分割自体はほぼ一瞬で、全ファイルの音声化の作業が確か10分ぐらいで終わったと思います。
      • できあがった音声自体は全部で30分ぐらいの長さでした。なお、講義の日よりも前にこの作業をしていたので、「あれ、105分講義のはずなのに30分しかしゃべる内容がない?」と心配したのですが、実際に講義をしてみると、説明を丁寧にしたり色々と余談を挟んだりで、結果的にはむしろ時間が足りな(以下略)
    • 次に音声ファイルを聴きながら無事に変換できたか確認するのですが、無事じゃないパートが思いのほか多かったので、テキスト修正→音声化→確認、のサイクルをたくさん回すことになりました。体験談として「無事じゃなかった」主なケースは以下の通りです。(ソフトの問題というよりは、多分私が使い方をよくわかっていないだけだと思うのですが、一応参考情報として)
      • 「息継ぎ」なしで長めの文章を喋らせると、途中で音声合成が変なことになります。原因がよくわからないので、こまめに読点や空白を入れることで調整しました。
      • 日本語と英語(記号)が混ざっていると英語(記号)の部分があまりはっきり発音されませんでした。これも原因がよくわからないので、とりあえず「N個」を「エヌ個」に変えたりといった小手先の対策で何とかしました。(ちょっと星新一風味)
      • 漢字の読みはわりと期待通りに読んでくれたのですが、たまにそうじゃない語句(例えば「値」を「あたい」と読んでほしいところで「ね」と読まれる、など)がありました。これは辞書データをどうにかすれば対処できるはずなのですが、面倒なので上と同じくカタカナ表記で乗り切りました。
      …といった諸々の点に対応しつつの作業で、ここもだいぶ時間がかかりました(多分4~5時間ぐらい)。ただこの点は、一度作業してソフトの癖をある程度把握できたので、次回にはもっと時間を短縮できることでしょう。
  • あと、後述する動画作成ソフトの仕様上(あるいは私が使い方をわかっていなかったため)、細切れになっている音声ファイルを一つにまとめておく必要がありました。色々調べた結果、wavファイルの連結に使えるSoXというフリーソフトを見つけたのでそれを採用。使い方はこちらのページ SoXをWindows10で使い始めるまでの手順(メモ) を参考にしました。
    • ちゃんと使い方を調べれば複数ファイルの一括連結の方法があるのかもしれないのですが、よくわからなかったので、再びRubyで「二つのファイルの連結」を地味に繰り返すスクリプトを組みました。この連結の作業に地味に時間がかかり、ファイルを全部連結するのに30分ぐらいかかったと思います。

手順4:スライドの画像ファイルと音声ファイルを動画作成ソフトに投入

ここの工程には、Windows 10に入っていた「ビデオエディター」というソフトを使いました。これは複数の画像(や、多分動画も)を順番に再生する動画を作り、BGM的に音声ファイルの中身をくっつけられるソフト…だと思って使いました。使い方はわりと直感的だと思うので、実際に使ってみるのが一番わかりやすいと思います。

手順5:音声を聴きながら、画像が切り替わるタイミングの調整

前述のビデオエディターでは、各々の画像をどれだけの時間表示させるか、つまり画像の切り替わりのタイミングを一枚ごとに指定できるので、ソフト上でプレビューを再生して音声を聴きつつ、各画像の表示時間を設定していきます。
これが地味に面倒で、何しろ今回のスライドは(アニメーション的に1行ずつ表示したりしているので)画像にして200枚ぐらいになっており、それぞれについて音声を聴いて時間を測りソフト上で表示時間を設定し、…をひたすら繰り返しました。そもそも30分ぐらいの動画で、各ページにつき「最初の再生」と「設定後の確認」で最低2回は音声を聴くことになるので、それだけで30 × 2 = 60分はほぼ確定なわけです。実際には時間の調整が一発で終わるとは限らず、またソフト自体を操作する時間もかかりますのでもっと長い作業時間になります。ここだけで多分2~3時間ぐらいかかったんじゃないでしょうか。

手順6:完成!

…というわけでできあがったのが冒頭に貼り付けた動画です。
30分ぐらいの動画ですが、手順中に太字で数字を書いた作業時間だけで合計12時間前後、それにソフトの設定とかスクリプト組んだりとかそもそもソフトを探したりという時間も含めると、全部で16時間ぐらいはかかったんじゃないかと思います。(後者の環境構築は1回やればよいだけなので、手順中には時間を書きませんでした。)
これはこれで面白かったですし、折角なので別の動画も作ってみたいと思いますが、当初目論んでいた「毎回の講義資料の作成」に「スライド作成プラス12時間」を費やしたいかと考えると、ちょっとかなり尻込みするのが正直な感想です。何しろ地味な作業が多いので、費やした時間以上に精神的な疲労が濃いので、毎回の講義に使うのであれば素直に講義を生放送するか、自分でエア講義したものを録画する方がよいんじゃないかなぁと思いました。
それにしても、この程度のクオリティの紙芝居動画を作るだけでこんなに大変なんだから、YouTuberのように凝った動画をたくさん作っている人はすごいものだなぁと感じた次第です。
なお、折角なので、アップロードした動画を直リンクでは見られないようにする設定方法も調べて試してみました。.htaccessというファイルでごにょごにょするんですが、こちらのページ WordPress でアップロードした画像への直リンクを禁止する方法 の内容を応用して何とかしましたので詳しくはそちらをご覧ください。

トップ «前の日記(2018-10-31) 最新 次の日記(2020-09-04)» 編集

最近のツッコミ↓

↑最近のツッコミ
合計: 今日: 昨日:

README 日記の書き方 footnote.rb @Twitter 中の人のページ研究関係
Cryptology ePrint Archive