お小遣い,ほしい。
あとはこれをコンスタントに実施
これを全部Rで、な?
というわけで、作ったことにします。pandocでhtmlに簡単出力!
超簡単!
ari::narrate()
ari_narrate(script, slides, output = "output.mp4", voice,
capture_method = "vectorized", ...)
kosaki.Rmd
というioslidesで準備したファイル:
---
title: "More Kosaki!"
output: ioslides_presentation
---
<!-- タイトルスライド用原稿 -->
## more! more kosaki.
```{r cars, echo = TRUE}
summary(cars)
```
<!-- 二枚目の原稿をひたすら綴る。-->
## kosaki! kosaki!
```{r pressure}
plot(pressure)
```
<!-- 三枚目の原稿を綴る -->
mp4を生成するコードは以下の通り:
# まずはrender
rmarkdown::render("kosaki.Rmd", output_file = "kosaki.html")
# mp4を生成するコード
ari::ari_narrate("kosaki.Rmd", slides = "kosaki.html", output = "kosaki.mp4",
voice = "Mizuki", capture_method = "iterative")
slides =
のhtmlスライド一枚一枚をwebshotで画像にするscript =
内容から,各スライドの読み上げ原稿を抽出…道は険しい。
webshot::install_phantomjs()
でOK
voice
で読み手を指定できるvoice = "Mizuki"
やることは以下の通り:
# 上2つは架空の文字列です
Sys.setenv("AWS_ACCESS_KEY_ID" = "KOSAKIKOSAKIKOSAKIKO",
"AWS_SECRET_ACCESS_KEY" = "KosakiKosakiKosakiKosakiKosakiKosakiKosa",
"AWS_DEFAULT_REGION" = "ap-northeast-1")
ariパッケージのインストール
# cranから
install.packages("ari")
# githubはこちら(2017/11/24時点ではcranと同じ)
devtools::install_github("seankross/ari")
ari::narrate()
を実行
# mp4を生成するコード
ari::ari_narrate("kosaki.Rmd", slides = "kosaki.html", output = "kosaki.mp4",
voice = "Mizuki", capture_method = "iterative")
まあてきとうにやっといてください。
mp4形式ならすんなりと公開できます:
RStudioでYouTubeを再生できれば解決!
devtools::install_github("kazutan/tubeplayR")
githubinstall::githubinstall("tubeplayR")
$ docker pull kazutan/zousan-r:tube_box
$ docker run -p 8787:8787 -v ~:/home/rstudio -d --name kosaki kazutan/zousan-r:tube_box
script
にmdファイルを与えた場合、renderして生成されたhtmlファイルのpタグひとつ分をスライド1枚分の原稿として処理
script
にRmdファイルを与えた場合、htmlコメント(<!-- 文字列 -->
)一つ分をスライド1枚分の原稿として処理
状況や好みに応じて使い分ければ便利
ari::narrate()
の...
はwebshotの引数として引き渡される
参考資料: