library(soundgen) library(seewave) s1 = soundgen( sylLen = 420, pitch = data.frame(time = c(0, 250, 420), value = c(535, 541, 470)), rolloff = c(-13, -13, -8, -6), rolloffOct = -1, shimmerDep = 5, temperature = 0.001, formants = list(f1 = c(850, 1050, 1100), f2 = 1700, f3 = 3400, f4 = 4500), attackLen = 20, dynamicRange = 120, addSilence = 0, samplingRate = 22050, pitchSamplingRate = 22050, play = T, plot = T, osc = T, ylim = c(0, 8) ) s2 = soundgen( sylLen = 400, pitch = 1050, ampl = c(0, -30), jitterDep = .5, jitterLen = 75, shimmerDep = 20, rolloff = -10, temperature = 0.05, formants = list(f1 = c(1100, 850), f2 = 1700, f3 = 3400, f4 = 4500), noise = data.frame(time = c(-470, 0, 700), value = c(-55, -40, -65)), rolloffNoise = -4, attackLen = 20, dynamicRange = 120, addSilence = 0, samplingRate = 22050, pitchSamplingRate = 22050, play = T, plot = T, osc = T, ylim = c(0, 8) ) s3 = soundgen( nSyl = 3, sylLen = c(35, 45, 65), pauseLen = 115, pitch = c(520, 530, 510), amplGlobal = c(-5, 0, -5), rolloff = c(-8, -12), rolloffOct = -1, temperature = 0.05, formants = c(850, 1700, 3400, 4500), attackLen = c(10, 20), dynamicRange = 120, addSilence = 0, samplingRate = 22050, pitchSamplingRate = 22050, play = T, plot = T, osc = T, ylim = c(0, 8) ) s4 = soundgen( sylLen = 210, pitch = data.frame(time = c(0, 150, 210), value = c(525, 360, 400)), ampl = c(0, -15, -30), rolloff = c(-10, -16), rolloffOct = -1, temperature = 0.05, formants = c(750, 1700, 2900, 4200), mouth = c(.5, .45), noise = data.frame(time = c(0, 300), value = c(-80, -80)), attackLen = 20, dynamicRange = 120, addSilence = 0, samplingRate = 22050, pitchSamplingRate = 22050, play = T, plot = T, osc = T, ylim = c(0, 8) ) s = addVectors(s1, s2 / 4) s = addVectors(s, s3, insertionPoint = length(s1) + 22050 * .11) s = addVectors(s, s4 / 1.5, insertionPoint = length(s1) + length(s3) + 22050* .11 + 22050 * .09) playme(s, 22050) savewav(s, f = 22050, filename = 'laugh_253_soundgen.wav')