Udemyにデータサイエンスの講座を出したのでの撮り方と反省について

# はじめに
今年の6月に授業動画を[Udemyにデータサイエンス系の講座をリリース](https://www.udemy.com/course/pythonnlp/?referralCode=BDBAF97204B8A5FB83EF)しました。ここではその講座の撮り方などを振り返りながら、その反省などについて書いてみたいと思います。
元々はやってみませんか？的に声がかかってスタートしたという、主体性のないスタートでしたが、人に教える以上下手なことは言えないので自分の勉強にもなりますし、現在フリーランスということもあり、部下を持ったりする機会も少ないので、教育とか人の育成などに携わることも少ないのでこれを機に少しやってみようと思いました。
これから講座を撮ってみたいという方だけでなく、最近は流行病の影響でテレワークなども流行っており、オンラインやビデオで研修をしないといけないケースが増えてくると思うので、そういった方にも参考になればと思います。

# 使用機材
 - 編集資料作成用PC→MacBookPro 2019
 - 撮影用PC→→MacBookPro2017、MacBookPro2019のBootCampのWindows10 Pro
 - カメラ→iPhone XR
 - マイク→SnowBall、 SnowBall ICE
 - カメラ三脚→家にあった安物
 - スライド・説明資料→JupyterLab、PowerPoint、[TexClip](https://texclip.marutank.net/)
 - 動作作成及び編集ソフト→iMovie、QuickTime、Audacity
 - ホワイトボード→nu board A4


## プログラムの動作環境
プログラムの動作環境は結構悩みました。普段は仕事だとDocker上に分析環境立てるか、pyenv-venvを使うかのどちらかなのですが、講座で取り扱うものとしては少し環境セットアップの難易度が高いなと思ったので別の方法を取らねばと思いました。Google Colaboratoryだと環境セットアップの手間もいらず、OSにも依存しないので、講師をやる上でも受講生の挫折率も下がるなとは思ったのですが、講座中でMeCabのシステム辞書を扱うなどでファイル操作やターミナル操作などが発生するので、今回はAnacondaのJupyter Labを使用することにしました。Windowsについては、WSLでLinux環境を準備して、そこで実行するようにしました。

## 資料作成
資料はパワーポイントとJupyterのマークダウンを併用しました。あとどうしてもデータサイエンスの内容ということで数式が多かったので、一部ホワイトボードでの手書きを併用しました。いわゆる写真のようなノート型のホワイトボードを手書き用に使用しました。

![スクリーンショット 2020-11-27 23.33.56.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/363400/6bc3b358-0630-b3ff-aebb-e305330f48dc.png)

数式の資料作成ですが、JupyterであればTexコマンドが使えるのでそこまで問題ないのですが、Officeの場合数式の入力が貧弱なので、結構試行錯誤しました。結果、[TexClip](https://texclip.marutank.net/)で数式を画像として保存して、それをPowerPointのスライドに貼り付けるという力技で行きました。結果これは大失敗でした(詳しくは反省のところで書きます)。
あと、PowerPointの小ネタですが、[スポイド機能](https://support.microsoft.com/ja-jp/office/%E3%82%B9%E3%83%9D%E3%82%A4%E3%83%88%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6%E3%80%81%E3%82%B9%E3%83%A9%E3%82%A4%E3%83%89%E4%B8%8A%E3%81%AE%E8%89%B2%E3%82%92%E4%B8%80%E8%87%B4%E3%81%95%E3%81%9B%E3%82%8B-d5e7a32a-da6c-4bed-9f1e-8797f07174e9)が結構便利です。使用するテンプレートによっては、テンプレートの文字が黒でない色を使っていたり、図形や文字の色を図と合わせたいというケースがあると思うので、RGBとかでも、スライド中の色合いを出せたりするので重宝しました。

作成した資料は最終的にGoogleドライブで配布することにしました。

## 撮影方法
### 全体の流れ
今回はローカルマシーンにセットアップしていくところを含めて講義することにしたので、予備のMacBookを初期化して実際にほぼデフォルト状態のMacBookを収録用のPCとしてセットアップから講座の収録を進めながらやっていきました。実際にはこんな感じのところで撮影しています。これは書画を使って手元で数式を書いたりしながら説明している時の場面です。
![IMG_1546のコピー.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/363400/0a5d6075-02f3-fc92-d71b-c0fd2cb3e860.jpeg)
ホワイトボードが置かれていて、マイクに向かって話しています。画像ではないですが、実際には上の部分にiPhoneを取り付けて話しています。見切れている三脚はこんな感じです。
![IMG_1538のコピー.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/363400/a1e2780e-f0ab-e650-08d0-01ba83a2cd85.jpeg)
スマホを取り付けるとかなり倒れやすくなるので、袋の中に、水を充填した酒瓶を入れて重りにしています。足元の小さい酒瓶も倒れないように支えています。先端の部分はスマホの自撮り棒を装着しています。
テーブルに取り付けてスマホなどを吊るすような装置もAmazonなどで売られていて試してはみたのですが、揺れが気になって使い物にならなかったのでこれで落ち着きました。ホワイトボードを使う場合は照明の場所によってはかなり光が気になるので、いくつか置き場を試しながらやりました。なので、こういった折りたたみ式のテーブルの方が便利かもしれません(長時間撮影していると腰が痛みますが)。

実際にコードを動かす場合やスライドで説明する場合はホワイトボードの場所にPCが置かれます。コードやスライドなどを説明するときはQuickTimeで画面キャプチャーと音声録画をしました。ホワイトボードを使う場合もQuickTimeで音声を録音しています。
画面撮影時ですが、YouTubeのデフォルト画面みたいに画面が大きくないので、写すフォントの大きさはおばあちゃんが見るくらいに大きくしておいた方がいいです。仕方ないときは編集で拡大もできますが、不自然な感じにもなるので、ブラウザやエディタが150%や200%などに拡大して撮影、ホワイトボードやスライドは意識して大きめの字にします。実際にはこの画像のように150%拡大をしてもPCで見る分にはいいですが、スマホで見るとやや小さいなぁという印象を受けます。スマホで見る人がいるような講座の場合にはさらに大きくする必要があると思います。
![スクリーンショット 2020-12-03 18.35.42.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/363400/3651d0e8-7252-1577-9b9d-1885782763c0.png)


マイクは単一指向性のものがいいらしいです。マイクの正面を強く音声を拾うので、反対側などの音を拾いにくいので雑音や生活音が入りにくいです。撮影時は実家にいたのですが、この裏側で家族がテレビを見ていたりしたこともあるのですが、その辺の音もほとんど入らなかったです(ただ、理由はわからないですがテレビなどの電子音や雑音などは拾いにくいですが、人の生の声はマイクの反対側でも比較的拾いやすい気がする)。
今回は撮影の前半は借りていたSnowBallというマイクを使用し、その後自身でSnowBall ICEが手に入ったのでそちらを使用しました。
撮影時ですが、音声と画面操作を撮影する際には以下のようなやり方があります。

- 画面を先に撮影して、その動画に合わせて音声を吹き込むスタイル
- 音声を先に録音して、その音声に合わせて画面を動かして動画を作成するスタイル
- 音声と画面を同時に撮影するスタイル

人によってこれらの方法をどう使うかは好みがでるようですが、私は「音声と画面を同時に撮影するスタイル」を採用しました。自分でもいろいろ試してみたのですが、音声と、画面を片方ずつ撮影するとどうしても窮屈になってしまうのと、手書きを採用したこともあり、少なくとも手書きは別々にするとペースが掴めずやりにくかったためです。
また、後ほどiPhoneのカメラ映像とPCのキャプチャー＋マイク音を合わせることになるので、最初に目印のために決まった音を立てると合わせやすいです。開始する前に手を叩くでも「あー」と叫ぶとかでもいいので、目印の音声をつけてそこで合わせるとのちの編集がスムーズにいきます。


## 編集方法
編集で行うこととしては、

- 音声編集
- 映像編集

の二つを行いました。

### 音声編集
音声は主にホワイトノイズを取り除きました。AudacityとAudacityのffmpegのアドオンを使用しました。こちらのアドオンを使用することで、動画ファイルから音声が抜かれます。ホワイトノイズの除去については[こちら](https://nskw-style.com/2017/mac/audacity-noise-reduction.html)のサイトが詳しいので、こちらにゆずります。パラメータの調整具合によって必要な音が消えて変な感じにになったりもするので、最初はデフォルトで試して適宜調整する感じです。この時点では特にカット等は行わないです

### 動画編集
私は極力無料で済ませたかったのでiMovieで編集をしました。まずはPCの音声を切り離して、先ほどAudacityで編集した音声に付け替えます。付け替えた時点で、iPhoneとずれないように映像を合わせて、二つを合体させます。
あとは、画面でどちらを見せるか、いらない部分のカットや字幕などを入れるかなどを適宜編集していくだけです。ホワイトボーと使ってない場合はiPhoneの部分がなくなって、音声付け替えた後にひたすら編集してくだけです。
![スクリーンショット 2020-12-03 18.29.05.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/363400/aba7b89c-5379-4de2-d785-ddffa919efd8.png)




# 反省
いくつか撮影してみてこうしたら良かったなぁと思うことをまとめておきます。

## 構成
初めて作るにしては少し内容を欲張りすぎたかなという気がします。約10時間分の講座を作ったのですが、Udemyの出されている講座の中でももっと短い時間で完結している講座も多く、最初はそのくらいから始めればよかったかなと思います。あと数学を少し入れたのですが、時間の関係と本筋ではないという理由で内容が中途半端だったかなと思います。別で数学講座にしてもよかったかなと思わなくもないです。

##環境構築
いただいたレビューやQ&Aでも環境構築絡みのフォローや指摘が多く、少し難しいのかなぁとも感じました。特にWindowsでWSLを使ってLinux環境を準備して行うようにしたのですが、Windowsに慣れている方だとなぜこのようなことをするのかや、少々仕様が独特なので使い難かったかなぁと思います。もしかするとDockerとかで専用のイメージこちらで作って配る方が簡単だったのでは？という気がします。それか、カリキュラム少し変えてターミナルを触らないようにしてGoogle Colaboratoryなどの環境構築がほとんど必要ないような工夫が必要だったかなぁという感じはしています。


## 資料作成
資料作成ですが、慣れているという理由だけでPowerPoint使ったのは失敗だったなぁと今更思います。Mac使っているのでKeyNoteであれば数式を[Texコマンド](https://support.apple.com/ja-jp/guide/keynote/tan72a69d01f/mac)で入れていくことができるので、こちらを使った方が効率が明らかに良かったです。
![スクリーンショット 2020-12-03 18.16.07.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/363400/36582c47-3dbd-f0cb-3915-173f46e66cdf.png)
実際にはこの画像のように数式の部分を空白等で開けておいて、TexClipで作った数式を挿入する形式を取ったのですが、数式にミスがあるとTexClipにアクセスしてもう一度数式を作って画像保存して、挿入してというプロセスをとることになり、メンテナンス性も悪いのであまりお勧めできないです。


また、今回は音声と画面を同時収録したこともあり、話すことだけメモしてあるだけで厳密に台本を作らなかったので、後からトレースしにくいなぁという感じもします。ただ、台本厳密に作ってしまうと明らかに読んでます！となるので、一長一短な感じもしますが。講座によってはそういった明らかに読んでますみたいな講座も時々あるかと思いますが、気になる人は気になると思います。

## 編集時
今回はiMovieを使ったのですが、iPhoneと画面を合成した時に、ブツブツ途切れたようなノイズが発生することが多く理由はわからないのですが、調べてみるとどうやらiMovieとの相性の問題のようです。
また、字幕を付けられる場所に制約があったりとiMovieの機能では少し苦しいなぁという感じがしました。次撮影するときは、FinalCutProかadobe premiere proなどの導入が必要かなぁと思っています。



# まとめと今後について
今回は10時間分のビデオを撮影することになり、結構やることも多くて大変でした。
スライドもボツにしたのを入れると数百枚作成しましたし、Jupyterでの資料とプログラミングコードもほぼこのために1から作ったので実際には100時間ではとても利かないくらいかかっています。内容が増えてくると整合性を取るのも大変になってきます。正直100回以上投げ出そうと思いました。
いろいろ周りの方にも見ていただき意見をいただくこともあるのですが、もっとこの辺聞いてみたいとかいうリクエストもあるので、何かしらの形でUdemyのようなコンテンツは引き続き作ってみたいと思います。この記事や講座などが少しでも役立ちましたら幸いです。