[R] create waveform sawtooth

Michael Tiemann mdtiemann at gmail.com
Sun Nov 12 15:15:45 CET 2017


My tuneR sawtooth wave function generator is broken.

When I use the sine function, I get exactly what I expect: a sine wave whose frequency is defined by the freq parameter.  In particular, higher frequencies have shorter wavelengths (more cycles per second means shorter waves).  When I create a sawtooth wave, the opposite seems to occur: higher frequencies result in longer waves.  But that’s not all: as frequencies increase, it appears that wavelengths increase to infinite length, then get shorter again as the wave reverses, then it gets longer and flips again.

Here’s a small file that demonstrates the bad sawtooth waves:

library(tuneR)

sample_rate <- 12000
reverse <- FALSE
mycolors=c("red","orange","yellow","green","cyan","blue","violet","magenta")
plot(sawtooth(110,duration=round(sample_rate/100),samp.rate=sample_rate,xunit="samples")@left,type="l")
freqs <- c(111,112,113,114,115,116,117,118)
for (i in 1:length(freqs)) {
    temp <- sine(freqs[i],duration=round(sample_rate/100),samp.rate=sample_rate,xunit="samples")
    lines(temp at left,type="l",lty=2,col=mycolors[i])
}




	[[alternative HTML version deleted]]



More information about the R-help mailing list