# NOT RUN {
# Objective: take formants from the bleating of a sheep and apply them to a
# synthetic sound with any arbitrary duration, intonation, nonlinearities etc
data(sheep, package = 'seewave') # import a recording from seewave
donor = as.numeric(scale(sheep@left)) # source of formants
samplingRate = sheep@samp.rate
playme(donor, samplingRate)
spectrogram(donor, samplingRate, osc = TRUE)
seewave::meanspec(donor, f = samplingRate, dB = 'max0')
s1 = transplantFormants(
donor = donor,
recipient = soundgen(sylLen = 1200,
pitch = c(100, 300, 250, 200),
vibratoFreq = 9, vibratoDep = 1,
samplingRate = samplingRate),
samplingRate = samplingRate)
playme(s1, samplingRate)
spectrogram(s1, samplingRate, osc = TRUE)
seewave::meanspec(s1, f = samplingRate, dB = 'max0')
s2 = transplantFormants(
donor = donor,
recipient = soundgen(sylLen = 1500,
pitch = c(150, 200, 120),
nonlinBalance = 50,
subFreq = 80, subDep = 50, jitterDep = 0,
noise = -20,
samplingRate = samplingRate),
samplingRate = samplingRate)
playme(s2, samplingRate)
spectrogram(s2, samplingRate, osc = TRUE)
seewave::meanspec(s2, f = samplingRate, dB = 'max0')
# }
Run the code above in your browser using DataLab