oscillo {seewave}R Documentation

Show a time wave as an oscillogram

Description

This graphical function displays a time wave as an oscillogram in a single or multi-frame plot. The envelope of the wave can also be shown.

Usage

oscillo(wave, f, from = FALSE, to = FALSE, scroll = NULL,
zoom = FALSE, k=1, j=1, labels = TRUE, byrow = TRUE,
env = FALSE, smooth = NULL,
ksmooth = NULL, identify = FALSE, plot = TRUE, colwave = "black", 
colbg = "white", coltitle = "black", cextitle = 1.2,
fonttitle = 2, collab = "black",
cexlab = 1, fontlab = 1, colline = "black", 
colaxis = "black", coly0 = "lightgrey",
title = FALSE, xaxt="s", yaxt="n", bty = "l")

Arguments

wave data describing a time wave or a Sample object generated loading a wav file with loadSample (package sound).
f sampling frequency of wave (in Hz). Does not need to be specified if wave is a Sample object.
from start of the oscillogram (in s).
to end of the oscillogram (in s).
scroll a numeric of length 1 allowing to move along the time wave using a slider panel. This numeric corresponds to the number of successive windows dividing the time wave.
zoom time zoom in with start and end points chosen on the oscillogram with a cursor.
k number of horizontal sections (by default =1).
j number of vertical sections (by default =1).
labels if TRUE plots time and amplitude labels (by default TRUE).
byrow logical, if TRUE, the sections are filled by rows, otherwise the sections are filled by colmuns (by default TRUE).
env logical, if TRUE plots the envelope of the time wave instead (by default FALSE).
smooth if env is TRUE then smoothes the envelope by floating average.
ksmooth if env is TRUE then smoothes the envelope by applying a kernel smoothing.
identify returns the time coordinate of points chosen with a cursor on the oscillogram.
plot logical, if TRUE returns an oscillographic or envelope plot of wave(by default TRUE).
colwave colour of the oscillogram or of the envelope.
colbg background colour.
coltitle if title is TRUE, colour of the title.
cextitle character size for the title.
fonttitle font for the title.
cexlab character size for axes title.
fontlab font for axes title.
collab colour of axes title.
colline colour of axes line.
colaxis colour of the axes.
coly0 colour of the y=0 line.
title TRUE to add a title with information on wave duration and f, FALSE to live it blanck, or a character string to add any desired title.
xaxt equivalent to xaxt of par (by default ="s").
yaxt equivalent to yaxt of par (by default ="n").
bty the type of box to be drawn around the oscillogram.

Value

Data are returned as one-column matrix if plot is FALSE. identify returns a numeric object with the time coordinate of points successively chosen on the oscillogram.

Note

zoom is similar to but more visual than from and/or to. zoom and identify do work with a single-frame window only (i. e. with k = 1 and j = 1).
Press ‘Stop’ button of the tools bar after choosing the appropriate points on the oscillogram.

Author(s)

Jérôme Sueur sueur@mnhn.fr and Caroline Simonis csimonis@mnhn.fr.

See Also

oscilloST,cutw, pastew, timer

Examples

data(tico)
# a simple oscillogram of a bird song
oscillo(tico,f=22050)
# zoom in
op<-par(mfrow=c(4,1),mar=c(4.5,4,2,2))
oscillo(tico,22050,cexlab=0.75)
oscillo(tico,22050,from=0.5,to=0.9,cexlab=0.75)
oscillo(tico,22050,from=0.65,to=0.75,cexlab=0.75)
oscillo(tico,22050,from=0.68,to=0.70,cexlab=0.75)
par(op)
# the same divided in four lines
oscillo(tico,f=22050,k=4,j=1)
# the same divided in different numbers of lines and columns
oscillo(tico,f=22050,k=4,j=4)
oscillo(tico,f=22050,k=2,j=2,byrow=TRUE)
oscillo(tico,f=22050,k=2,j=2,byrow=FALSE)
# envelope representation without and with smoothing
oscillo(tico,f=22050,env=TRUE)
oscillo(tico,f=22050,env=TRUE,smooth=80)
oscillo(tico,f=22050,env=TRUE,ksmooth=kernel("daniell",10))
oscillo(tico,f=22050,env=TRUE,ksmooth=kernel("daniell",500))
# overplot of oscillographic and envelope representation
env<-oscillo(tico,f=22050,env=TRUE,plot=FALSE,smooth=40)
ticonorm<-tico/max(tico)
envnorm<-env/max(env)
oscillo(ticonorm,f=22050)
par(new=TRUE)
plot(envnorm,type="l",col="red",xaxs="i",yaxs="i",ann=FALSE,xaxt="n",yaxt="n",
    ylim=range(ticonorm),bty="l",lwd=2)
legend(x=4, y=1,"smoothed envelope", col="red",lty=1,lwd=2,bty="n",cex=0.75)
# full colour modifications in a two-frame oscillogram
oscillo(tico,f=22050,k=4,j=1,title=TRUE,colwave="black",colbg="grey",
    coltitle="yellow",collab="red",colline="white",
    colaxis="blue",coly0="grey50")
# change the title
data(orni)
oscillo(orni,f=22050,title="The song of a famous cicada")
# move along the signal using scroll
oscillo(tico,f=22050,scroll=8)

[Package seewave version 1.4.7 Index]