The hardware and bandwidth for this mirror is donated by METANET, the Webhosting and Full Service-Cloud Provider.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]metanet.ch.
muschellij2 badge:
Ari is an R package designed to help you make videos from plain text files. Ari uses Amazon Polly to convert your text into speech. You can then provide images or a set of HTML slides which Ari will narrate based on a script you provide. Ari uses FFmpeg to stitch together audio and images.
install.packages("ari")
You can also install the development version of Ari from GitHub with:
# install.packages("devtools")
::install_github("seankross/ari@dev") devtools
You also need to make sure you have FFmpeg version 3.2.4 or higher installed on your system.
First create an HTML slide presentation based in R Markdown using a
package like rmarkdown
or xaringan
. To
see an example presentation enter
browseURL(ari_example("ari_intro.html"))
into the R
console. For every slide in the package you should write some text that
will be read while the slide is being shown. You can do this in a
separate Markdown file (see
file.show(ari_example("ari_intro_script.md"))
) or you can
use HTML comments to put narration right in your .Rmd
file
(see file.show(ari_example("ari_comments.Rmd"))
). Make sure
to knit your .Rmd
file into the HTML slides you want to be
turned into a video.
Once you have finished your script and slides install the
aws.polly
package. You can find a guide for quickly setting
up R to use Amazon Web Services here.
Run aws.polly::list_voices()
to make sure your keys are
working (this function should return a data frame). Once you’ve set up
your access keys you can start using Ari.
These examples make use of the ari_example()
function.
In order to view the files mentioned here you should use
file.show(ari_example("[file name]"))
. You can watch an
example of a video produced by Ari here.
library(ari)
# First set up your AWS keys
Sys.setenv("AWS_ACCESS_KEY_ID" = "EA6TDV7ASDE9TL2WI6RJ",
"AWS_SECRET_ACCESS_KEY" = "OSnwITbMzcAwvHfYDEmk10khb3g82j04Wj8Va4AA",
"AWS_DEFAULT_REGION" = "us-east-2")
# Create a video from a Markdown file and slides
ari_narrate(
ari_example("ari_intro_script.md"),
ari_example("ari_intro.html"),
voice = "Joey")
# Create a video from an R Markdown file with comments and slides
ari_narrate(
ari_example("ari_comments.Rmd"),
ari_example("ari_intro.html"),
voice = "Kendra")
# Create a video from images and strings
ari_spin(
ari_example(c("mab1.png", "mab2.png")),
c("This is a graph.", "This is another graph"),
voice = "Joanna")
# Create a video from images and Waves
library(tuneR)
ari_stitch(
ari_example(c("mab1.png", "mab2.png")),
list(noise(), noise()))
Some html slides take a bit to render on webshot, and can be dark
gray instead of white. If you change the delay
argument in
ari_narrate
, passed to webshot
, this can
resolve some issues, but may take a bit longer to run. Also, using
capture_method = "vectorized"
is faster, but may have some
issues, so run with capture_method = "iterative"
if this is
the case as so:
ari_narrate(
ari_example("ari_comments.Rmd"),
ari_example("ari_intro.html"),
voice = "Kendra",
delay = 0.5,
capture_method = "iterative")
Creating videos from plain text has some significant advantages:
At the Johns Hopkins Data Science Lab we rapidly develop highly technical content about the latest libraries and technologies available to data scientists. Video production requires a significant time investment and APIs are always changing. If the interface to a software library changes it’s particularly arduous to re-record an entire lecture because some function arguments changed. By using Ari we hope to be able to rapidly create and update video content.
These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.