Synthesise onsets
synthesise_onsets.Rmd
To create an audio file of your onset data, you can call
synthesise_onsets
function.
Example data
Load a Cuban salsa example.
Let’s take a 10 second example. To eliminate the first 5 seconds where the instruments are not playing, let’s redefine the time to start from the first annotated cycle (Isochronous.SD.Time).
Synthesise two instruments
Let’s take two instruments and create their onsets as high-pitched sound (Guitar) and short noise burst (Bass).
inst <- c('Guitar','Bass')
fs <- 22050
w <- synthesise_onsets(data = data,
instruments = inst,
sr = fs,
type =c('synth','noise'))
Plot the signal
This is downsampled for plotting in ggplot2
.
scaling <- 20
ws <- signal::resample(w,fs,fs*scaling)
tmp <- data.frame(Amplitude=ws,Time=seq(0,length(ws)-1))
tmp$Time <- tmp$Time/fs*scaling
ggplot2::ggplot(tmp,ggplot2::aes(x=Time,y=Amplitude))+
ggplot2::geom_line(color='blue')+
ggplot2::theme_linedraw()
Save as wave file using seewave
library.
seewave::savewav(wave = w, f = fs, channel = 1, filename = 'example.wav')
Further options relate to sound generators and frequency.