Script for generating a dynamic, multi-paged video spectrogram from an audio file in R
Script for generating a dynamic spectrogram from an audio file Now supports multipaged videos with sliding highlight (akin to Audition)
Workflow:
brew install ffmpeg
Example usage:
require(devtools)
source_url("https://raw.githubusercontent.com/drwilkins/rspectVid/master/rspectVid.R")
#takes .wav or .mp3
params<-testSpec("data/Femalebarnswallow1.wav", onlyPlotSpec=F)
ggsave("web/femStaticSongSpec.png",params$spec[[1]])
rspectVid(params,vidName="femDynamicSongSpec",destFolder="web/")
#exports an .mp4 to the same file directory by default
p2<-testSpec("data/Femalebarnswallow1.wav",min_dB=-35, onlyPlotSpec=F,bgFlood=T,ampTrans=3)
rspectVid(p2,destFolder="web/")
p<-testSpec("http://www.oceanmammalinst.org/songs/hmpback3.wav",yLim=c(0,.7),crop=12,xLim=3,ampTrans=3)
ggsave("web/humpback.png", height=2, width=6)
rspectVid(p,destFolder="web/",delTemps=F)
#Voila 🐋
<iframe src=”https://player.vimeo.com/video/432723336” style=”border:0px” frameborder=”0” height=303 width=910 allow=”autoplay; fullscreen” allowfullscreen></iframe>
song="https://www.xeno-canto.org/sounds/uploaded/SPMWIWZKKC/XC490771-190804_1428_CONI.mp3"
n=testSpec(song,crop=20,xLim=4,colPal = c("white","black"))
rspectVid(n,vidName="nightHawk" ,highlightCol = "#d1b0ff",cursorCol = "#7817ff",destFolder="web/")