From fb55393584a9533e325c8d25b62dca9d73524226 Mon Sep 17 00:00:00 2001 From: edwbaker Date: Thu, 22 Feb 2024 11:13:03 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20@=20edwbaker?= =?UTF-8?q?/SonicScrewdriveR@fd15bbb5636d02bd15e47097da00057eef44c798=20?= =?UTF-8?q?=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../figure-html/unnamed-chunk-3-1.png | Bin 27524 -> 28316 bytes .../figure-html/unnamed-chunk-3-2.png | Bin 35762 -> 35594 bytes pkgdown.yml | 2 +- reference/index.html | 5 -- reference/soundSpeed.html | 47 +++++++++++++++++- search.json | 2 +- sitemap.xml | 3 -- 7 files changed, 47 insertions(+), 12 deletions(-) diff --git a/articles/augment-audio-data_files/figure-html/unnamed-chunk-3-1.png b/articles/augment-audio-data_files/figure-html/unnamed-chunk-3-1.png index 611584c3e3f643bacb95173e39c331df89b2f12d..1a8f67683f2692302d8e033c2abbeda6311dbd49 100644 GIT binary patch literal 28316 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 literal 27524 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 diff --git a/articles/augment-audio-data_files/figure-html/unnamed-chunk-3-2.png b/articles/augment-audio-data_files/figure-html/unnamed-chunk-3-2.png index 0c57fc273363dc4d0a1959c83d36e21b97feae0d..3f8c58af87fcd2d3aa7ad0d5cf4709c91a1e160a 100644 GIT binary patch literal 35594 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 literal 35762 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 functionssoundSpeed_cramer1993() - -
Speed of sound in air using Cramer (1993)
-
- specStats()
Calculate and plot statistics on a frequency spectrum
diff --git a/reference/soundSpeed.html b/reference/soundSpeed.html index c00132a3..9338ce45 100644 --- a/reference/soundSpeed.html +++ b/reference/soundSpeed.html @@ -69,17 +69,23 @@

Usage

soundSpeed(
   medium = NULL,
+  method = NULL,
   wl = NULL,
   f = NULL,
   bulkModulus = NULL,
-  density = NULL
+  density = NULL,
+  ...
 )

Arguments

medium
-

Propagation medium (e.g. "air")

+

Propagation medium (e.g. "air"), or "all" to return a list of all available media.

+ + +
method
+

Use a specific method to calculate the speed of sound (see Details).

wl
@@ -97,8 +103,45 @@

Arguments +

Details

+

The speed of sound can be calculated using the following methods:

  • cramer Uses the method described in Cramer (1993) +. +Additional parameters are:

    • temp Temperature

    • +
    • temp.unit Temperature unit

    • +
    • pressure Pressure

    • +
    • pressure.unit Pressure unit

    • +
    • RH Relative humidity

    • +
    • MoleFracCO2 Mole fraction of CO2

    • +
  • +

+
+

References

+

Cramer O (1993). +“The variation of the specific heat ratio and the speed of sound in air with temperature, pressure, humidity, and CO2 concentration.” +The Journal of the Acoustical Society of America, 93(5), 2510-2516. +ISSN 0001-4966, doi:10.1121/1.405827 +, https://pubs.aip.org/asa/jasa/article-pdf/93/5/2510/12186001/2510\_1\_online.pdf.

+
+
+

Examples

+
soundSpeed(medium="air")
+#> [1] 343
+soundSpeed(medium="sea water")
+#> [1] 1500
+
+soundSpeed(method="cramer", temp=14, pressure=3, RH=10)
+#> [1] 343
+soundSpeed(method="cramer", temp=14, temp.unit="C", pressure=3, pressure.unit="kPa", RH=10)
+#> [1] 343
+
+
diff --git a/search.json b/search.json index 6feaf1cd..291e65ed 100644 --- a/search.json +++ b/search.json @@ -1 +1 @@ -[{"path":[]},{"path":"http://sonicscrewdriver.ebaker.me.uk/CODE-OF-CONDUCT.html","id":"our-pledge","dir":"","previous_headings":"","what":"Our Pledge","title":"Contributor Covenant Code of Conduct","text":"interest fostering open welcoming environment, contributors maintainers pledge making participation project community harassment-free experience everyone, regardless age, body size, disability, ethnicity, gender identity expression, level experience, nationality, personal appearance, race, religion, sexual identity orientation.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/CODE-OF-CONDUCT.html","id":"our-standards","dir":"","previous_headings":"","what":"Our Standards","title":"Contributor Covenant Code of Conduct","text":"Examples behavior contributes creating positive environment include: Using welcoming inclusive language respectful differing viewpoints experiences Gracefully accepting constructive criticism Focusing best community Showing empathy towards community members Examples unacceptable behavior participants include: use sexualized language imagery unwelcome sexual attention advances Trolling, insulting/derogatory comments, personal political attacks Public private harassment Publishing others’ private information, physical electronic address, without explicit permission conduct reasonably considered inappropriate professional setting","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/CODE-OF-CONDUCT.html","id":"our-responsibilities","dir":"","previous_headings":"","what":"Our Responsibilities","title":"Contributor Covenant Code of Conduct","text":"Project maintainers responsible clarifying standards acceptable behavior expected take appropriate fair corrective action response instances unacceptable behavior. Project maintainers right responsibility remove, edit, reject comments, commits, code, wiki edits, issues, contributions aligned Code Conduct, ban temporarily permanently contributor behaviors deem inappropriate, threatening, offensive, harmful.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/CODE-OF-CONDUCT.html","id":"scope","dir":"","previous_headings":"","what":"Scope","title":"Contributor Covenant Code of Conduct","text":"Code Conduct applies within project spaces public spaces individual representing project community. Examples representing project community include using official project e-mail address, posting via official social media account, acting appointed representative online offline event. Representation project may defined clarified project maintainers.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/CODE-OF-CONDUCT.html","id":"enforcement","dir":"","previous_headings":"","what":"Enforcement","title":"Contributor Covenant Code of Conduct","text":"Instances abusive, harassing, otherwise unacceptable behavior may reported contacting project team edwbaker@gmail.com. project team review investigate complaints, respond way deems appropriate circumstances. project team obligated maintain confidentiality regard reporter incident. details specific enforcement policies may posted separately. Project maintainers follow enforce Code Conduct good faith may face temporary permanent repercussions determined members project’s leadership.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/CODE-OF-CONDUCT.html","id":"attribution","dir":"","previous_headings":"","what":"Attribution","title":"Contributor Covenant Code of Conduct","text":"Code Conduct adapted Contributor Covenant, version 1.4, available http://contributor-covenant.org/version/1/4","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/articles/audioblast.html","id":"what-is-audioblast","dir":"Articles","previous_headings":"","what":"What is audioblast?","title":"Using audioBlast with R","text":"Audioblast discovery tool bioacoustic ecoacoustic recordings. can use search recordings (e.g. species, location, date), annotations recordings, analysis results traits. Audioblast currently hosted Natural History Museum London. conceived Ed Baker University York part Leverhulme Trust funded Automated Acoustic Observatories project.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/articles/audioblast.html","id":"accessing-audioblast","dir":"Articles","previous_headings":"","what":"Accessing audioblast","title":"Using audioBlast with R","text":"audioblast() function SonicScrewdriveR wrapper allowing full access Audioblast API. also possible download many recordings audioblast using audioblastDownload().","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/articles/augment-audio-data.html","id":"introduction","dir":"Articles","previous_headings":"","what":"Introduction","title":"Augmenting audio data in R with SonicScrewdriveR","text":"Augmenting data common practice machine learning. process creating new data existing data (e.g. adding noise). done increase size training data make model robust. article show augment audio data R using sonicscrewdriver package. generateX() functions sonicscrewdriver designed operate Wave-like objects (Wave WaveMC tuneR Tagged equivalents) list Wave-like objects. Similarly, functions return list Wave-like objects. means can chain functions together create complex data augmentation pipelines.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/articles/augment-audio-data.html","id":"types-of-augmentation","dir":"Articles","previous_headings":"","what":"Types of augmentation","title":"Augmenting audio data in R with SonicScrewdriveR","text":"order demonstrate data augmentation process, use sonicscrewdriver package generate Dirac pulse.","code":"# Generate a Dirac pulse p <- pulse(\"dirac\") # Plot the pulse seewave::oscillo(p)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/articles/augment-audio-data.html","id":"noise-augmentation","dir":"Articles","previous_headings":"Types of augmentation","what":"Noise augmentation","title":"Augmenting audio data in R with SonicScrewdriveR","text":"Noise augmentation common technique used increase size training data. process adding noise original data. sonicscrewdriver package provides generateNoise() function add noise audio data. example add two different amounts white noise Dirac pulse.","code":"augmented <- c( generateNoise(p, \"white\", noise.ratio=0.1), generateNoise(p, \"white\", noise.ratio=0.3) ) for (i in 1:length(augmented)) { seewave::oscillo(augmented[[i]]) }"},{"path":"http://sonicscrewdriver.ebaker.me.uk/articles/augment-audio-data.html","id":"time-shifting-rotationpadding","dir":"Articles","previous_headings":"Types of augmentation","what":"Time shifting (rotation/padding)","title":"Augmenting audio data in R with SonicScrewdriveR","text":"Time shifting process shifting audio data certain number samples. sonicscrewdriver package provides generateTimeShift() function rotate audio data, either rotating audio data within file, padding file silence. demonstrate time shifting generate sum sine wave Dirac pulse. Time shifting inserting silence. Alternatively, can rotate audio data.","code":"p1 <- tuneR::sine(440, duration=44100*3) p2 <- pulse(\"dirac\", duration=44100*3) p <- 0.25*p1 + tuneR::normalize(p2) seewave::oscillo(p) # Rotate the audio data by one second rotated <- generateTimeShift(p, amount=1) seewave::oscillo(rotated[[1]]) # Rotate the audio data by one second rotated <- generateTimeShift(p, type=\"rotate\", amount=1) seewave::oscillo(rotated[[1]])"},{"path":"http://sonicscrewdriver.ebaker.me.uk/articles/augment-audio-data.html","id":"combining-augmentations","dir":"Articles","previous_headings":"","what":"Combining augmentations","title":"Augmenting audio data in R with SonicScrewdriveR","text":"sonicscrewdriver package allows chain together multiple augmentations create complex data augmentation pipelines. example, can add noise audio data rotate audio data. possible use anonymous functions add multiple augmentations single step. can effectively used generate large amounts augmented data. code generates three different noise augmented versions input, two different time-shifted versions , yielding six augmented versions. approach can used list initial Wave-like objects.","code":"# Load some test audio data f <- system.file(\"extdata\", \"AUDIOMOTH.flac\", package=\"sonicscrewdriver\") w <- readAudio(f) # Add noise to the audio data and then rotate the audio data using pipes augmented <- w |> generateNoise(\"white\", noise.ratio=0.1) |> generateTimeShift(amount=1) # Create list of data and augmentations data <- c(w, augmented) # Load some test audio data f <- system.file(\"extdata\", \"AUDIOMOTH.flac\", package=\"sonicscrewdriver\") w <- readAudio(f) # Add noise to the audio data and then rotate the audio data using pipes augmented <- w |> {\\(x) c(generateNoise(x, \"white\", noise.ratio=0.1), generateNoise(x, \"white\", noise.ratio=0.3), generateNoise(x, \"white\", noise.ratio=0.5)) }() |> {\\(x) c(generateTimeShift(x, amount=1), generateTimeShift(x, amount=2)) }() # Create list of data and augmentations data <- c(w, augmented) # Load some test audio data f <- system.file(\"extdata\", \"AUDIOMOTH.flac\", package=\"sonicscrewdriver\") w <- list( readAudio(f), readAudio(f), readAudio(f) ) # Add noise to the audio data and then rotate the audio data using pipes and anonymous functions augmented <- w |> {\\(x) c(generateNoise(x, \"white\", noise.ratio=0.1), generateNoise(x, \"white\", noise.ratio=0.3), generateNoise(x, \"white\", noise.ratio=0.5)) }() |> {\\(x) c(generateTimeShift(x, amount=1), generateTimeShift(x, amount=2)) }() # Create list of data and augmentations data <- c(w, augmented)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/articles/converting-code.html","id":"introduction","dir":"Articles","previous_headings":"","what":"Introduction","title":"Converting code to work with SonicScrewdriveR","text":"SonicScrewdriveR introduces several tools working audio data, TaggedWave TaggedWaveMC formats. Inside SonicScrewdriveR Tagged non-Tagged versions Wave-like objects can used interchangeably, however necessarily true functions packages. guide aimed end users package developers want convert code work SonicScrewdriveR.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/articles/converting-code.html","id":"taggedwave-and-taggedwavemc","dir":"Articles","previous_headings":"Introduction","what":"TaggedWave and TaggedWaveMC","title":"Converting code to work with SonicScrewdriveR","text":"try use function expects Wave object TaggedWave object, get error. end user can use untagWave function convert TaggedWave object Wave object. untagWave function can also used ‘untag’ TaggedWaveMC object. fix function package can make use inherits() rather alternative methods. TaggedWave inherits Wave can treated like Wave code. technique can used TaggedWaveMC objects inherits(w, \"WaveMC\").","code":"# Generate a `Wave` and `TaggedWave` sine w <- tuneR::sine(440) tw <- tagWave(w) # This will fail seewave::oscillo(tw) #> Error in seewave::oscillo(tw): argument \"f\" is missing, with no default # This will work seewave::oscillo(untagWave(tw)) # Methods that fail is(w, \"Wave\") class(w) == \"Wave\" # Method that works inherits(w, \"Wave\")"},{"path":"http://sonicscrewdriver.ebaker.me.uk/articles/converting-code.html","id":"adding-a-process-to-a-tagged-wave-like-object","dir":"Articles","previous_headings":"Introduction > TaggedWave and TaggedWaveMC","what":"Adding a process to a Tagged Wave-like object","title":"Converting code to work with SonicScrewdriveR","text":"want add process TaggedWave object can use addProcess method. can either called end user, functions aware Tagged versions.","code":"# End user using non-Tagged aware function seewave::oscillo(untag(tw)) addProcess(tw, \"seewave::oscillo\") # Inside a Tagged aware function addProcess( tw, process = \"mypkg::functionToCountChannels\", output = list(channels = 2) )"},{"path":[]},{"path":"http://sonicscrewdriver.ebaker.me.uk/articles/manage_audio.html","id":"reading-audio-files","dir":"Articles","previous_headings":"Managing audio in R with SonicScrewdriveR","what":"Reading audio files","title":"Managing audio in R","text":"Several functions available read audio files R, including readWave() readMP3() functions tuneR package, well tools package av. SonicScrewdriveR simplifies reading audio files providing single wrapper functions, read_audio(), can read audio files variety formats, including WAV, MP3, FLAC.","code":"filename <- system.file(\"extdata\", \"AUDIOMOTH.WAV\", package=\"sonicscrewdriver\") w <- readAudio(filename)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/articles/manage_audio.html","id":"performing-analyses-on-channels","dir":"Articles","previous_headings":"Managing audio in R with SonicScrewdriveR","what":"Performing analyses on channels","title":"Managing audio in R","text":"existing functions operate single channel time. may cause unnecessarily complex workflows bulk analysing files different numbers channels. allChannels() function applies function channel returns list analyses. technique allows analysis performed channel, without reference number channels audio file. Optionally, cluster can specified process channels separate processor cores increase analysis speed.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/articles/manage_audio.html","id":"windowing","dir":"Articles","previous_headings":"Managing audio in R with SonicScrewdriveR","what":"Windowing","title":"Managing audio in R","text":"often desirable process long audio file chunks. windowing() function can used split audio file overlapping non-overlapping windows. function may particularly useful processing long Wave files memory-efficient manner. Optionally, cluster can specified process windows separate processor cores increase processing speed.","code":""},{"path":[]},{"path":"http://sonicscrewdriver.ebaker.me.uk/articles/manage_audio.html","id":"taggedwave-workflow","dir":"Articles","previous_headings":"","what":"TaggedWave workflow","title":"Managing audio in R","text":"techniques can applied generic Wave WaveMC objects tuneR package. TaggedWave class extends Wave class tuneR package can include extended metadata results analyses. allows storage additional information audio file, location time recording, results analyses. tagWave() function can used tag Wave WaveMC object additional metadata. addition, combined new classes WaveAugment, WaveFilter, WaveAnalyse possible create self-documenting pipeline audio processing analysis (also compatible R pipe).","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/articles/other-apps.html","id":"introduction","dir":"Articles","previous_headings":"","what":"Introduction","title":"Interacting with other tools","text":"sonicscrewdriver package provides number functions interacting audio tools software. vignette provides overview functions available interacting tools.","code":""},{"path":[]},{"path":"http://sonicscrewdriver.ebaker.me.uk/articles/other-apps.html","id":"audacity","dir":"Articles","previous_headings":"Interfaces with other tools","what":"Audacity","title":"Interacting with other tools","text":"Label files exported Audacity can read R using readAudacityLabels() function. function takes path label file returns list Annotation objects data frame start end times label label text. writeAudacityLabels() function can used write list Annotation objects Audacity label file.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/articles/other-apps.html","id":"audioblast","dir":"Articles","previous_headings":"Interfaces with other tools","what":"AudioBlast","title":"Interacting with other tools","text":"audioBlast API can accessed using audioBlast() function. Files can downloaded API using audioBlastDownload() function.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/articles/other-apps.html","id":"audiomoth","dir":"Articles","previous_headings":"Interfaces with other tools","what":"AudioMoth","title":"Interacting with other tools","text":"AudioMoth configuration files wave files can read R using audiomothConfig() audiomothWave() functions, respectively. audiomothConfig() function takes path configuration file returns data frame configuration settings. audiomothWave() function takes path wave file returns list extracted parameters.","code":""},{"path":[]},{"path":[]},{"path":"http://sonicscrewdriver.ebaker.me.uk/articles/other-apps.html","id":"audio-file-with-annotations-from-audioblast-to-audacity","dir":"Articles","previous_headings":"Exemplar applications","what":"Audio file with annotations from audioBlast to Audacity","title":"Interacting with other tools","text":"audio file interest (id: 10754) recording Mole Cricket Gryllotalpa vineae BioAcoustica repository. Recordings annotations BioAcoustica made available audioBlast API. First download audio file annotations audioBlast. downloaded audio file mole_cricket directory. also saved metadata.csv file includes information audio file retrieved audioBlast. Next, download annotations file audioBlast. downloaded annotations audioBlast converted list Annotation objects. annotation data converted Annotation objects can easily manipulated number useful formats. case, convert Annotation objects Audacity label file. finished, can tidy workspace removing mole_cricket directory.","code":"# Find the file on audioblast data <- audioblast(\"data\", \"recordings\", source=\"bio.acousti.ca\", id=10754) # Download the file to the mole_cricket directory audioblastDownload(data, dir=\"mole_cricket/\") # Fetch annotations from audioBlast as `Annotation` objects a <- audioblast(\"data\", \"annomate\", source=\"bio.acousti.ca\", id=10754, output=\"Annotations\") # Convert the annotations to an Audacity label file writeAudacityLabels(a, \"mole_cricket/annotations.txt\") unlink(\"mole_cricket\", recursive=TRUE)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/articles/sonicscrewdriver.html","id":"introduction","dir":"Articles","previous_headings":"","what":"Introduction","title":"SonicScrewdriveR","text":"SonicScrewdriveR set tools various tasks faced bioacoustics researchers (users acoustics). tools relate management, processing, analysis, visualisation audio recordings.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/authors.html","id":null,"dir":"","previous_headings":"","what":"Authors","title":"Authors and Citation","text":"Ed Baker. Author, maintainer. Quentin Geissman. Contributor.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/authors.html","id":"citation","dir":"","previous_headings":"","what":"Citation","title":"Authors and Citation","text":"Baker, E. (2021) SonicScrewdriveR. https://cran.r-project.org/package=sonicscrewdriver.","code":"@Manual{, title = {SonicScrewdriveR}, author = {Ed Baker}, year = {2021}, url = {https://cran.r-project.org/package=sonicscrewdriver}, }"},{"path":"http://sonicscrewdriver.ebaker.me.uk/index.html","id":"sonicscrewdriver","dir":"","previous_headings":"","what":"Bioacoustic Analysis and Publication Tools","title":"Bioacoustic Analysis and Publication Tools","text":"package provides tools manipulating sound files analysis visualisation. SonicScrewdriveR can: Easily read audio files many types. Work seamlessly multi-channel audio. Read/write/convert audio metadata formats used tools. Apply filters audio. Augment audio data machine learning. Visualise audio data. Create self-documenting analysis pipelines. need SonicScrewdriveR arose initially Automated Acoustic Observatories project University York, later development audioBlast. projects required ability read manipulate audio files variety formats visualise analyse data contained within . package designed flexible possible able handle audio file formats differing encoding, channel numbers, sample rates. one sense, can seen wrapper around existing packages provide unified interface, also offers many new functions visualisations.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/index.html","id":"installation","dir":"","previous_headings":"","what":"Installation","title":"Bioacoustic Analysis and Publication Tools","text":"NB: current development version well ahead version available CRAN due pace current research work part Urban Nature Project Natural History Museum.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/index.html","id":"cran","dir":"","previous_headings":"Installation","what":"CRAN","title":"Bioacoustic Analysis and Publication Tools","text":"","code":"install.packages(\"sonicscrewdriver\") library(sonicscrewdriver)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/index.html","id":"latest-master","dir":"","previous_headings":"Installation","what":"Latest master","title":"Bioacoustic Analysis and Publication Tools","text":"","code":"install.packages(\"devtools\") devtools::install_github(\"edwbaker/SonicScrewdriveR\") library(sonicscrewdriver)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/index.html","id":"usage","dir":"","previous_headings":"","what":"Usage","title":"Bioacoustic Analysis and Publication Tools","text":"Usage package described following vignettes: Managing audio R SonicScrewdriveR covers basics reading audio files readAudio(), performing analyses audio channels using allChannels() performing analysis sections audio windowing(). Augmenting audio R SonicScrewdriveR covers audio data augmentation. Using apps tools R using SonicScrewdriveR lists functions available interface apps tools audioBlast, Audacity AudioMoth. also gives exemplar applications using SonicScrewdriveR move data different tools platforms. Using SonicScrewriveR audioBlast covers use audioblast() find recordings, annotations, traits analyses. audioblastDownload() can used download files find using audioBlast. book Visualisation bioacoustics ecoacoustics R provides details various visualisation tools available packages. Converting code work SonicScrewdriveR provides guidance package developers end users want convert code work SonicScrewdriveR types TaggedWave TaggedWaveMC.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/index.html","id":"contributing","dir":"","previous_headings":"","what":"Contributing","title":"Bioacoustic Analysis and Publication Tools","text":"welcome contributions anyone like help improve package. want talk us submitting pull request feel free email Ed edward.baker@nhm.ac.uk. Please note ‘SonicScrewdriveR’ project released Contributor Code Conduct.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/index.html","id":"issue-reporting","dir":"","previous_headings":"Contributing","what":"Issue reporting","title":"Bioacoustic Analysis and Publication Tools","text":"find bug, feature request, please report issue tracker many details possible. package fails give useful error message, bug. package accepts invalid input without warning, bug. documentation unclear omits important information, bug. unsure something bug, please report .","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/index.html","id":"credits","dir":"","previous_headings":"","what":"Credits","title":"Bioacoustic Analysis and Publication Tools","text":"Initial development SonicScrewdriveR done Ed Baker supported Leverhulme Trust funded Automated Acoustic Observatories project University York, later developed support analysis functionality audioBlast. SonicScrewdriveR currently developed Natural History Museum, London.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/Annotation-class.html","id":null,"dir":"Reference","previous_headings":"","what":"A S4 class for annotations — Annotation-class","title":"A S4 class for annotations — Annotation-class","text":"Annotation class used store annotations Wave-like objects.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/Annotation-class.html","id":"slots","dir":"Reference","previous_headings":"","what":"Slots","title":"A S4 class for annotations — Annotation-class","text":"file File annotated. metadata list storing metadata. start Start time annotation. end End time annotation. low Low frequency annotation. high High frequency annotation. source Source annotation. type Type annotation. value Value annotation.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/PseudoWave-class.html","id":null,"dir":"Reference","previous_headings":"","what":"An S4 class to represent a PseudoWave object that is converted to a\nWave object when operated on. — PseudoWave-class","title":"An S4 class to represent a PseudoWave object that is converted to a\nWave object when operated on. — PseudoWave-class","text":"S4 class represent PseudoWave object converted Wave object operated .","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/PseudoWave-class.html","id":"slots","dir":"Reference","previous_headings":"","what":"Slots","title":"An S4 class to represent a PseudoWave object that is converted to a\nWave object when operated on. — PseudoWave-class","text":"type Type PseudoWave (e.g. \"noise\") subtype Subtype PseudoWave (e.g. \"white\" type \"noise\") scale Wave channels multiplied value offset value added Wave channels seed Random seed reproducible output, NA seed scale Logical. Whether use random seed value params List additional parameters pass generating function","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/PseudoWave-numeric-method.html","id":null,"dir":"Reference","previous_headings":"","what":"PseudoWave scalar subtraction — -,PseudoWave,numeric-method","title":"PseudoWave scalar subtraction — -,PseudoWave,numeric-method","text":"PseudoWave scalar subtraction","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/PseudoWave-numeric-method.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"PseudoWave scalar subtraction — -,PseudoWave,numeric-method","text":"","code":"# S4 method for PseudoWave,numeric -(e1, e2)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/PseudoWave-numeric-method.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"PseudoWave scalar subtraction — -,PseudoWave,numeric-method","text":"e1 Input 1 e2 Input 2","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/STP.html","id":null,"dir":"Reference","previous_headings":"","what":"STP: Standard Temperature and Pressure — STP","title":"STP: Standard Temperature and Pressure — STP","text":"Dataset compiled various sources differing values STP.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/STP.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"STP: Standard Temperature and Pressure — STP","text":"","code":"STP"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/STP.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"STP: Standard Temperature and Pressure — STP","text":"object class list length 2.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/TaggedWave-class.html","id":null,"dir":"Reference","previous_headings":"","what":"A S4 class for tagged waves — TaggedWave-class","title":"A S4 class for tagged waves — TaggedWave-class","text":"TaggedWave class extended Wave class tuneR package can include extended metadata results analyses.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/TaggedWave-class.html","id":"slots","dir":"Reference","previous_headings":"","what":"Slots","title":"A S4 class for tagged waves — TaggedWave-class","text":"metadata list storing metdata. analyses list storing analyses.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/TaggedWaveMC-class.html","id":null,"dir":"Reference","previous_headings":"","what":"A S4 class for tagged multi-channel waves — TaggedWaveMC-class","title":"A S4 class for tagged multi-channel waves — TaggedWaveMC-class","text":"TaggedWaveMC class extended WaveMC class tuneR package can include extended metadata results analyses.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/TaggedWaveMC-class.html","id":"slots","dir":"Reference","previous_headings":"","what":"Slots","title":"A S4 class for tagged multi-channel waves — TaggedWaveMC-class","text":"metadata list storing metdata. analyses list storing analyses.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/TimeRegion-class.html","id":null,"dir":"Reference","previous_headings":"","what":"An S4 class to represent a TimeRegion within a Wave object. — TimeRegion-class","title":"An S4 class to represent a TimeRegion within a Wave object. — TimeRegion-class","text":"S4 class represent TimeRegion within Wave object.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/TimeRegion-class.html","id":"slots","dir":"Reference","previous_headings":"","what":"Slots","title":"An S4 class to represent a TimeRegion within a Wave object. — TimeRegion-class","text":"Start position End position unit Time unit (one seconds, minutes, hours)","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/WaveFilter-class.html","id":null,"dir":"Reference","previous_headings":"","what":"WaveFilter object for audio filters — WaveFilter-class","title":"WaveFilter object for audio filters — WaveFilter-class","text":"WaveFilter object object containing information necessary filterWave() function apply filter Wave TaggedWave object. designed allow pipe operator (either magrittr base R) used apply filters Wave pipeline. used TaggedWave object function adds information processing slot documenting action.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/WaveFilter-class.html","id":"slots","dir":"Reference","previous_headings":"","what":"Slots","title":"WaveFilter object for audio filters — WaveFilter-class","text":"description Description filter. func Name function. params List additional parameters pass function.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/ab_diel_traits.html","id":null,"dir":"Reference","previous_headings":"","what":"Convert text times of day in audioblast traits to numeric values — ab_diel_traits","title":"Convert text times of day in audioblast traits to numeric values — ab_diel_traits","text":"function takes traits dataset retrieved audioblast converts values \"day\" numeric time day based date location.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/ab_diel_traits.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Convert text times of day in audioblast traits to numeric values — ab_diel_traits","text":"","code":"ab_diel_traits(traits, date, lat, lon, overwrite = FALSE)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/ab_diel_traits.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Convert text times of day in audioblast traits to numeric values — ab_diel_traits","text":"traits Traits dataset retrieved using audioblast(). date date used conversion time. lat Latitude location. lon Longitude location. overwrite TRUE function overwrite existing min/max.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/ab_seqss_nearestStart.html","id":null,"dir":"Reference","previous_headings":"","what":"Nearest start time — ab_seqss_nearestStart","title":"Nearest start time — ab_seqss_nearestStart","text":"Search audioBLAST! recordings start time closest specified date/time match specified criteria","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/ab_seqss_nearestStart.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Nearest start time — ab_seqss_nearestStart","text":"","code":"ab_seqss_nearestStart(...)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/ab_seqss_nearestStart.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Nearest start time — ab_seqss_nearestStart","text":"... Fields values filter .","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/ab_seqss_nearestStart.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Nearest start time — ab_seqss_nearestStart","text":"data frame matching annotations","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/ab_seqss_nearestStart.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Nearest start time — ab_seqss_nearestStart","text":"","code":"if (FALSE) { ab_seqss_nearestStart(date=\"2020-05-15\",time=\"1500\") }"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/addProcess-methods.html","id":null,"dir":"Reference","previous_headings":"","what":"Add a process to a Tagged Wave or WaveMC object — addProcess","title":"Add a process to a Tagged Wave or WaveMC object — addProcess","text":"function takes TaggedWave TaggedWaveMC object adds process processing slot. used keep record processes applied object.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/addProcess-methods.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add a process to a Tagged Wave or WaveMC object — addProcess","text":"","code":"addProcess(object, process, output = NULL, duration = NULL) # S4 method for TaggedWave addProcess(object, process, output = NULL, duration = NULL) # S4 method for TaggedWaveMC addProcess(object, process, output = NULL, duration = NULL)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/addProcess-methods.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add a process to a Tagged Wave or WaveMC object — addProcess","text":"object object. process description process. output output process. duration duration process seconds.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/addProcess-methods.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Add a process to a Tagged Wave or WaveMC object — addProcess","text":"object process added.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/addSpectra.html","id":null,"dir":"Reference","previous_headings":"","what":"Add two spectra from seewave — addSpectra","title":"Add two spectra from seewave — addSpectra","text":"function takes two spectra seewave (equivalent) adds values. spectra must bins.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/addSpectra.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add two spectra from seewave — addSpectra","text":"","code":"addSpectra(s1, s2, coerceNegative = \"no\")"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/addSpectra.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add two spectra from seewave — addSpectra","text":"s1 First spectrum s2 Second spectrum coerceNegative Sets values zero zero, accepted values \"input\", \"output\" \"\".","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/addSpectra.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Add two spectra from seewave — addSpectra","text":"spectrum s1+s2","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/addSpectra.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Add two spectra from seewave — addSpectra","text":"","code":"if (FALSE) { addSpectra(spec1, spec2) addSpectra(spec1, spec2, coerceNegative=\"input\") }"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/allChannels.html","id":null,"dir":"Reference","previous_headings":"","what":"Apply a function to all channels of a Wave or WaveMC object — allChannels","title":"Apply a function to all channels of a Wave or WaveMC object — allChannels","text":"functions (e.g. ffilter seewave) operate single channel time. function applies function channel returns list analyses.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/allChannels.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Apply a function to all channels of a Wave or WaveMC object — allChannels","text":"","code":"allChannels( w, FUN, cl = NULL, channel.param = \"channel\", output.FUN = NULL, ... )"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/allChannels.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Apply a function to all channels of a Wave or WaveMC object — allChannels","text":"w Wave WaveMC object FUN Function apply wave. cl Optionally cluster parallel calculation. channel.param Name channel parameter FUN. Can NULL. output.FUN Optional. Function processes output FUN. \"channels_se\" function provides standard functionality soundecology package. ... Optional. Additional parameters pass FUN.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/allChannels.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Apply a function to all channels of a Wave or WaveMC object — allChannels","text":"list outputs.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/annotation.html","id":null,"dir":"Reference","previous_headings":"","what":"Create a new Annotation object — annotation","title":"Create a new Annotation object — annotation","text":"Create new Annotation object","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/annotation.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Create a new Annotation object — annotation","text":"","code":"annotation( file = NA_character_, metadata = list(), start = 0, end = Inf, low = 0, high = Inf, source = NA_character_, type = NA_character_, value = NA_character_ )"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/annotation.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Create a new Annotation object — annotation","text":"file File annotated. metadata list metadata. start Start time annotation (seconds). end End time annotation (seconds). low Low frequency annotation (Hz). high High frequency annotation (Hz). source Source annotation. type Type annotation. value Value annotation.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/annotation.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Create a new Annotation object — annotation","text":"Annotation object.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/audio_filesize.html","id":null,"dir":"Reference","previous_headings":"","what":"Calculated size of raw audio files — audio_filesize","title":"Calculated size of raw audio files — audio_filesize","text":"Calculates raw size audio date set sample rate, bit depth duration.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/audio_filesize.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Calculated size of raw audio files — audio_filesize","text":"","code":"audio_filesize( samp.rate = 44100, bit.depth = 16, channels = 1, duration = 1, duration.unit = \"seconds\", output.unit = \"bits\" )"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/audio_filesize.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Calculated size of raw audio files — audio_filesize","text":"samp.rate Sample rate bit.depth Bit depth channels number audio channels duration Duration recording duration.unit One seconds, minutes, hours, days output.unit \"bits\" \"bytes\"","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/audioblast.html","id":null,"dir":"Reference","previous_headings":"","what":"Get data or analyses from audioBlast — audioblast","title":"Get data or analyses from audioBlast — audioblast","text":"Search data analyses audioBlast.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/audioblast.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get data or analyses from audioBlast — audioblast","text":"","code":"audioblast( type, name, endpoint = NULL, check = TRUE, max_pages = NULL, page = 1, quiet = FALSE, output = \"data.frame\", ... )"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/audioblast.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get data or analyses from audioBlast — audioblast","text":"type One data, analysis, standalone. name Name data analysis source. endpoint Optionally specify endpoint audioBlast module. check Logical. Performs sanity check input sending audioBLAST. max_pages Maximum number data pages return, default set NULL returns pages. page First page results request, defaults 1. quiet true print progress. Silence virtue. output default data.frame. \"Annotations\" return list Annotation objects. ... Fields values filter . field defined audioBLAST.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/audioblast.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get data or analyses from audioBlast — audioblast","text":"data frame","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/audioblast.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Get data or analyses from audioBlast — audioblast","text":"","code":"if (FALSE) { audioblast(\"data\", \"recordings\", taxon=\"Gryllotalpa vineae\") }"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/audioblastDownload.html","id":null,"dir":"Reference","previous_headings":"","what":"Download audio files from audioBlast — audioblastDownload","title":"Download audio files from audioBlast — audioblastDownload","text":"Downloads audio files associated search using audioBlast() function.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/audioblastDownload.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Download audio files from audioBlast — audioblastDownload","text":"","code":"audioblastDownload( d, metadata = TRUE, skip.existing = TRUE, dir = \".\", quiet = FALSE )"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/audioblastDownload.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Download audio files from audioBlast — audioblastDownload","text":"d Data returned search using audioBlast(). metadata true saves data d csv file. skip.existing true overwrite existing files. dir Directory save files . quiet true print progress.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/audiomothConfig.html","id":null,"dir":"Reference","previous_headings":"","what":"Read AudioMoth configuration file — audiomothConfig","title":"Read AudioMoth configuration file — audiomothConfig","text":"Reads parses AudioMoth configuration file.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/audiomothConfig.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Read AudioMoth configuration file — audiomothConfig","text":"","code":"audiomothConfig(filename)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/audiomothConfig.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Read AudioMoth configuration file — audiomothConfig","text":"filename Path configuration file read","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/audiomothConfig.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Read AudioMoth configuration file — audiomothConfig","text":"data frame matching annotations","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/audiomothConfig.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Read AudioMoth configuration file — audiomothConfig","text":"","code":"if (FALSE) { audiomothConfig(\"./CONFIG.TXT\") }"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/audiomothWave.html","id":null,"dir":"Reference","previous_headings":"","what":"Read AudioMoth metadata from a wave file — audiomothWave","title":"Read AudioMoth metadata from a wave file — audiomothWave","text":"Reads parses metadata stored wave files produced AudioMoth devices.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/audiomothWave.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Read AudioMoth metadata from a wave file — audiomothWave","text":"","code":"audiomothWave(filename)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/audiomothWave.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Read AudioMoth metadata from a wave file — audiomothWave","text":"filename Path wave file read","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/audiomothWave.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Read AudioMoth metadata from a wave file — audiomothWave","text":"list extracted parameters","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/audiomothWave.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Read AudioMoth metadata from a wave file — audiomothWave","text":"","code":"if (FALSE) { audiomothWave(\"./FILENAME.WAV\") }"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/autoBandPass.html","id":null,"dir":"Reference","previous_headings":"","what":"Automatic Band Pass Filter — autoBandPass","title":"Automatic Band Pass Filter — autoBandPass","text":"Creates automatic bandpass filter based strongest frequency. allowed bandwidth can integer multiple bandwidth either -3dB -10dB.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/autoBandPass.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Automatic Band Pass Filter — autoBandPass","text":"","code":"autoBandPass(wave, bw = \"-3dB\", n.bw = 1, lowcut = 1000)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/autoBandPass.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Automatic Band Pass Filter — autoBandPass","text":"wave Wave object bw Either -3dB -10dB. calculated frequencyStats n.bw number bandwidths either side centre centre keep lowcut High-pass filtering applied frequency calculating centre frequency bandwidth","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/autoBandPass.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Automatic Band Pass Filter — autoBandPass","text":"band-pass filtered Wave object","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/autoBandPass.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Automatic Band Pass Filter — autoBandPass","text":"","code":"if (FALSE) { autoBandPass(sheep) autoBandPass(sheep, bw=\"-3dB\", n.bw=1, lowcut=1000) autoBandPass(sheep, bw=\"-10dB\", n.bw=2, lowcut=0) }"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/bandpass.html","id":null,"dir":"Reference","previous_headings":"","what":"Simple bandpass filter — bandpass","title":"Simple bandpass filter — bandpass","text":"Creates band pass WaveFilter values specified Wave object.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/bandpass.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Simple bandpass filter — bandpass","text":"","code":"bandpass(from, to, ...)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/bandpass.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Simple bandpass filter — bandpass","text":"Bottom bandpass frequency (Hz). Top bandpass frequency (Hz). ... arguments pass ffilter.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/bandpass.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Simple bandpass filter — bandpass","text":"WaveFilter object.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/bandpass.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Simple bandpass filter — bandpass","text":"simple wrapper function seewave ffilter function allowing use filterw pipes.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/bandpass.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Simple bandpass filter — bandpass","text":"","code":"if (FALSE) { nwave <- noise(\"white\", duration=44100, samp.rate=44100) fwave <- filterWave(nwave, bandpass(from=1000, to=2000)) nwave |> filterWave(bandpass(from=1000, to=2000)) -> fwave }"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/beatComplexity.html","id":null,"dir":"Reference","previous_headings":"","what":"Beat spectrum complexity — beatComplexity","title":"Beat spectrum complexity — beatComplexity","text":"function computes beatSpectrum calculates basic measurements complexity. complexity value calculated maximum identified repeating period (seconds) divided number peaks.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/beatComplexity.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Beat spectrum complexity — beatComplexity","text":"","code":"beatComplexity(wave, plot = FALSE)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/beatComplexity.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Beat spectrum complexity — beatComplexity","text":"wave Wave object plot TRUE spectrogram overlaid peaks plotted.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/beatComplexity.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Beat spectrum complexity — beatComplexity","text":"list complexity, vector peak periods, number peaks.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/beatComplexity.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Beat spectrum complexity — beatComplexity","text":"","code":"if (FALSE) { beatComplexity(sheep) beatComplexity(sheep, plot=TRUE) }"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/beatSpectrum.html","id":null,"dir":"Reference","previous_headings":"","what":"Computes a beat spectrum — beatSpectrum","title":"Computes a beat spectrum — beatSpectrum","text":"Beat spectra represent periodicity signal amplitude. computed performing continuous wavelet transform envelope preprocessed signal, processing average power per frequency band.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/beatSpectrum.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Computes a beat spectrum — beatSpectrum","text":"","code":"beatSpectrum(wave, min_period = 0.005, max_period = 30, dj = 1/32, ...)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/beatSpectrum.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Computes a beat spectrum — beatSpectrum","text":"wave R object path wave file min_period minimal rythmicity period expected, seconds max_period maximal rythmicity period expected, seconds dj frequency resolution cwt (voices per octave) ... extra arguments passed analyze.wavelet()","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/beatSpectrum.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Computes a beat spectrum — beatSpectrum","text":"spectrum data frame. contains two columns: power period. number rows depend resolution frequency range.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/beatSpectrum.html","id":"author","dir":"Reference","previous_headings":"","what":"Author","title":"Computes a beat spectrum — beatSpectrum","text":"Quentin Geissmann","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/beatSpectrum.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Computes a beat spectrum — beatSpectrum","text":"","code":"if (FALSE) { beatSpectrum(sheep) beatSpectrum(sheep, min_period=0.005, max_period=30, dj=1/32) }"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/channels_se.html","id":null,"dir":"Reference","previous_headings":"","what":"Channels for sound ecology — channels_se","title":"Channels for sound ecology — channels_se","text":"Used process output acoustic index functions soundecology package using allChannels.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/channels_se.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Channels for sound ecology — channels_se","text":"","code":"channels_se(...)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/channels_se.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Channels for sound ecology — channels_se","text":"... Export bioacoustic index function soundecology package","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/circularise.html","id":null,"dir":"Reference","previous_headings":"","what":"Circularise a dataset — circularise","title":"Circularise a dataset — circularise","text":"plotting rings horizons meant cover entirety time period dielPlot() yearlyPlot() function append beginning values end ensure entire loop created.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/circularise.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Circularise a dataset — circularise","text":"","code":"circularise(values)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/circularise.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Circularise a dataset — circularise","text":"values vector values","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/concat-methods.html","id":null,"dir":"Reference","previous_headings":"","what":"Concatenate two or more Wave-like objects. — concat","title":"Concatenate two or more Wave-like objects. — concat","text":"concat() method flexible version bind() method tuneR package, allows specifying advanced types concatenation. Setting method \"noClick\" remove click Wave objects caused sudden jumps amplitude applying tuneR::prepComb() appropriately default value zero (effective left channel stereo multi-channel recordings).","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/concat-methods.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Concatenate two or more Wave-like objects. — concat","text":"","code":"concat(object, ..., method = \"bind\") # S4 method for Wave concat(object, ..., method = \"bind\") # S4 method for WaveMC concat(object, ..., method = \"bind\") # S4 method for TaggedWave concat(object, ..., method = \"bind\") # S4 method for TaggedWaveMC concat(object, ..., method = \"bind\")"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/concat-methods.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Concatenate two or more Wave-like objects. — concat","text":"object Wave like object. ... Wave like objects concatenate object. method One \"bind\", \"noClick\". Default \"bind\".","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/concat-methods.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Concatenate two or more Wave-like objects. — concat","text":"concatenated Wave like object, type object.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/convert2Celsius.html","id":null,"dir":"Reference","previous_headings":"","what":"Convert temperature to Celsius — convert2Celsius","title":"Convert temperature to Celsius — convert2Celsius","text":"Converts temperature measurements Celsius","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/convert2Celsius.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Convert temperature to Celsius — convert2Celsius","text":"","code":"convert2Celsius(temp, input = \"K\")"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/convert2Celsius.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Convert temperature to Celsius — convert2Celsius","text":"temp value temperature convert input unit temperature convert, allowed values \"K\", \"F\".","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/convert2Celsius.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Convert temperature to Celsius — convert2Celsius","text":"Numeric value degrees Celsius","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/convert2Celsius.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Convert temperature to Celsius — convert2Celsius","text":"","code":"convert2Celsius(15, input=\"K\") #> [1] -258.15 convert2Celsius(15, input=\"F\") #> [1] -9.444444"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/convert2Fahrenheit.html","id":null,"dir":"Reference","previous_headings":"","what":"Convert temperature to Fahrenheit — convert2Fahrenheit","title":"Convert temperature to Fahrenheit — convert2Fahrenheit","text":"Converts temperature measurements Fahrenheit","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/convert2Fahrenheit.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Convert temperature to Fahrenheit — convert2Fahrenheit","text":"","code":"convert2Fahrenheit(temp, input)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/convert2Fahrenheit.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Convert temperature to Fahrenheit — convert2Fahrenheit","text":"temp value temperature convert input unit temperature convert, allowed values \"K\", \"C\".","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/convert2Fahrenheit.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Convert temperature to Fahrenheit — convert2Fahrenheit","text":"","code":"if (FALSE) { convert2Fahrenheit(15, input = \"C\") }"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/convert2Kelvin.html","id":null,"dir":"Reference","previous_headings":"","what":"Convert temperature to Kelvin — convert2Kelvin","title":"Convert temperature to Kelvin — convert2Kelvin","text":"Converts temperature measurements Kelvin","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/convert2Kelvin.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Convert temperature to Kelvin — convert2Kelvin","text":"","code":"convert2Kelvin(temp, input = \"C\")"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/convert2Kelvin.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Convert temperature to Kelvin — convert2Kelvin","text":"temp value temperature convert input unit temperature convert, allowed values \"C\", \"F\".","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/convert2Kelvin.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Convert temperature to Kelvin — convert2Kelvin","text":"Numeric value Kelvin","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/convert2Kelvin.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Convert temperature to Kelvin — convert2Kelvin","text":"","code":"convert2Kelvin(15, input=\"C\") #> [1] 288.15 convert2Kelvin(15, input=\"F\") #> [1] 263.7056"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/convert2Pascals.html","id":null,"dir":"Reference","previous_headings":"","what":"Convert pressure to Pascals — convert2Pascals","title":"Convert pressure to Pascals — convert2Pascals","text":"Converts pressure measurements Pascals","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/convert2Pascals.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Convert pressure to Pascals — convert2Pascals","text":"","code":"convert2Pascals(P, input = \"kPa\")"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/convert2Pascals.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Convert pressure to Pascals — convert2Pascals","text":"P value pressure convert input unit pressure convert, allowed values \"kPa\", \"dyne_cm2\".","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/convert2Pascals.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Convert pressure to Pascals — convert2Pascals","text":"numeric value Pascals","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/convert2Pascals.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Convert pressure to Pascals — convert2Pascals","text":"","code":"convert2Pascals(1000, input=\"kPa\") #> [1] 1e+06 convert2Pascals(10, input=\"dyne_cm2\") #> [1] 1"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/convert2bytes.html","id":null,"dir":"Reference","previous_headings":"","what":"Convert bits to bytes — convert2bytes","title":"Convert bits to bytes — convert2bytes","text":"Converts time measurements seconds","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/convert2bytes.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Convert bits to bytes — convert2bytes","text":"","code":"convert2bytes(S, input = \"bits\")"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/convert2bytes.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Convert bits to bytes — convert2bytes","text":"S value convert input unit convert, allowed values \"bits\", \"kB\", \"MB\", \"GB\"","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/convert2bytes.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Convert bits to bytes — convert2bytes","text":"numeric value seconds","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/convert2degrees.html","id":null,"dir":"Reference","previous_headings":"","what":"Convert angle to degrees — convert2degrees","title":"Convert angle to degrees — convert2degrees","text":"Converts angle measurements degrees","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/convert2degrees.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Convert angle to degrees — convert2degrees","text":"","code":"convert2degrees(A, input = \"radians\")"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/convert2degrees.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Convert angle to degrees — convert2degrees","text":"angle value convert input unit angle convert, allowed values \"radians\".","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/convert2degrees.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Convert angle to degrees — convert2degrees","text":"numeric value degrees","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/convert2dyne_cm2.html","id":null,"dir":"Reference","previous_headings":"","what":"Convert pressure to dyne per square centimetre — convert2dyne_cm2","title":"Convert pressure to dyne per square centimetre — convert2dyne_cm2","text":"Converts pressure measurements dyne per square centimetre","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/convert2dyne_cm2.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Convert pressure to dyne per square centimetre — convert2dyne_cm2","text":"","code":"convert2dyne_cm2(P, input = \"kPa\")"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/convert2dyne_cm2.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Convert pressure to dyne per square centimetre — convert2dyne_cm2","text":"P value pressure convert input unit pressure convert, allowed values \"kPa\", \"P\".","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/convert2dyne_cm2.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Convert pressure to dyne per square centimetre — convert2dyne_cm2","text":"","code":"convert2dyne_cm2(1, input=\"Pa\") #> [1] 10 convert2dyne_cm2(1, input=\"kPa\") #> [1] 10000"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/convert2radians.html","id":null,"dir":"Reference","previous_headings":"","what":"Convert angle to radians — convert2radians","title":"Convert angle to radians — convert2radians","text":"Converts angle measurements radians","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/convert2radians.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Convert angle to radians — convert2radians","text":"","code":"convert2radians(A, input = \"degrees\")"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/convert2radians.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Convert angle to radians — convert2radians","text":"angle value convert input unit angle convert, allowed values \"degrees\".","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/convert2radians.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Convert angle to radians — convert2radians","text":"numeric value radians","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/convert2seconds.html","id":null,"dir":"Reference","previous_headings":"","what":"Convert time to seconds — convert2seconds","title":"Convert time to seconds — convert2seconds","text":"Converts time measurements seconds","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/convert2seconds.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Convert time to seconds — convert2seconds","text":"","code":"convert2seconds(T, input = \"minutes\", origin = \"day\")"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/convert2seconds.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Convert time to seconds — convert2seconds","text":"T time value convert input unit time convert, allowed values \"minutes\", \"hours\", \"days\", \"years\", \"HHMM\". origin POSIX whether return relative start day (\"day\") Unix epoch (\"unix\")","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/convert2seconds.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Convert time to seconds — convert2seconds","text":"numeric value seconds","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/corWaveMC.html","id":null,"dir":"Reference","previous_headings":"","what":"Correlate channels in a WaveMC object — corWaveMC","title":"Correlate channels in a WaveMC object — corWaveMC","text":"Uses corenv function seewave calculate envelope correlation timed events channels WaveMC object","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/corWaveMC.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Correlate channels in a WaveMC object — corWaveMC","text":"","code":"corWaveMC(wave, times, window, temp = 25, cluster = NULL)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/corWaveMC.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Correlate channels in a WaveMC object — corWaveMC","text":"wave WaveMC object times One times events correlate window Width window correlate seconds (centred times) temp Air temperature Celsius cluster cluster parallel execution","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/corWaveMC.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Correlate channels in a WaveMC object — corWaveMC","text":"List corenv lists events, list time differences channels","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/cutws.html","id":null,"dir":"Reference","previous_headings":"","what":"Cut wave by samples — cutws","title":"Cut wave by samples — cutws","text":"Extract section Wave object based sample positions. function automatically detect Wave object stereo.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/cutws.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Cut wave by samples — cutws","text":"","code":"cutws(wave, from = 1, to = Inf, plot = FALSE)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/cutws.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Cut wave by samples — cutws","text":"wave Wave object First sample return Last sample return plot TRUE shows cut region within original waveform","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/cutws.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Cut wave by samples — cutws","text":"Wave object","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/cutws.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Cut wave by samples — cutws","text":"","code":"if (FALSE) { cutws(sheep, 1, 20) cutws(sheep, 1, 20, plot=TRUE) }"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/data2Wave.html","id":null,"dir":"Reference","previous_headings":"","what":"Convert data into a Wave object — data2Wave","title":"Convert data into a Wave object — data2Wave","text":"Make sequence data normalised Wave object.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/data2Wave.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Convert data into a Wave object — data2Wave","text":"","code":"data2Wave( left, samp.rate = 44100, bit = 16, remove.offset = TRUE, normalise = TRUE )"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/data2Wave.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Convert data into a Wave object — data2Wave","text":"left Data mono audio channel samp.rate Sampling rate Wave object bit Bit depth Wave object remove.offset TRUE DC offset removed normalise TRUE output Wave normalised -1:1","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/data2Wave.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Convert data into a Wave object — data2Wave","text":"mono Wave object.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/data2Wave.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Convert data into a Wave object — data2Wave","text":"","code":"pattern <- seq(from=-1, to=1, length.out=100) data <- rep.int(pattern, 100) w <- data2Wave(data)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/dayPhase.html","id":null,"dir":"Reference","previous_headings":"","what":"Phase of day — dayPhase","title":"Phase of day — dayPhase","text":"Given start time (optionally) duration returns phase day given location. primarily used calculate phase day information soundscape recording projects.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/dayPhase.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Phase of day — dayPhase","text":"","code":"dayPhase( time = Sys.time(), duration = 40000, lat = 50.1, lon = 1.83, tz = \"UTC\" )"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/dayPhase.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Phase of day — dayPhase","text":"time time object representing start time recording duration Duration recording lat Latitude recording device lon Longitude recording device tz Time-zone recording device recording made","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/dayPhase.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Phase of day — dayPhase","text":"Data frame day phases absolute timestamps relative times within file","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/dayPhases.html","id":null,"dir":"Reference","previous_headings":"","what":"Phases of day — dayPhases","title":"Phases of day — dayPhases","text":"Wrapper suncalc::getSunlightTimes formats output package.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/dayPhases.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Phases of day — dayPhases","text":"","code":"dayPhases(time = as.Date(Sys.time()), lat = 50.1, lon = 1.83, tz = \"UTC\")"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/dayPhases.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Phases of day — dayPhases","text":"time time object representing start time recording lat Latitude recording device lon Longitude recording device tz Time-zone recording device recording made","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/daysPhases.html","id":null,"dir":"Reference","previous_headings":"","what":"Phases of days — daysPhases","title":"Phases of days — daysPhases","text":"Phases days","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/daysPhases.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Phases of days — daysPhases","text":"","code":"daysPhases( date = Sys.Date(), period = \"year\", plot = FALSE, lat = 50.1, lon = 1.83, tz = \"UTC\" )"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/daysPhases.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Phases of days — daysPhases","text":"date time object representing start time recording period \"month\" \"year\" plot true plots data, default FALSE lat Latitude recording device lon Longitude recording device tz Time-zone recording device recording made","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/defaultCluster.html","id":null,"dir":"Reference","previous_headings":"","what":"Create Default Cluster for Windowing — defaultCluster","title":"Create Default Cluster for Windowing — defaultCluster","text":"Creates default cluster using one less total cores available system. default uses forking, available Windows. Hence, fork parameter effect Windows.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/defaultCluster.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Create Default Cluster for Windowing — defaultCluster","text":"","code":"defaultCluster(fork = TRUE)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/defaultCluster.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Create Default Cluster for Windowing — defaultCluster","text":"fork TRUE uses forking create cluster (Unix like systems )","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/defaultCluster.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Create Default Cluster for Windowing — defaultCluster","text":"cluster object parallel processing","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/defaultCluster.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Create Default Cluster for Windowing — defaultCluster","text":"","code":"if (FALSE) { cl <- defaultCluster() stopCluster(cl) cl <- defaultCluster(FALSE) stopCluster(cl) }"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/dielFraction.html","id":null,"dir":"Reference","previous_headings":"","what":"Calculate the fraction of a day given by a value — dielFraction","title":"Calculate the fraction of a day given by a value — dielFraction","text":"Given object can coerced POSIXlt supported string format, return fraction day represented object.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/dielFraction.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Calculate the fraction of a day given by a value — dielFraction","text":"","code":"dielFraction(t, input = \"POSIX\", unit = \"radians\")"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/dielFraction.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Calculate the fraction of a day given by a value — dielFraction","text":"t Object converted fraction input One POSIX (default) HHMM unit set radians outputs position around circle. set fraction outputs raw fraction.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/dielHistogram.html","id":null,"dir":"Reference","previous_headings":"","what":"Diel Histogram — dielHistogram","title":"Diel Histogram — dielHistogram","text":"Draws histogram dielPlot() using pre-defined bins related time day.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/dielHistogram.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Diel Histogram — dielHistogram","text":"","code":"dielHistogram( times, by = \"hour\", col = \"grey\", maxval = NA, presence.only = FALSE, limits = c(1, 2) )"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/dielHistogram.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Diel Histogram — dielHistogram","text":"times vector times can pocessed dielFraction(). Controls size histogram bins, one \"hour\", \"15minute\", \"30minute\". col Colour plot. maxval default scales histogram within limits, specifying maximum value allows comparison plots. presence.show presence/absence values. limits Limits plotting (see dielPlot()).","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/dielHistogram.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Diel Histogram — dielHistogram","text":"data frame start end points bins.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/dielLabels.html","id":null,"dir":"Reference","previous_headings":"","what":"Generate labels for a diel plot — dielLabels","title":"Generate labels for a diel plot — dielLabels","text":"Generates labels dielPlot() 12- 24-hour format. Labels generated three hourly intervals.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/dielLabels.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Generate labels for a diel plot — dielLabels","text":"","code":"dielLabels(format = \"clock24\")"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/dielLabels.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Generate labels for a diel plot — dielLabels","text":"format One clock24 (default) clock12","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/dielLabels.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Generate labels for a diel plot — dielLabels","text":"","code":"dielLabels() #> [1] \"0000\" \"0300\" \"0600\" \"0900\" \"1200\" \"1500\" \"1800\" \"2100\" dielLabels(\"clock12\") #> [1] \"0000\" \"0300 AM\" \"0600 AM\" \"0900 AM\" \"1200 NOON\" \"0300 PM\" #> [7] \"0600 PM\" \"0900 PM\""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/dielPlot.html","id":null,"dir":"Reference","previous_headings":"","what":"Create a diel plot — dielPlot","title":"Create a diel plot — dielPlot","text":"diel plot shows times night, twilight maximum altitude sun given date.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/dielPlot.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Create a diel plot — dielPlot","text":"","code":"dielPlot( date, lat, lon, limits = c(0, 2), plot = NULL, rot = tzRot(0), method = \"plotrix\", legend = F )"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/dielPlot.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Create a diel plot — dielPlot","text":"date Date plot. lat Numeric latitude. lon Numeric longitude. limits Plotting limits daylight regions, default c(1,2) plot Character vector components plot rot Either \"Solar Noon\" offset calculated tz method Plotting library use legend Whether show legend","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/dielPositions.html","id":null,"dir":"Reference","previous_headings":"","what":"Generate positions of labels for a diel plot — dielPositions","title":"Generate positions of labels for a diel plot — dielPositions","text":"Generates positions three-hourly labels dielPlot() radians.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/dielPositions.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Generate positions of labels for a diel plot — dielPositions","text":"","code":"dielPositions(format = \"3hourly\")"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/dielPositions.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Generate positions of labels for a diel plot — dielPositions","text":"format One \"3hours\" (default), \"hours\", \"minutes\"","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/dielPositions.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Generate positions of labels for a diel plot — dielPositions","text":"","code":"dielPositions() #> [1] 0.0000000 0.7853982 1.5707963 2.3561945 3.1415927 3.9269908 4.7123890 #> [8] 5.4977871 dielPositions(\"hours\") #> [1] 0.2617994 0.5235988 0.7853982 1.0471976 1.3089969 1.5707963 1.8325957 #> [8] 2.0943951 2.3561945 2.6179939 2.8797933 3.1415927 3.4033920 3.6651914 #> [15] 3.9269908 4.1887902 4.4505896 4.7123890 4.9741884 5.2359878 5.4977871 #> [22] 5.7595865 6.0213859 6.2831853 dielPositions(\"minutes\") #> [1] 0.004363323 0.008726646 0.013089969 0.017453293 0.021816616 0.026179939 #> [7] 0.030543262 0.034906585 0.039269908 0.043633231 0.047996554 0.052359878 #> [13] 0.056723201 0.061086524 0.065449847 0.069813170 0.074176493 0.078539816 #> [19] 0.082903139 0.087266463 0.091629786 0.095993109 0.100356432 0.104719755 #> [25] 0.109083078 0.113446401 0.117809725 0.122173048 0.126536371 0.130899694 #> [31] 0.135263017 0.139626340 0.143989663 0.148352986 0.152716310 0.157079633 #> [37] 0.161442956 0.165806279 0.170169602 0.174532925 0.178896248 0.183259571 #> [43] 0.187622895 0.191986218 0.196349541 0.200712864 0.205076187 0.209439510 #> [49] 0.213802833 0.218166156 0.222529480 0.226892803 0.231256126 0.235619449 #> [55] 0.239982772 0.244346095 0.248709418 0.253072742 0.257436065 0.261799388 #> [61] 0.266162711 0.270526034 0.274889357 0.279252680 0.283616003 0.287979327 #> [67] 0.292342650 0.296705973 0.301069296 0.305432619 0.309795942 0.314159265 #> [73] 0.318522588 0.322885912 0.327249235 0.331612558 0.335975881 0.340339204 #> [79] 0.344702527 0.349065850 0.353429174 0.357792497 0.362155820 0.366519143 #> [85] 0.370882466 0.375245789 0.379609112 0.383972435 0.388335759 0.392699082 #> [91] 0.397062405 0.401425728 0.405789051 0.410152374 0.414515697 0.418879020 #> [97] 0.423242344 0.427605667 0.431968990 0.436332313 0.440695636 0.445058959 #> [103] 0.449422282 0.453785606 0.458148929 0.462512252 0.466875575 0.471238898 #> [109] 0.475602221 0.479965544 0.484328867 0.488692191 0.493055514 0.497418837 #> [115] 0.501782160 0.506145483 0.510508806 0.514872129 0.519235452 0.523598776 #> [121] 0.527962099 0.532325422 0.536688745 0.541052068 0.545415391 0.549778714 #> [127] 0.554142038 0.558505361 0.562868684 0.567232007 0.571595330 0.575958653 #> [133] 0.580321976 0.584685299 0.589048623 0.593411946 0.597775269 0.602138592 #> [139] 0.606501915 0.610865238 0.615228561 0.619591884 0.623955208 0.628318531 #> [145] 0.632681854 0.637045177 0.641408500 0.645771823 0.650135146 0.654498469 #> [151] 0.658861793 0.663225116 0.667588439 0.671951762 0.676315085 0.680678408 #> [157] 0.685041731 0.689405055 0.693768378 0.698131701 0.702495024 0.706858347 #> [163] 0.711221670 0.715584993 0.719948316 0.724311640 0.728674963 0.733038286 #> [169] 0.737401609 0.741764932 0.746128255 0.750491578 0.754854901 0.759218225 #> [175] 0.763581548 0.767944871 0.772308194 0.776671517 0.781034840 0.785398163 #> [181] 0.789761487 0.794124810 0.798488133 0.802851456 0.807214779 0.811578102 #> [187] 0.815941425 0.820304748 0.824668072 0.829031395 0.833394718 0.837758041 #> [193] 0.842121364 0.846484687 0.850848010 0.855211333 0.859574657 0.863937980 #> [199] 0.868301303 0.872664626 0.877027949 0.881391272 0.885754595 0.890117919 #> [205] 0.894481242 0.898844565 0.903207888 0.907571211 0.911934534 0.916297857 #> [211] 0.920661180 0.925024504 0.929387827 0.933751150 0.938114473 0.942477796 #> [217] 0.946841119 0.951204442 0.955567765 0.959931089 0.964294412 0.968657735 #> [223] 0.973021058 0.977384381 0.981747704 0.986111027 0.990474351 0.994837674 #> [229] 0.999200997 1.003564320 1.007927643 1.012290966 1.016654289 1.021017612 #> [235] 1.025380936 1.029744259 1.034107582 1.038470905 1.042834228 1.047197551 #> [241] 1.051560874 1.055924197 1.060287521 1.064650844 1.069014167 1.073377490 #> [247] 1.077740813 1.082104136 1.086467459 1.090830782 1.095194106 1.099557429 #> [253] 1.103920752 1.108284075 1.112647398 1.117010721 1.121374044 1.125737368 #> [259] 1.130100691 1.134464014 1.138827337 1.143190660 1.147553983 1.151917306 #> [265] 1.156280629 1.160643953 1.165007276 1.169370599 1.173733922 1.178097245 #> [271] 1.182460568 1.186823891 1.191187214 1.195550538 1.199913861 1.204277184 #> [277] 1.208640507 1.213003830 1.217367153 1.221730476 1.226093800 1.230457123 #> [283] 1.234820446 1.239183769 1.243547092 1.247910415 1.252273738 1.256637061 #> [289] 1.261000385 1.265363708 1.269727031 1.274090354 1.278453677 1.282817000 #> [295] 1.287180323 1.291543646 1.295906970 1.300270293 1.304633616 1.308996939 #> [301] 1.313360262 1.317723585 1.322086908 1.326450232 1.330813555 1.335176878 #> [307] 1.339540201 1.343903524 1.348266847 1.352630170 1.356993493 1.361356817 #> [313] 1.365720140 1.370083463 1.374446786 1.378810109 1.383173432 1.387536755 #> [319] 1.391900078 1.396263402 1.400626725 1.404990048 1.409353371 1.413716694 #> [325] 1.418080017 1.422443340 1.426806664 1.431169987 1.435533310 1.439896633 #> [331] 1.444259956 1.448623279 1.452986602 1.457349925 1.461713249 1.466076572 #> [337] 1.470439895 1.474803218 1.479166541 1.483529864 1.487893187 1.492256510 #> [343] 1.496619834 1.500983157 1.505346480 1.509709803 1.514073126 1.518436449 #> [349] 1.522799772 1.527163095 1.531526419 1.535889742 1.540253065 1.544616388 #> [355] 1.548979711 1.553343034 1.557706357 1.562069681 1.566433004 1.570796327 #> [361] 1.575159650 1.579522973 1.583886296 1.588249619 1.592612942 1.596976266 #> [367] 1.601339589 1.605702912 1.610066235 1.614429558 1.618792881 1.623156204 #> [373] 1.627519527 1.631882851 1.636246174 1.640609497 1.644972820 1.649336143 #> [379] 1.653699466 1.658062789 1.662426113 1.666789436 1.671152759 1.675516082 #> [385] 1.679879405 1.684242728 1.688606051 1.692969374 1.697332698 1.701696021 #> [391] 1.706059344 1.710422667 1.714785990 1.719149313 1.723512636 1.727875959 #> [397] 1.732239283 1.736602606 1.740965929 1.745329252 1.749692575 1.754055898 #> [403] 1.758419221 1.762782545 1.767145868 1.771509191 1.775872514 1.780235837 #> [409] 1.784599160 1.788962483 1.793325806 1.797689130 1.802052453 1.806415776 #> [415] 1.810779099 1.815142422 1.819505745 1.823869068 1.828232391 1.832595715 #> [421] 1.836959038 1.841322361 1.845685684 1.850049007 1.854412330 1.858775653 #> [427] 1.863138977 1.867502300 1.871865623 1.876228946 1.880592269 1.884955592 #> [433] 1.889318915 1.893682238 1.898045562 1.902408885 1.906772208 1.911135531 #> [439] 1.915498854 1.919862177 1.924225500 1.928588823 1.932952147 1.937315470 #> [445] 1.941678793 1.946042116 1.950405439 1.954768762 1.959132085 1.963495408 #> [451] 1.967858732 1.972222055 1.976585378 1.980948701 1.985312024 1.989675347 #> [457] 1.994038670 1.998401994 2.002765317 2.007128640 2.011491963 2.015855286 #> [463] 2.020218609 2.024581932 2.028945255 2.033308579 2.037671902 2.042035225 #> [469] 2.046398548 2.050761871 2.055125194 2.059488517 2.063851840 2.068215164 #> [475] 2.072578487 2.076941810 2.081305133 2.085668456 2.090031779 2.094395102 #> [481] 2.098758426 2.103121749 2.107485072 2.111848395 2.116211718 2.120575041 #> [487] 2.124938364 2.129301687 2.133665011 2.138028334 2.142391657 2.146754980 #> [493] 2.151118303 2.155481626 2.159844949 2.164208272 2.168571596 2.172934919 #> [499] 2.177298242 2.181661565 2.186024888 2.190388211 2.194751534 2.199114858 #> [505] 2.203478181 2.207841504 2.212204827 2.216568150 2.220931473 2.225294796 #> [511] 2.229658119 2.234021443 2.238384766 2.242748089 2.247111412 2.251474735 #> [517] 2.255838058 2.260201381 2.264564704 2.268928028 2.273291351 2.277654674 #> [523] 2.282017997 2.286381320 2.290744643 2.295107966 2.299471290 2.303834613 #> [529] 2.308197936 2.312561259 2.316924582 2.321287905 2.325651228 2.330014551 #> [535] 2.334377875 2.338741198 2.343104521 2.347467844 2.351831167 2.356194490 #> [541] 2.360557813 2.364921136 2.369284460 2.373647783 2.378011106 2.382374429 #> [547] 2.386737752 2.391101075 2.395464398 2.399827721 2.404191045 2.408554368 #> [553] 2.412917691 2.417281014 2.421644337 2.426007660 2.430370983 2.434734307 #> [559] 2.439097630 2.443460953 2.447824276 2.452187599 2.456550922 2.460914245 #> [565] 2.465277568 2.469640892 2.474004215 2.478367538 2.482730861 2.487094184 #> [571] 2.491457507 2.495820830 2.500184153 2.504547477 2.508910800 2.513274123 #> [577] 2.517637446 2.522000769 2.526364092 2.530727415 2.535090739 2.539454062 #> [583] 2.543817385 2.548180708 2.552544031 2.556907354 2.561270677 2.565634000 #> [589] 2.569997324 2.574360647 2.578723970 2.583087293 2.587450616 2.591813939 #> [595] 2.596177262 2.600540585 2.604903909 2.609267232 2.613630555 2.617993878 #> [601] 2.622357201 2.626720524 2.631083847 2.635447171 2.639810494 2.644173817 #> [607] 2.648537140 2.652900463 2.657263786 2.661627109 2.665990432 2.670353756 #> [613] 2.674717079 2.679080402 2.683443725 2.687807048 2.692170371 2.696533694 #> [619] 2.700897017 2.705260341 2.709623664 2.713986987 2.718350310 2.722713633 #> [625] 2.727076956 2.731440279 2.735803603 2.740166926 2.744530249 2.748893572 #> [631] 2.753256895 2.757620218 2.761983541 2.766346864 2.770710188 2.775073511 #> [637] 2.779436834 2.783800157 2.788163480 2.792526803 2.796890126 2.801253449 #> [643] 2.805616773 2.809980096 2.814343419 2.818706742 2.823070065 2.827433388 #> [649] 2.831796711 2.836160034 2.840523358 2.844886681 2.849250004 2.853613327 #> [655] 2.857976650 2.862339973 2.866703296 2.871066620 2.875429943 2.879793266 #> [661] 2.884156589 2.888519912 2.892883235 2.897246558 2.901609881 2.905973205 #> [667] 2.910336528 2.914699851 2.919063174 2.923426497 2.927789820 2.932153143 #> [673] 2.936516466 2.940879790 2.945243113 2.949606436 2.953969759 2.958333082 #> [679] 2.962696405 2.967059728 2.971423052 2.975786375 2.980149698 2.984513021 #> [685] 2.988876344 2.993239667 2.997602990 3.001966313 3.006329637 3.010692960 #> [691] 3.015056283 3.019419606 3.023782929 3.028146252 3.032509575 3.036872898 #> [697] 3.041236222 3.045599545 3.049962868 3.054326191 3.058689514 3.063052837 #> [703] 3.067416160 3.071779484 3.076142807 3.080506130 3.084869453 3.089232776 #> [709] 3.093596099 3.097959422 3.102322745 3.106686069 3.111049392 3.115412715 #> [715] 3.119776038 3.124139361 3.128502684 3.132866007 3.137229330 3.141592654 #> [721] 3.145955977 3.150319300 3.154682623 3.159045946 3.163409269 3.167772592 #> [727] 3.172135915 3.176499239 3.180862562 3.185225885 3.189589208 3.193952531 #> [733] 3.198315854 3.202679177 3.207042501 3.211405824 3.215769147 3.220132470 #> [739] 3.224495793 3.228859116 3.233222439 3.237585762 3.241949086 3.246312409 #> [745] 3.250675732 3.255039055 3.259402378 3.263765701 3.268129024 3.272492347 #> [751] 3.276855671 3.281218994 3.285582317 3.289945640 3.294308963 3.298672286 #> [757] 3.303035609 3.307398933 3.311762256 3.316125579 3.320488902 3.324852225 #> [763] 3.329215548 3.333578871 3.337942194 3.342305518 3.346668841 3.351032164 #> [769] 3.355395487 3.359758810 3.364122133 3.368485456 3.372848779 3.377212103 #> [775] 3.381575426 3.385938749 3.390302072 3.394665395 3.399028718 3.403392041 #> [781] 3.407755365 3.412118688 3.416482011 3.420845334 3.425208657 3.429571980 #> [787] 3.433935303 3.438298626 3.442661950 3.447025273 3.451388596 3.455751919 #> [793] 3.460115242 3.464478565 3.468841888 3.473205211 3.477568535 3.481931858 #> [799] 3.486295181 3.490658504 3.495021827 3.499385150 3.503748473 3.508111797 #> [805] 3.512475120 3.516838443 3.521201766 3.525565089 3.529928412 3.534291735 #> [811] 3.538655058 3.543018382 3.547381705 3.551745028 3.556108351 3.560471674 #> [817] 3.564834997 3.569198320 3.573561643 3.577924967 3.582288290 3.586651613 #> [823] 3.591014936 3.595378259 3.599741582 3.604104905 3.608468228 3.612831552 #> [829] 3.617194875 3.621558198 3.625921521 3.630284844 3.634648167 3.639011490 #> [835] 3.643374814 3.647738137 3.652101460 3.656464783 3.660828106 3.665191429 #> [841] 3.669554752 3.673918075 3.678281399 3.682644722 3.687008045 3.691371368 #> [847] 3.695734691 3.700098014 3.704461337 3.708824660 3.713187984 3.717551307 #> [853] 3.721914630 3.726277953 3.730641276 3.735004599 3.739367922 3.743731246 #> [859] 3.748094569 3.752457892 3.756821215 3.761184538 3.765547861 3.769911184 #> [865] 3.774274507 3.778637831 3.783001154 3.787364477 3.791727800 3.796091123 #> [871] 3.800454446 3.804817769 3.809181092 3.813544416 3.817907739 3.822271062 #> [877] 3.826634385 3.830997708 3.835361031 3.839724354 3.844087678 3.848451001 #> [883] 3.852814324 3.857177647 3.861540970 3.865904293 3.870267616 3.874630939 #> [889] 3.878994263 3.883357586 3.887720909 3.892084232 3.896447555 3.900810878 #> [895] 3.905174201 3.909537524 3.913900848 3.918264171 3.922627494 3.926990817 #> [901] 3.931354140 3.935717463 3.940080786 3.944444110 3.948807433 3.953170756 #> [907] 3.957534079 3.961897402 3.966260725 3.970624048 3.974987371 3.979350695 #> [913] 3.983714018 3.988077341 3.992440664 3.996803987 4.001167310 4.005530633 #> [919] 4.009893956 4.014257280 4.018620603 4.022983926 4.027347249 4.031710572 #> [925] 4.036073895 4.040437218 4.044800541 4.049163865 4.053527188 4.057890511 #> [931] 4.062253834 4.066617157 4.070980480 4.075343803 4.079707127 4.084070450 #> [937] 4.088433773 4.092797096 4.097160419 4.101523742 4.105887065 4.110250388 #> [943] 4.114613712 4.118977035 4.123340358 4.127703681 4.132067004 4.136430327 #> [949] 4.140793650 4.145156973 4.149520297 4.153883620 4.158246943 4.162610266 #> [955] 4.166973589 4.171336912 4.175700235 4.180063559 4.184426882 4.188790205 #> [961] 4.193153528 4.197516851 4.201880174 4.206243497 4.210606820 4.214970144 #> [967] 4.219333467 4.223696790 4.228060113 4.232423436 4.236786759 4.241150082 #> [973] 4.245513405 4.249876729 4.254240052 4.258603375 4.262966698 4.267330021 #> [979] 4.271693344 4.276056667 4.280419991 4.284783314 4.289146637 4.293509960 #> [985] 4.297873283 4.302236606 4.306599929 4.310963252 4.315326576 4.319689899 #> [991] 4.324053222 4.328416545 4.332779868 4.337143191 4.341506514 4.345869837 #> [997] 4.350233161 4.354596484 4.358959807 4.363323130 4.367686453 4.372049776 #> [1003] 4.376413099 4.380776423 4.385139746 4.389503069 4.393866392 4.398229715 #> [1009] 4.402593038 4.406956361 4.411319684 4.415683008 4.420046331 4.424409654 #> [1015] 4.428772977 4.433136300 4.437499623 4.441862946 4.446226269 4.450589593 #> [1021] 4.454952916 4.459316239 4.463679562 4.468042885 4.472406208 4.476769531 #> [1027] 4.481132854 4.485496178 4.489859501 4.494222824 4.498586147 4.502949470 #> [1033] 4.507312793 4.511676116 4.516039440 4.520402763 4.524766086 4.529129409 #> [1039] 4.533492732 4.537856055 4.542219378 4.546582701 4.550946025 4.555309348 #> [1045] 4.559672671 4.564035994 4.568399317 4.572762640 4.577125963 4.581489286 #> [1051] 4.585852610 4.590215933 4.594579256 4.598942579 4.603305902 4.607669225 #> [1057] 4.612032548 4.616395872 4.620759195 4.625122518 4.629485841 4.633849164 #> [1063] 4.638212487 4.642575810 4.646939133 4.651302457 4.655665780 4.660029103 #> [1069] 4.664392426 4.668755749 4.673119072 4.677482395 4.681845718 4.686209042 #> [1075] 4.690572365 4.694935688 4.699299011 4.703662334 4.708025657 4.712388980 #> [1081] 4.716752304 4.721115627 4.725478950 4.729842273 4.734205596 4.738568919 #> [1087] 4.742932242 4.747295565 4.751658889 4.756022212 4.760385535 4.764748858 #> [1093] 4.769112181 4.773475504 4.777838827 4.782202150 4.786565474 4.790928797 #> [1099] 4.795292120 4.799655443 4.804018766 4.808382089 4.812745412 4.817108736 #> [1105] 4.821472059 4.825835382 4.830198705 4.834562028 4.838925351 4.843288674 #> [1111] 4.847651997 4.852015321 4.856378644 4.860741967 4.865105290 4.869468613 #> [1117] 4.873831936 4.878195259 4.882558582 4.886921906 4.891285229 4.895648552 #> [1123] 4.900011875 4.904375198 4.908738521 4.913101844 4.917465167 4.921828491 #> [1129] 4.926191814 4.930555137 4.934918460 4.939281783 4.943645106 4.948008429 #> [1135] 4.952371753 4.956735076 4.961098399 4.965461722 4.969825045 4.974188368 #> [1141] 4.978551691 4.982915014 4.987278338 4.991641661 4.996004984 5.000368307 #> [1147] 5.004731630 5.009094953 5.013458276 5.017821599 5.022184923 5.026548246 #> [1153] 5.030911569 5.035274892 5.039638215 5.044001538 5.048364861 5.052728185 #> [1159] 5.057091508 5.061454831 5.065818154 5.070181477 5.074544800 5.078908123 #> [1165] 5.083271446 5.087634770 5.091998093 5.096361416 5.100724739 5.105088062 #> [1171] 5.109451385 5.113814708 5.118178031 5.122541355 5.126904678 5.131268001 #> [1177] 5.135631324 5.139994647 5.144357970 5.148721293 5.153084617 5.157447940 #> [1183] 5.161811263 5.166174586 5.170537909 5.174901232 5.179264555 5.183627878 #> [1189] 5.187991202 5.192354525 5.196717848 5.201081171 5.205444494 5.209807817 #> [1195] 5.214171140 5.218534463 5.222897787 5.227261110 5.231624433 5.235987756 #> [1201] 5.240351079 5.244714402 5.249077725 5.253441049 5.257804372 5.262167695 #> [1207] 5.266531018 5.270894341 5.275257664 5.279620987 5.283984310 5.288347634 #> [1213] 5.292710957 5.297074280 5.301437603 5.305800926 5.310164249 5.314527572 #> [1219] 5.318890895 5.323254219 5.327617542 5.331980865 5.336344188 5.340707511 #> [1225] 5.345070834 5.349434157 5.353797480 5.358160804 5.362524127 5.366887450 #> [1231] 5.371250773 5.375614096 5.379977419 5.384340742 5.388704066 5.393067389 #> [1237] 5.397430712 5.401794035 5.406157358 5.410520681 5.414884004 5.419247327 #> [1243] 5.423610651 5.427973974 5.432337297 5.436700620 5.441063943 5.445427266 #> [1249] 5.449790589 5.454153912 5.458517236 5.462880559 5.467243882 5.471607205 #> [1255] 5.475970528 5.480333851 5.484697174 5.489060498 5.493423821 5.497787144 #> [1261] 5.502150467 5.506513790 5.510877113 5.515240436 5.519603759 5.523967083 #> [1267] 5.528330406 5.532693729 5.537057052 5.541420375 5.545783698 5.550147021 #> [1273] 5.554510344 5.558873668 5.563236991 5.567600314 5.571963637 5.576326960 #> [1279] 5.580690283 5.585053606 5.589416930 5.593780253 5.598143576 5.602506899 #> [1285] 5.606870222 5.611233545 5.615596868 5.619960191 5.624323515 5.628686838 #> [1291] 5.633050161 5.637413484 5.641776807 5.646140130 5.650503453 5.654866776 #> [1297] 5.659230100 5.663593423 5.667956746 5.672320069 5.676683392 5.681046715 #> [1303] 5.685410038 5.689773362 5.694136685 5.698500008 5.702863331 5.707226654 #> [1309] 5.711589977 5.715953300 5.720316623 5.724679947 5.729043270 5.733406593 #> [1315] 5.737769916 5.742133239 5.746496562 5.750859885 5.755223208 5.759586532 #> [1321] 5.763949855 5.768313178 5.772676501 5.777039824 5.781403147 5.785766470 #> [1327] 5.790129793 5.794493117 5.798856440 5.803219763 5.807583086 5.811946409 #> [1333] 5.816309732 5.820673055 5.825036379 5.829399702 5.833763025 5.838126348 #> [1339] 5.842489671 5.846852994 5.851216317 5.855579640 5.859942964 5.864306287 #> [1345] 5.868669610 5.873032933 5.877396256 5.881759579 5.886122902 5.890486225 #> [1351] 5.894849549 5.899212872 5.903576195 5.907939518 5.912302841 5.916666164 #> [1357] 5.921029487 5.925392811 5.929756134 5.934119457 5.938482780 5.942846103 #> [1363] 5.947209426 5.951572749 5.955936072 5.960299396 5.964662719 5.969026042 #> [1369] 5.973389365 5.977752688 5.982116011 5.986479334 5.990842657 5.995205981 #> [1375] 5.999569304 6.003932627 6.008295950 6.012659273 6.017022596 6.021385919 #> [1381] 6.025749243 6.030112566 6.034475889 6.038839212 6.043202535 6.047565858 #> [1387] 6.051929181 6.056292504 6.060655828 6.065019151 6.069382474 6.073745797 #> [1393] 6.078109120 6.082472443 6.086835766 6.091199089 6.095562413 6.099925736 #> [1399] 6.104289059 6.108652382 6.113015705 6.117379028 6.121742351 6.126105675 #> [1405] 6.130468998 6.134832321 6.139195644 6.143558967 6.147922290 6.152285613 #> [1411] 6.156648936 6.161012260 6.165375583 6.169738906 6.174102229 6.178465552 #> [1417] 6.182828875 6.187192198 6.191555521 6.195918845 6.200282168 6.204645491 #> [1423] 6.209008814 6.213372137 6.217735460 6.222098783 6.226462106 6.230825430 #> [1429] 6.235188753 6.239552076 6.243915399 6.248278722 6.252642045 6.257005368 #> [1435] 6.261368692 6.265732015 6.270095338 6.274458661 6.278821984 6.283185307"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/dielRings.html","id":null,"dir":"Reference","previous_headings":"","what":"Plot rings on a diel plot — dielRings","title":"Plot rings on a diel plot — dielRings","text":"Plot rings diel plot.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/dielRings.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Plot rings on a diel plot — dielRings","text":"","code":"dielRings( names, starts, ends, cols = \"grey\", format = \"HHMM\", limits = c(1, 2), legend = T )"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/dielRings.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Plot rings on a diel plot — dielRings","text":"names Labels rings starts Start times rings HHMM string format ends End times rings HHMM string format cols Colours rings format Defaults HHMM limits Region dielPlot() plot rings. Defaults c(1,2) legend Boolean. Whether plot legend.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/dolbear.html","id":null,"dir":"Reference","previous_headings":"","what":"Dolbear's law — dolbear","title":"Dolbear's law — dolbear","text":"Calculates either chirps per minute based temperature vice versa using Dolbear's law (equivalent laws species)","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/dolbear.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Dolbear's law — dolbear","text":"","code":"dolbear(n = NULL, t = NULL, species = \"Oecanthus fultoni\")"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/dolbear.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Dolbear's law — dolbear","text":"n Chirps per minute t Temperature Celsius species Species use (default Oecanthus fultoni)","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/dolbear.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Dolbear's law — dolbear","text":"Missing value n t","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/dolbear.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Dolbear's law — dolbear","text":"","code":"dolbear(n=6) #> [1] 5.142857 dolbear(t=25) #> [1] 145"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/dutyCycle.html","id":null,"dir":"Reference","previous_headings":"","what":"Calculate the duty cycle of a wave — dutyCycle","title":"Calculate the duty cycle of a wave — dutyCycle","text":"Proportion wave signal limit","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/dutyCycle.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Calculate the duty cycle of a wave — dutyCycle","text":"","code":"dutyCycle(wave, limit = 0.1, output = \"unit\", normalise = TRUE)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/dutyCycle.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Calculate the duty cycle of a wave — dutyCycle","text":"wave Wave object limit Threshold consider signal output \"unit\" duty cycle range 0-1. percentage use \"percent\". normalise TRUE Wave normalised using tuneR","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/dutyCycle.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Calculate the duty cycle of a wave — dutyCycle","text":"numerical value duty cycle 0 1 (0 100% percentage output).","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/dutyCycle.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Calculate the duty cycle of a wave — dutyCycle","text":"","code":"wave <- tuneR::sine(2000) dc <- dutyCycle(wave) pc <- dutyCycle(wave, output=\"percent\")"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/emptyDiel.html","id":null,"dir":"Reference","previous_headings":"","what":"Create an empty diel plot — emptyDiel","title":"Create an empty diel plot — emptyDiel","text":"Create diel plot labels without sun altitude times day plotted.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/emptyDiel.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Create an empty diel plot — emptyDiel","text":"","code":"emptyDiel(method = \"plotrix\", rot = pi)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/emptyDiel.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Create an empty diel plot — emptyDiel","text":"method Plotting package use rot Rotation origin (defaults pi)","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/emptyYearly.html","id":null,"dir":"Reference","previous_headings":"","what":"Create an empty yearly plot — emptyYearly","title":"Create an empty yearly plot — emptyYearly","text":"Create yearly plot labels without sun night duration plotted.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/emptyYearly.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Create an empty yearly plot — emptyYearly","text":"","code":"emptyYearly(year = 2022, method = \"plotix\", rot = pi)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/emptyYearly.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Create an empty yearly plot — emptyYearly","text":"year Year plot (allows leap years) method Plotting package use rot Rotation origin (defaults pi)","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/entropyStats.html","id":null,"dir":"Reference","previous_headings":"","what":"Various measurements of frequency values for a Wave object — entropyStats","title":"Various measurements of frequency values for a Wave object — entropyStats","text":"Calculates peak, centre, bandwidth quality factor. quality factor (Q) calculated -3dB -10dB discussed Bennett-Clark (1999) doi:10.1080/09524622.1999.9753408.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/entropyStats.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Various measurements of frequency values for a Wave object — entropyStats","text":"","code":"entropyStats(wave)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/entropyStats.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Various measurements of frequency values for a Wave object — entropyStats","text":"wave Wave object","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/entropyStats.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Various measurements of frequency values for a Wave object — entropyStats","text":"list spectral entropy types.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/entropyStats.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Various measurements of frequency values for a Wave object — entropyStats","text":"","code":"if (FALSE) { entropyStats(sheep) }"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/filterWave.html","id":null,"dir":"Reference","previous_headings":"","what":"Apply a WaveFilter object to a Wave object — filterWave","title":"Apply a WaveFilter object to a Wave object — filterWave","text":"WaveFilter object object containing information necessary filterw function apply filter Wave object. designed allow pipe operator (either magrittr base R) used apply filters Wave pipeline.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/filterWave.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Apply a WaveFilter object to a Wave object — filterWave","text":"","code":"filterWave(w, filt, cl = NULL)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/filterWave.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Apply a WaveFilter object to a Wave object — filterWave","text":"w Wave object. filt Wave object selected filter applied. cl Optional. cluster specified, filter applied parallel.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/filterWave.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Apply a WaveFilter object to a Wave object — filterWave","text":"Supported filters include seewave package.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/frequencySound.html","id":null,"dir":"Reference","previous_headings":"","what":"Get the frequency from wavelength and speed of sound — frequencySound","title":"Get the frequency from wavelength and speed of sound — frequencySound","text":"Calculates frequency sound wave given wavelength speed sound medium.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/frequencySound.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get the frequency from wavelength and speed of sound — frequencySound","text":"","code":"frequencySound(wl, s = soundSpeed(medium = \"air\"))"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/frequencySound.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get the frequency from wavelength and speed of sound — frequencySound","text":"wl Wavelength s Speed sound (defaults speed sound air)","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/frequencySound.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get the frequency from wavelength and speed of sound — frequencySound","text":"Frequency sound Hertz","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/frequencySound.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Get the frequency from wavelength and speed of sound — frequencySound","text":"","code":"f <- frequencySound(wl=100, s=343)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/frequencyStats.html","id":null,"dir":"Reference","previous_headings":"","what":"Various measurements of frequency values for a Wave object — frequencyStats","title":"Various measurements of frequency values for a Wave object — frequencyStats","text":"Calculates peak, centre, bandwidth quality factor. quality factor (Q) calculated -3dB -10dB discussed Bennett-Clark (1999) .","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/frequencyStats.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Various measurements of frequency values for a Wave object — frequencyStats","text":"","code":"frequencyStats(wave, wave_spec = NULL, warn = TRUE, lowcut = 1, plot = FALSE)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/frequencyStats.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Various measurements of frequency values for a Wave object — frequencyStats","text":"wave Wave object wave_spec precomputed spectrum (optional, present generated) warn TRUE provides warnings values consistent lowcut Frequency (kHz) values ignored. plot TRUE displays values","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/generateNoise.html","id":null,"dir":"Reference","previous_headings":"","what":"Add noise to a Wave like object — generateNoise","title":"Add noise to a Wave like object — generateNoise","text":"Adding noise Wave like object allows testing robustness automated identification algorithms noise.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/generateNoise.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add noise to a Wave like object — generateNoise","text":"","code":"generateNoise( wave, noise = c(\"white\"), noise.add = FALSE, noise.ratio = 0.5, noise.ref = \"file\", output = \"list\" )"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/generateNoise.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add noise to a Wave like object — generateNoise","text":"wave Object add noise (Wave, WaveMC, Tagged versions), list objects. noise Vector noise add (unif, gaussian, white, pink, power, red) noise.add TRUE noise sources added wave. FALSE separate outputs created noise source. noise.ratio Ratio maximum noise amplitude maximum amplitude wave. noise.ref Reference maximum noise.ratio. \"max\" maximum amplitude, \"file\" maximum amplitude wave. output TODO: implemented?","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/generateNoise.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Add noise to a Wave like object — generateNoise","text":"list Wave objects required noise added.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/generateTimeShift.html","id":null,"dir":"Reference","previous_headings":"","what":"Generated time-shifted versions of a Wave-like object — generateTimeShift","title":"Generated time-shifted versions of a Wave-like object — generateTimeShift","text":"Given Wave-like object (list Wave-like objects), function generates time-shifted versions object. time-shifted versions generated adding constant amount time start end object. achieved either inserting silence truncating object original length, rotating audio within object.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/generateTimeShift.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Generated time-shifted versions of a Wave-like object — generateTimeShift","text":"","code":"generateTimeShift( wave, type = \"silent\", amount = c(1, 2), where = \"start\", output = \"list\" )"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/generateTimeShift.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Generated time-shifted versions of a Wave-like object — generateTimeShift","text":"wave Wave-like object list Wave-like objects. type type time-shift apply. Either \"silent\" \"rotate\". amount Vector amount time shift (seconds). insert silence type \"silent\". output Return list.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/generateTimeShift.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Generated time-shifted versions of a Wave-like object — generateTimeShift","text":"Wave-like object list Wave-like objects.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/gs_transcribe.html","id":null,"dir":"Reference","previous_headings":"","what":"Google Speech API Transcribe — gs_transcribe","title":"Google Speech API Transcribe — gs_transcribe","text":"Wrapper around various Google packages simplify speech transcription.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/gs_transcribe.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Google Speech API Transcribe — gs_transcribe","text":"","code":"gs_transcribe(filename, bucket = NULL, ...)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/gs_transcribe.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Google Speech API Transcribe — gs_transcribe","text":"filename Path file analysis bucket Storage bucket Google Cloud larger files ... Additional arguments pass gl_speech()","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/gs_transcribe.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Google Speech API Transcribe — gs_transcribe","text":"gs_transcribe object containing details transcription","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/gs_transcribe.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Google Speech API Transcribe — gs_transcribe","text":"","code":"if (FALSE) { gs_transcribe(\"demo.wav\") }"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/humanBytes.html","id":null,"dir":"Reference","previous_headings":"","what":"Converts bytes in human readable form — humanBytes","title":"Converts bytes in human readable form — humanBytes","text":"Given input bytes calculates result sensible output unit (e.g. MB, GB, PB).","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/humanBytes.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Converts bytes in human readable form — humanBytes","text":"","code":"humanBytes(S)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/humanBytes.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Converts bytes in human readable form — humanBytes","text":"S Number bytes","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/humanBytes.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Converts bytes in human readable form — humanBytes","text":"String human readable format","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/humanTime.html","id":null,"dir":"Reference","previous_headings":"","what":"Converts time to human readable form — humanTime","title":"Converts time to human readable form — humanTime","text":"Given input bytes calculates result sensible output unit (e.g. minutes, hours).","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/humanTime.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Converts time to human readable form — humanTime","text":"","code":"humanTime(S, unit = \"seconds\")"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/humanTime.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Converts time to human readable form — humanTime","text":"S Time convert unit unit unit time convert","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/humanTime.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Converts time to human readable form — humanTime","text":"String human readable format","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/jitter.html","id":null,"dir":"Reference","previous_headings":"","what":"Calculate the jitter in a Wave object — jitter","title":"Calculate the jitter in a Wave object — jitter","text":"Jitter measure variability periods waveform. Relative jitter scaled jitter analysed waveform.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/jitter.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Calculate the jitter in a Wave object — jitter","text":"","code":"jitter(wave, method = \"absolute\")"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/jitter.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Calculate the jitter in a Wave object — jitter","text":"wave Wave object method One \"absolute\" \"relative\"","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/jitter.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Calculate the jitter in a Wave object — jitter","text":"vector zero crossing locations","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/jitter.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Calculate the jitter in a Wave object — jitter","text":"","code":"if (FALSE) { jitter(sheep, method=\"absolute\") jitter(sheep, method=\"relative\") }"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/labelPadding.html","id":null,"dir":"Reference","previous_headings":"","what":"Pad labels with interval — labelPadding","title":"Pad labels with interval — labelPadding","text":"Takes labels Google Speech API transcript pads time specified number seconds.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/labelPadding.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Pad labels with interval — labelPadding","text":"","code":"labelPadding(t, pad = 0.5, max_t = NULL)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/labelPadding.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Pad labels with interval — labelPadding","text":"t Transcript Google Speech API pad Amount time (seconds) add start end max_t Optional. duration file, padding exceed length file.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/labelPadding.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Pad labels with interval — labelPadding","text":"modified Google Speech API transcript object","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/labelPadding.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Pad labels with interval — labelPadding","text":"","code":"if (FALSE) { labelPadding(t, pad=2, max_t=duration(wave)) }"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/labelReduction.html","id":null,"dir":"Reference","previous_headings":"","what":"Combines labels which overlap into single continuous regions — labelReduction","title":"Combines labels which overlap into single continuous regions — labelReduction","text":"Takes labels Google Speech API transcript combines overlapping labels.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/labelReduction.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Combines labels which overlap into single continuous regions — labelReduction","text":"","code":"labelReduction(t)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/labelReduction.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Combines labels which overlap into single continuous regions — labelReduction","text":"t Transcript Google Speech API","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/labelReduction.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Combines labels which overlap into single continuous regions — labelReduction","text":"list containing start end times speech containing regions","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/labelReduction.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Combines labels which overlap into single continuous regions — labelReduction","text":"","code":"if (FALSE) { labelReduction(t) }"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/map2RGB.html","id":null,"dir":"Reference","previous_headings":"","what":"Map three vectors to RGB — map2RGB","title":"Map three vectors to RGB — map2RGB","text":"Maps three vectors equal length RGB use false-colour index spectrograms","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/map2RGB.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Map three vectors to RGB — map2RGB","text":"","code":"map2RGB(red, green, blue)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/map2RGB.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Map three vectors to RGB — map2RGB","text":"red red channel vector green green channel vector blue blue channel vector","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/map2RGB.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Map three vectors to RGB — map2RGB","text":"vector RGB values","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/naturalFrequency.html","id":null,"dir":"Reference","previous_headings":"","what":"Calculate the natural frequency — naturalFrequency","title":"Calculate the natural frequency — naturalFrequency","text":"Calculates natural frequency given inductance, capacitance resistance. acoustic case inductance inertia mass, capacitance elasticity (bulk modulus) resistance composed air resistance related quantities. units SI.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/naturalFrequency.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Calculate the natural frequency — naturalFrequency","text":"","code":"naturalFrequency(L, C = \"default\", R)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/naturalFrequency.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Calculate the natural frequency — naturalFrequency","text":"L Inductance C Capacitance, default IUPAC standard pressure. R Resistance","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/naturalFrequency.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Calculate the natural frequency — naturalFrequency","text":"isothermal compression, bulk modulus equal pressure. default value C therefore IUPAC standard pressure.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/naturalFrequency.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Calculate the natural frequency — naturalFrequency","text":"","code":"naturalFrequency(L=20,R=0.5) #> [1] 0.002950812 naturalFrequency(L=20,C=1/4,R=0.5) #> [1] 0.07114845"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/ntd.html","id":null,"dir":"Reference","previous_headings":"","what":"Natural Time Domain — ntd","title":"Natural Time Domain — ntd","text":"Runs function wave outputs values Natural Time Domain (see Varotsos, Sarlis & Skordas(2011) doi:10.1007/978-3-642-16449-1).","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/ntd.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Natural Time Domain — ntd","text":"","code":"ntd(wave, events, FUN, normalise = FALSE, argument = \"wave\", ...)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/ntd.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Natural Time Domain — ntd","text":"wave Wave object containing pulses events Onset detected events, e.g. pulseDetection() FUN function run normalise TRUE output probability density argument \"wave\" supplies weave object function, \"vector\" supplies left channel numeric vector. ... Additional arguments FUN","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/ntd.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Natural Time Domain — ntd","text":"list outputs form applied function","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/parseFilename.html","id":null,"dir":"Reference","previous_headings":"","what":"Parse a filename — parseFilename","title":"Parse a filename — parseFilename","text":"Attempts extract meaningful information filename, typically date time recording started.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/parseFilename.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Parse a filename — parseFilename","text":"","code":"parseFilename(file, format = NULL, timezone = NULL)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/parseFilename.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Parse a filename — parseFilename","text":"file filename (list filenames). format Optionally force given format (see Details). NULL (default) attempt made automatically detect format file. \"match\" list filenames given attempt made find format matches files. may give incorrect results filename ambiguous (see Details). timezone Optionally set timezone.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/parseFilename.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Parse a filename — parseFilename","text":"list file, type match, datetime. possible determine additional properties files, added list.","code":""},{"path":[]},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/parseFilename.html","id":"determining-the-format","dir":"Reference","previous_headings":"","what":"Determining the format","title":"Parse a filename — parseFilename","text":"sometimes impossible accurately determine format filename, e.g. eight-digit 'AudioMoth HEX' contains numbers confused YYYYMMDD format. list filenames given \"match\" format specified effort made determine likely format applies filenames.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/parseFilename.html","id":"supported-formats","dir":"Reference","previous_headings":"","what":"Supported formats","title":"Parse a filename — parseFilename","text":"AudioMoth - newer format AudioMoth devices consists standard YYYYMMDD_HHMMSS.wav format. Specifying 'AudioMoth' forces call audiomoth() function seewave package (Sueur et al. 2008) . AudioMoth HEX - Older format AudioMoth devices consisting eight hexadecimal characters. Conversion handled call seewave::audiomoth(). timestamp - standard date-time format. Uses R standard origin 1970-01-01 00:00:00 UTC. Wildlife Acoustics SM2 - Can also used Wildlife Acoustics SM4 devices. Conversion handled call seewave::songmeter(). Wildlife Acoustics SM3 - Conversion handled call seewave::songmeter(). YYYYMMDD_HHMMSS - standard date-time format.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/parseFilename.html","id":"references","dir":"Reference","previous_headings":"","what":"References","title":"Parse a filename — parseFilename","text":"Sueur J, Aubin T, Simonis C (2008). “Seewave, free modular tool sound analysis synthesis.” Bioacoustics, 18(2), 213--226.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/parseFilename.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Parse a filename — parseFilename","text":"","code":"parseFilename(\"5E90A4D4.wav\") #> $filename #> [1] \"5E90A4D4.wav\" #> #> $match #> [1] \"AudioMoth HEX\" #> #> $datetime #> [1] \"2020-04-10 16:54:44 UTC\" #>"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/pd_dietrich2004.html","id":null,"dir":"Reference","previous_headings":"","what":"Pulse detection using Dietrich (2004) — pd_dietrich2004","title":"Pulse detection using Dietrich (2004) — pd_dietrich2004","text":"Detects pulses Wave using method described Dietrich et al (2004) doi:10.1016/j.patcog.2004.04.004.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/pd_dietrich2004.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Pulse detection using Dietrich (2004) — pd_dietrich2004","text":"","code":"pd_dietrich2004( wave, U = 120, gamma = 0.05, alpha = 1.4, scaling = 32, V = 480, psi = 1 )"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/pd_dietrich2004.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Pulse detection using Dietrich (2004) — pd_dietrich2004","text":"wave Wave object U Window length gamma Gamma alpha Alpha scaling Scaling V V Window length psi Psi","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/pd_dietrich2004.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Pulse detection using Dietrich (2004) — pd_dietrich2004","text":"list input values plus onset offset times pulses","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/pd_simple.html","id":null,"dir":"Reference","previous_headings":"","what":"Simplified pulse detection using Dietrich (2004) — pd_simple","title":"Simplified pulse detection using Dietrich (2004) — pd_simple","text":"Detects pulses Wave.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/pd_simple.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Simplified pulse detection using Dietrich (2004) — pd_simple","text":"","code":"pd_simple( wave, U = 120, gamma = 0.05, alpha = 1.4, scaling = 32, V = 480, psi = 1 )"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/pd_simple.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Simplified pulse detection using Dietrich (2004) — pd_simple","text":"wave Wave object U Window length gamma Gamma alpha Alpha scaling Scaling V V Window length psi Psi","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/plus-PseudoWave-numeric-method.html","id":null,"dir":"Reference","previous_headings":"","what":"PseudoWave scalar addition — +,PseudoWave,numeric-method","title":"PseudoWave scalar addition — +,PseudoWave,numeric-method","text":"PseudoWave scalar addition","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/plus-PseudoWave-numeric-method.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"PseudoWave scalar addition — +,PseudoWave,numeric-method","text":"","code":"# S4 method for PseudoWave,numeric +(e1, e2)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/plus-PseudoWave-numeric-method.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"PseudoWave scalar addition — +,PseudoWave,numeric-method","text":"e1 Input 1 e2 Input 2","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/plus-numeric-PseudoWave-method.html","id":null,"dir":"Reference","previous_headings":"","what":"Numeric addition by PseudoWave — +,numeric,PseudoWave-method","title":"Numeric addition by PseudoWave — +,numeric,PseudoWave-method","text":"Numeric addition PseudoWave","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/plus-numeric-PseudoWave-method.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Numeric addition by PseudoWave — +,numeric,PseudoWave-method","text":"","code":"# S4 method for numeric,PseudoWave +(e1, e2)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/plus-numeric-PseudoWave-method.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Numeric addition by PseudoWave — +,numeric,PseudoWave-method","text":"e1 Input 1 e2 Input 2","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/pseudoWave.html","id":null,"dir":"Reference","previous_headings":"","what":"Create a PseudoWave object — pseudoWave","title":"Create a PseudoWave object — pseudoWave","text":"function used create PseudoWave object can used generate Wave object operated .","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/pseudoWave.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Create a PseudoWave object — pseudoWave","text":"","code":"pseudoWave( type = NA_character_, subtype = NA_character_, scale = 1, offset = 0, seed = 1, params = list() )"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/pseudoWave.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Create a PseudoWave object — pseudoWave","text":"type Type PseudoWave (e.g. \"noise\", \"sine\") subtype Subtype PseudoWave (e.g. \"white\" type \"noise\") scale Wave channels multiplied value offset value added Wave channels seed Random seed reproducible output. NA params List additional parameters pass generating function","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/pseudoWave.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Create a PseudoWave object — pseudoWave","text":"PseudoWave object.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/pseudoWave.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Create a PseudoWave object — pseudoWave","text":"","code":"pw <- pseudoWave(\"noise\", \"white\") pw <- pseudoWave(\"sine\", params=list(\"f0\"=440))"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/pulse.html","id":null,"dir":"Reference","previous_headings":"","what":"Generate a single pulse — pulse","title":"Generate a single pulse — pulse","text":"Generate single pulse, either Dirac pulse (Dirac delta) square pulse.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/pulse.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Generate a single pulse — pulse","text":"","code":"pulse( type = \"dirac\", leading = 22050, pulse.length = 1, duration = samp.rate, samp.rate = 44100, bit = 1, pcm = FALSE, stereo = FALSE, output = \"Wave\", invert = FALSE )"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/pulse.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Generate a single pulse — pulse","text":"type Either \"dirac\" \"square\". leading number samples pulse. pulse.length number samples pulse (\"square\"). duration total number samples generated. samp.rate sample rate. bit bit depth. pcm Whether Wave generated PCM (see tuneR). stereo Whether Wave generated stereo. output output format (\"Wave\"). invert Whether invert pulse.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/pulse.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Generate a single pulse — pulse","text":"Specified output.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/pulseDetection.html","id":null,"dir":"Reference","previous_headings":"","what":"Pulse detection — pulseDetection","title":"Pulse detection — pulseDetection","text":"Detects pulses Wave, defaults using Dietrich (2004).","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/pulseDetection.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Pulse detection — pulseDetection","text":"","code":"pulseDetection(wave, method = \"simple\", ...)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/pulseDetection.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Pulse detection — pulseDetection","text":"wave Wave object containing pulses method method use pulse detection ... arguments pass pulse detection function","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/pulseIntervals.html","id":null,"dir":"Reference","previous_headings":"","what":"Pulse intervals — pulseIntervals","title":"Pulse intervals — pulseIntervals","text":"Used locate area pulses results pulseDetection().","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/pulseIntervals.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Pulse intervals — pulseIntervals","text":"","code":"pulseIntervals(pulses, nsd = 2)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/pulseIntervals.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Pulse intervals — pulseIntervals","text":"pulses result pulseDetection. nsd number standard deviations sid mean pulse interval discard","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/pulseIntervals.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Pulse intervals — pulseIntervals","text":"list onset offset times pulses","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/radarPower.html","id":null,"dir":"Reference","previous_headings":"","what":"The radar equation — radarPower","title":"The radar equation — radarPower","text":"Calculates power returned echolocation pulse","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/radarPower.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"The radar equation — radarPower","text":"","code":"radarPower(P_t, r, area, G_t = 1, G_r = 1, wl = 1)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/radarPower.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"The radar equation — radarPower","text":"P_t Power transmitted (sender) r Range target area Effective cross-sectional area target G_t Transmitter gain G_r Receiver gain wl Wavelength (use G_r G_t)","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/radarPower.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"The radar equation — radarPower","text":"received power","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/radarPower.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"The radar equation — radarPower","text":"","code":"radarPower(12, 20, 0.05) #> [1] 1.889738e-09 radarPower(12, 20, 0.05, G_t=1.2, G_r=1.5, wl=0.045) #> [1] 6.888096e-12"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/radarRange.html","id":null,"dir":"Reference","previous_headings":"","what":"Radar range — radarRange","title":"Radar range — radarRange","text":"Calculates distance object based round trip time echolocation pulse","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/radarRange.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Radar range — radarRange","text":"","code":"radarRange(t, c = soundSpeed(medium = \"air\"))"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/radarRange.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Radar range — radarRange","text":"t Time seconds c Speed sound transmission medium m/s (default air)","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/radarRange.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Radar range — radarRange","text":"Distance object","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/radarRange.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Radar range — radarRange","text":"","code":"radarRange(2) #> [1] 343 radarRange(2, c=343) #> [1] 343 radarRange(2, c=soundSpeed(medium = \"sea water\")) #> [1] 1500"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/radialPolygon.html","id":null,"dir":"Reference","previous_headings":"","what":"Plot a radial polygon — radialPolygon","title":"Plot a radial polygon — radialPolygon","text":"Used plot sectors, annuli horizons dielPlot() yearlyPlot(). polygon inner outer horizon - can set fixed radius vector.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/radialPolygon.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Plot a radial polygon — radialPolygon","text":"","code":"radialPolygon( angle1, angle2, radius1, radius2, col = \"grey\", border = NA, rot = -pi, angleinc = 0.01, reverse = TRUE, ... )"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/radialPolygon.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Plot a radial polygon — radialPolygon","text":"angle1 Angles inner line angle2 Angles outer line radius1 Radii inner line radius2 Radii outer line col Colour polygon border Border colour (see polygon() details) rot Rotation plot, defaults pi match dielPlot() yearlyPlot() angleinc angular increment radians calculating circular lines reverse FALSE plots anti-clockwise direction ... parameters passed polygon()","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/rainfallDetection.html","id":null,"dir":"Reference","previous_headings":"","what":"Rainfall detection — rainfallDetection","title":"Rainfall detection — rainfallDetection","text":"Detects rainfall Wave. uncalibrated version Bedoya et al (2017) doi:10.1016/j.ecolind.2016.12.018 available package. hardRain package can also accessed via wrapper.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/rainfallDetection.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Rainfall detection — rainfallDetection","text":"","code":"rainfallDetection(wave, method = \"bedoya2017\", ...)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/rainfallDetection.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Rainfall detection — rainfallDetection","text":"wave Wave object detect rainfall method rainfall detection method use (\"bedoya2017\") ... arguments pass rain detection function","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/rainfallDetection.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Rainfall detection — rainfallDetection","text":"Numeric value rainfall detection algorithm chosen.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/rainfallDetection.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Rainfall detection — rainfallDetection","text":"","code":"if (FALSE) { rainfallDetection(sheep, method=\"bedoya2017\") }"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/readAudacityLabels.html","id":null,"dir":"Reference","previous_headings":"","what":"Read an Audacity label file — readAudacityLabels","title":"Read an Audacity label file — readAudacityLabels","text":"Reads Audacity label file returns either list Annotation objects data frame.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/readAudacityLabels.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Read an Audacity label file — readAudacityLabels","text":"","code":"readAudacityLabels(file, output = \"annotations\")"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/readAudacityLabels.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Read an Audacity label file — readAudacityLabels","text":"file Path Audacity label file. output One \"annotations\" \"data.frame\".","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/readAudio.html","id":null,"dir":"Reference","previous_headings":"","what":"Read an audio file — readAudio","title":"Read an audio file — readAudio","text":"file used read audio file return Wave object, abstraction function various specific audio reading functions. existing method can identified attempt made use av package read audio.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/readAudio.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Read an audio file — readAudio","text":"","code":"readAudio(file, mime = \"auto\", from = 0, to = Inf, units = \"seconds\")"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/readAudio.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Read an audio file — readAudio","text":"file File read mime MIME type file read, \"auto\". Supported types \"audio/x-wav\" \"audio/mpeg\" (MP3) Start point file return End point file return units One \"samples\", \"seconds\", \"minutes\", \"hours\". Default \"seconds\".","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/readAudio.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Read an audio file — readAudio","text":"Wave object","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/readBirdNet.html","id":null,"dir":"Reference","previous_headings":"","what":"Read output files from BirdNet Analyser — readBirdNet","title":"Read output files from BirdNet Analyser — readBirdNet","text":"Reads single file, directory files, output BirdNet Analyser.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/readBirdNet.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Read output files from BirdNet Analyser — readBirdNet","text":"","code":"readBirdNet(file, filename_parsing = \"none\")"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/readBirdNet.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Read output files from BirdNet Analyser — readBirdNet","text":"file Filename directory filename_parsing Allows filename parsing, accepted values one none, audiomoth, timestamp.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/readBirdNet.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Read output files from BirdNet Analyser — readBirdNet","text":"data frame.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/readRespeaker6.html","id":null,"dir":"Reference","previous_headings":"","what":"Read a file from Seeed Studio Respeaker 6 mic array — readRespeaker6","title":"Read a file from Seeed Studio Respeaker 6 mic array — readRespeaker6","text":"Seeed Studio Respeaker-6 used described documentation saves eight channel audio file channels 7 8 containing input audio. function reads file saves six channel file.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/readRespeaker6.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Read a file from Seeed Studio Respeaker 6 mic array — readRespeaker6","text":"","code":"readRespeaker6(filename, from = 1, to = Inf, units = \"samples\", header = FALSE)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/readRespeaker6.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Read a file from Seeed Studio Respeaker 6 mic array — readRespeaker6","text":"filename file read. start reading wave units. stop reading wave units. units Units given, default \"samples\", can set time intervals \"seconds\". header TRUE, just header information Wave file returned, otherwise (default) whole Wave object.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/readRespeaker6.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Read a file from Seeed Studio Respeaker 6 mic array — readRespeaker6","text":"WaveMC object.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/referenceIntensity.html","id":null,"dir":"Reference","previous_headings":"","what":"Reference intensity — referenceIntensity","title":"Reference intensity — referenceIntensity","text":"Provides standard reference intensity level.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/referenceIntensity.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Reference intensity — referenceIntensity","text":"","code":"referenceIntensity(unit = \"watt_cm2\")"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/referenceIntensity.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Reference intensity — referenceIntensity","text":"unit Unit return, \"watt_cm2\"","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/referenceIntensity.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Reference intensity — referenceIntensity","text":"","code":"ri <- referenceIntensity()"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/referencePressure.html","id":null,"dir":"Reference","previous_headings":"","what":"Reference pressure — referencePressure","title":"Reference pressure — referencePressure","text":"Provides standard reference pressure level.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/referencePressure.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Reference pressure — referencePressure","text":"","code":"referencePressure(unit = \"Pa\")"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/referencePressure.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Reference pressure — referencePressure","text":"unit Unit return, \"Pa\" \"dyne_cm2\"","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/referencePressure.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Reference pressure — referencePressure","text":"","code":"rp <- referencePressure() rp <- referencePressure(unit=\"dyne_cm2\")"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/region.html","id":null,"dir":"Reference","previous_headings":"","what":"Specify a region with a file to analyse — region","title":"Specify a region with a file to analyse — region","text":"Specifies time-bounded region analyse.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/region.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Specify a region with a file to analyse — region","text":"","code":"region(unit, from = 0, to = Inf)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/region.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Specify a region with a file to analyse — region","text":"unit Unit time (one samples, seconds, minutes, hours) Start time End time","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/region.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Specify a region with a file to analyse — region","text":"TimeRegion object.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/resonantFrequency.html","id":null,"dir":"Reference","previous_headings":"","what":"Calculate the resonant frequency — resonantFrequency","title":"Calculate the resonant frequency — resonantFrequency","text":"Calculates resonant frequency given inductance capacitance. acoustic case inductance inertia mass, capacitance elasticity (bulk modulus) resistance composed air resistance related quantities. units SI.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/resonantFrequency.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Calculate the resonant frequency — resonantFrequency","text":"","code":"resonantFrequency(L, C = \"default\")"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/resonantFrequency.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Calculate the resonant frequency — resonantFrequency","text":"L Inductance C Capacitance, default IUPAC standard pressure.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/resonantFrequency.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Calculate the resonant frequency — resonantFrequency","text":"isothermal compression, bulk modulus equal pressure. default value C therefore IUPAC standard pressure.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/resonantFrequency.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Calculate the resonant frequency — resonantFrequency","text":"","code":"f <- resonantFrequency(L=1)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/sDuration.html","id":null,"dir":"Reference","previous_headings":"","what":"Sample duration — sDuration","title":"Sample duration — sDuration","text":"Calculates time represented n samples Wave.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/sDuration.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Sample duration — sDuration","text":"","code":"sDuration(n = 1, wave = NULL, samp.rate = NULL)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/sDuration.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Sample duration — sDuration","text":"n number samples wave Wave object containing pulses samp.rate Integer sampling rate","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/sDuration.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Sample duration — sDuration","text":"numeric value seconds","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/sDuration.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Sample duration — sDuration","text":"","code":"sDuration(n=20, samp.rate=44100) #> [1] 0.0004535147 if (FALSE) { sDuration(n=20, wave=sheep)#' }"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/sheepFrequencyStats.html","id":null,"dir":"Reference","previous_headings":"","what":"Sheep frequencyStats — sheepFrequencyStats","title":"Sheep frequencyStats — sheepFrequencyStats","text":"frequencyStats sheep data file seewave package.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/sheepFrequencyStats.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Sheep frequencyStats — sheepFrequencyStats","text":"","code":"sheepFrequencyStats"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/sheepFrequencyStats.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Sheep frequencyStats — sheepFrequencyStats","text":"object class list length 3.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/shimmer.html","id":null,"dir":"Reference","previous_headings":"","what":"Calculate the shimmer in a Wave object — shimmer","title":"Calculate the shimmer in a Wave object — shimmer","text":"Jitter measure variability amplitudes within periods waveform. Relative shimmer scaled shimmer analysed waveform.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/shimmer.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Calculate the shimmer in a Wave object — shimmer","text":"","code":"shimmer(wave)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/shimmer.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Calculate the shimmer in a Wave object — shimmer","text":"wave Wave object","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/shimmer.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Calculate the shimmer in a Wave object — shimmer","text":"vector zero crossing locations","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/shimmer.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Calculate the shimmer in a Wave object — shimmer","text":"","code":"if (FALSE) { shimmer(sheep) }"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/slash-PseudoWave-numeric-method.html","id":null,"dir":"Reference","previous_headings":"","what":"PseudoWave scalar division — /,PseudoWave,numeric-method","title":"PseudoWave scalar division — /,PseudoWave,numeric-method","text":"PseudoWave scalar division","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/slash-PseudoWave-numeric-method.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"PseudoWave scalar division — /,PseudoWave,numeric-method","text":"","code":"# S4 method for PseudoWave,numeric /(e1, e2)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/slash-PseudoWave-numeric-method.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"PseudoWave scalar division — /,PseudoWave,numeric-method","text":"e1 Input 1 e2 Input 2","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/soundSpeed.html","id":null,"dir":"Reference","previous_headings":"","what":"Calculate the speed of sound in a medium — soundSpeed","title":"Calculate the speed of sound in a medium — soundSpeed","text":"Given sufficient parameters (.e. wavelength frequency, bulk modulus density) function calculates speed sound.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/soundSpeed.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Calculate the speed of sound in a medium — soundSpeed","text":"","code":"soundSpeed( medium = NULL, wl = NULL, f = NULL, bulkModulus = NULL, density = NULL )"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/soundSpeed.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Calculate the speed of sound in a medium — soundSpeed","text":"medium Propagation medium (e.g. \"air\") wl Wavelength f Frequency bulkModulus Bulk modulus density Density","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/soundSpeed_cramer1993.html","id":null,"dir":"Reference","previous_headings":"","what":"Speed of sound in air using Cramer (1993) — soundSpeed_cramer1993","title":"Speed of sound in air using Cramer (1993) — soundSpeed_cramer1993","text":"Calculate speed sound air using method described Cramer (1993) doi:10.1121/1.405827","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/soundSpeed_cramer1993.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Speed of sound in air using Cramer (1993) — soundSpeed_cramer1993","text":"","code":"soundSpeed_cramer1993( temp, temp.unit = \"C\", pressure, pressure.unit = \"kPa\", RH, MoleFracCO2 = 400^-6 )"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/soundSpeed_cramer1993.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Speed of sound in air using Cramer (1993) — soundSpeed_cramer1993","text":"temp Temperature temp.unit Temperature unit pressure Pressure pressure.unit Pressure unit RH Relative humidity MoleFracCO2 Mole fraction CO2","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/soundSpeed_cramer1993.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Speed of sound in air using Cramer (1993) — soundSpeed_cramer1993","text":"Numeric value speed sound m/s","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/soundSpeed_cramer1993.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Speed of sound in air using Cramer (1993) — soundSpeed_cramer1993","text":"","code":"soundSpeed_cramer1993(14, pressure=3, RH=10) #> [1] 342.682 soundSpeed_cramer1993(14, temp.unit=\"C\", pressure=3, pressure.unit=\"kPa\", RH=10) #> [1] 342.682"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/specStats.html","id":null,"dir":"Reference","previous_headings":"","what":"Calculate and plot statistics on a frequency spectrum — specStats","title":"Calculate and plot statistics on a frequency spectrum — specStats","text":"Given list outputs meanspec generates plot mean shown line, either minimum/maximum values one standard deviation shown ribbon.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/specStats.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Calculate and plot statistics on a frequency spectrum — specStats","text":"","code":"specStats(spectra, stats = \"minMax\", line.col = \"black\", ribbon.col = \"grey70\")"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/specStats.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Calculate and plot statistics on a frequency spectrum — specStats","text":"spectra list spectra stats Either minMax sd line.col Colour line ribbon.col Colour ribbon","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/specStats.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Calculate and plot statistics on a frequency spectrum — specStats","text":"ggplot2 object","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/ste.html","id":null,"dir":"Reference","previous_headings":"","what":"Short term energy — ste","title":"Short term energy — ste","text":"Computes short term energy Wave.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/ste.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Short term energy — ste","text":"","code":"ste(wave, method = \"dietrich2004\", ...)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/ste.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Short term energy — ste","text":"wave Wave object method method used calculate short term energy, default \"dietrich2004\" use (Dietrich et al. 2004) . ... arguments pass ste method.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/ste.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Short term energy — ste","text":"vector short term energy values","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/ste.html","id":"references","dir":"Reference","previous_headings":"","what":"References","title":"Short term energy — ste","text":"Dietrich C, Palm G, Riede K, Schwenker F (2004). “Classification bioacoustic time series based combination global local decisions.” Pattern Recognition, 37(12), 2293--2305.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/ste.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Short term energy — ste","text":"","code":"if (FALSE) { ste(sheep, method=\"dietrich2004\") }"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/sub-Wave-TimeRegion-method.html","id":null,"dir":"Reference","previous_headings":"","what":"Allow subsetting a Wave object with a TimeRegion — [,Wave,TimeRegion-method","title":"Allow subsetting a Wave object with a TimeRegion — [,Wave,TimeRegion-method","text":"Allow subsetting Wave object TimeRegion","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/sub-Wave-TimeRegion-method.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Allow subsetting a Wave object with a TimeRegion — [,Wave,TimeRegion-method","text":"","code":"# S4 method for Wave,TimeRegion [(x, i)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/sub-Wave-TimeRegion-method.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Allow subsetting a Wave object with a TimeRegion — [,Wave,TimeRegion-method","text":"x Wave Object TimeRegion object","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/subtractSpectra.html","id":null,"dir":"Reference","previous_headings":"","what":"Subtract two spectra from seewave — subtractSpectra","title":"Subtract two spectra from seewave — subtractSpectra","text":"function takes two spectra seewave (equivalent) subtracts values. spectra must bins.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/subtractSpectra.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Subtract two spectra from seewave — subtractSpectra","text":"","code":"subtractSpectra(s1, s2, coerceNegative = \"no\")"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/subtractSpectra.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Subtract two spectra from seewave — subtractSpectra","text":"s1 First spectrum s2 Second spectrum coerceNegative Sets values zero zero, accepted values \"input\", \"output\" \"\".","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/subtractSpectra.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Subtract two spectra from seewave — subtractSpectra","text":"spectrum s1 - s2","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/subtractSpectra.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Subtract two spectra from seewave — subtractSpectra","text":"","code":"if (FALSE) { subtractSpectra(spec1, spec2) subtractSpectra(spec1, spec2, coerceNegative=\"both\") }"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/sweptsine.html","id":null,"dir":"Reference","previous_headings":"","what":"Generate a frequency-swept sine wave — sweptsine","title":"Generate a frequency-swept sine wave — sweptsine","text":"Generates frequency swept sine wave returns Wave object vector.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/sweptsine.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Generate a frequency-swept sine wave — sweptsine","text":"","code":"sweptsine( f0 = 100, f1 = 2500, sweep.time = 1, time.unit = \"seconds\", A = 1, samp.rate = 44100, output = \"wave\", ... )"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/sweptsine.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Generate a frequency-swept sine wave — sweptsine","text":"f0 Start frequency f1 End frequency sweep.time Duration swept wave time.unit One \"seconds\", \"samples\" Amplitude wave samp.rate Sample rate swept wave output \"wave\" Wave object, \"vector\" ... Additional arguments pass data2Wave","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/sweptsine.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Generate a frequency-swept sine wave — sweptsine","text":"swept wave object type specified output.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/sweptsine.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Generate a frequency-swept sine wave — sweptsine","text":"","code":"sweptsine() #> #> Wave Object #> \tNumber of Samples: 44100 #> \tDuration (seconds): 1 #> \tSamplingrate (Hertz): 44100 #> \tChannels (Mono/Stereo): Mono #> \tPCM (integer format): TRUE #> \tBit (8/16/24/32/64): 16 #>"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/tSamples.html","id":null,"dir":"Reference","previous_headings":"","what":"Samples per time period — tSamples","title":"Samples per time period — tSamples","text":"Calculates number samples given duration wave","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/tSamples.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Samples per time period — tSamples","text":"","code":"tSamples(time = 1, wave = NULL, samp.rate = NULL)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/tSamples.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Samples per time period — tSamples","text":"time duration seconds wave Wave object containing pulses samp.rate Integer sampling rate","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/tSamples.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Samples per time period — tSamples","text":"Number samples","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/tSamples.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Samples per time period — tSamples","text":"","code":"tSamples(10, samp.rate=44100) #> [1] 441000 if (FALSE) { tSamples(10, wave=sheep) }"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/tagWave.html","id":null,"dir":"Reference","previous_headings":"","what":"Tag a Wave or WaveMC object — tagWave","title":"Tag a Wave or WaveMC object — tagWave","text":"function takes Wave/WaveMC object (list objects) returns corresponding tagged version (TaggedWave TaggedWaveMC).","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/tagWave.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Tag a Wave or WaveMC object — tagWave","text":"","code":"tagWave(w, origin = \"user\")"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/tagWave.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Tag a Wave or WaveMC object — tagWave","text":"w Wave WaveMC object (list objects). origin origin object (default \"user\").","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/tagWave.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Tag a Wave or WaveMC object — tagWave","text":"TaggedWave TaggedWaveMC object (list objects).","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/times-PseudoWave-numeric-method.html","id":null,"dir":"Reference","previous_headings":"","what":"PseudoWave scalar manipulation — *,PseudoWave,numeric-method","title":"PseudoWave scalar manipulation — *,PseudoWave,numeric-method","text":"PseudoWave scalar manipulation","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/times-PseudoWave-numeric-method.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"PseudoWave scalar manipulation — *,PseudoWave,numeric-method","text":"","code":"# S4 method for PseudoWave,numeric *(e1, e2)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/times-PseudoWave-numeric-method.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"PseudoWave scalar manipulation — *,PseudoWave,numeric-method","text":"e1 Input 1 e2 Input 2","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/times-numeric-PseudoWave-method.html","id":null,"dir":"Reference","previous_headings":"","what":"Numeric multiplication by PseudoWave — *,numeric,PseudoWave-method","title":"Numeric multiplication by PseudoWave — *,numeric,PseudoWave-method","text":"Numeric multiplication PseudoWave","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/times-numeric-PseudoWave-method.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Numeric multiplication by PseudoWave — *,numeric,PseudoWave-method","text":"","code":"# S4 method for numeric,PseudoWave *(e1, e2)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/times-numeric-PseudoWave-method.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Numeric multiplication by PseudoWave — *,numeric,PseudoWave-method","text":"e1 Input 1 e2 Input 2","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/typicalVolume.html","id":null,"dir":"Reference","previous_headings":"","what":"Typical volumes — typicalVolume","title":"Typical volumes — typicalVolume","text":"Typical volumes everyday things.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/typicalVolume.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Typical volumes — typicalVolume","text":"","code":"typicalVolume(thing = NA_character_)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/typicalVolume.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Typical volumes — typicalVolume","text":"thing Volume thing, missing returns volumes","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/typicalVolume.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Typical volumes — typicalVolume","text":"Typical volume thing dBA, thing parameter data frame volumes","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/typicalVolume.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Typical volumes — typicalVolume","text":"","code":"typicalVolume() #> thing dBA #> 1 steam engine 85 #> 2 printing works 87 #> 3 diesel electric generator 96 #> 4 screw-heading machine 101 #> 5 weaving shed 104 #> 6 sawmill chipper 105 #> 7 metalwork grinder 106 #> 8 wood-planing machine 108 #> 9 metal saw 110 #> 10 rock band 115 #> 11 boiler works 118 #> 12 metal hammering 118 #> 13 jet take-off 120 #> 14 rocket launch 160 typicalVolume(\"rocket launch\") #> [1] 160"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/tzRot.html","id":null,"dir":"Reference","previous_headings":"","what":"Converts a timezone offset into a rotation — tzRot","title":"Converts a timezone offset into a rotation — tzRot","text":"Given timezone offset hours returns rotation radians apply values diel plot.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/tzRot.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Converts a timezone offset into a rotation — tzRot","text":"","code":"tzRot(tz, init = pi)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/tzRot.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Converts a timezone offset into a rotation — tzRot","text":"tz Timezone numeric init Initial rotation. Defaults pi.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/untagWave.html","id":null,"dir":"Reference","previous_headings":"","what":"Untag a TaggedWave or TaggedWaveMC object — untagWave","title":"Untag a TaggedWave or TaggedWaveMC object — untagWave","text":"function takes TaggedWave/TaggedWaveMC object (list objects) returns corresponding Wave/WaveMC object (list objects).","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/untagWave.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Untag a TaggedWave or TaggedWaveMC object — untagWave","text":"","code":"untagWave(w)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/untagWave.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Untag a TaggedWave or TaggedWaveMC object — untagWave","text":"w TaggedWave TaggedWaveMC object (list objects).","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/untagWave.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Untag a TaggedWave or TaggedWaveMC object — untagWave","text":"Wave WaveMC object.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/untagWave.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Untag a TaggedWave or TaggedWaveMC object — untagWave","text":"","code":"if (FALSE) { w <- noise(\"white\") tw <- tagWave(w) w2 <- untagWave(tw) }"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/upsample.html","id":null,"dir":"Reference","previous_headings":"","what":"Upsample a wave — upsample","title":"Upsample a wave — upsample","text":"Used upsample Wave object. upsampled sample rate must natural multiple current sample rate.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/upsample.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Upsample a wave — upsample","text":"","code":"upsample(wave, upsample.rate, method = \"basic\")"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/upsample.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Upsample a wave — upsample","text":"wave Wave object upsample. upsample.rate sample rate upsample . method \"basic\" linear, function interpolate NAs vector","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/upsample.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Upsample a wave — upsample","text":"resampled Wave object","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/upsample.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Upsample a wave — upsample","text":"","code":"wave <- tuneR::sine(4000, samp.rate=44100) wave2 <- upsample(wave, 88200)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/validateIsWave.html","id":null,"dir":"Reference","previous_headings":"","what":"Check an object is a Wave object — validateIsWave","title":"Check an object is a Wave object — validateIsWave","text":"Helper function test input Wave object. create error .","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/validateIsWave.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Check an object is a Wave object — validateIsWave","text":"","code":"validateIsWave(wave)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/validateIsWave.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Check an object is a Wave object — validateIsWave","text":"wave Object test","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/windowing.html","id":null,"dir":"Reference","previous_headings":"","what":"Windowing Function for Wave Objects — windowing","title":"Windowing Function for Wave Objects — windowing","text":"Separates Wave object windows defined length runs function window section. Windows may overlap, function can make use 'parallel' package multi-core processing. also show progress bar 'pbapply' package installed.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/windowing.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Windowing Function for Wave Objects — windowing","text":"","code":"windowing( wave, window.length, FUN, window.overlap = 0, bind.wave = TRUE, complete.windows = TRUE, cluster = NULL, ... )"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/windowing.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Windowing Function for Wave Objects — windowing","text":"wave Wave object filename. Using filenames may save loading entire large file memory. window.length length analysis window (samples). FUN FUN applied windows. window.overlap overlap successive windows (samples), negative value result gap windows. bind.wave TRUE FUN returns wave objects, combined single object complete.windows TRUE (default) final window processed unless length equal window.length. cluster cluster form 'parallel' package multi-core computation. ... Additional parameters FUN","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/windowing.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Windowing Function for Wave Objects — windowing","text":"","code":"if (FALSE) { windowing(wave, window.length=1000, FUN=duration, window.overlap=0, bind.wave=TRUE) }"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/writeAudacityLabels.html","id":null,"dir":"Reference","previous_headings":"","what":"Write an Audacity label file — writeAudacityLabels","title":"Write an Audacity label file — writeAudacityLabels","text":"Writes list Annotation objects Audacity label file. Internally uses write.audacity() function seewave package (Sueur et al. 2008) .","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/writeAudacityLabels.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Write an Audacity label file — writeAudacityLabels","text":"","code":"writeAudacityLabels(annotations, file)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/writeAudacityLabels.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Write an Audacity label file — writeAudacityLabels","text":"annotations list Annotation objects. file Path Audacity label file.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/writeAudacityLabels.html","id":"references","dir":"Reference","previous_headings":"","what":"References","title":"Write an Audacity label file — writeAudacityLabels","text":"Sueur J, Aubin T, Simonis C (2008). “Seewave, free modular tool sound analysis synthesis.” Bioacoustics, 18(2), 213--226.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/yearlyFraction.html","id":null,"dir":"Reference","previous_headings":"","what":"Calculate the fraction of a year given by a value — yearlyFraction","title":"Calculate the fraction of a year given by a value — yearlyFraction","text":"Given object can coerced POSIXlt, return fraction year represented object.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/yearlyFraction.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Calculate the fraction of a year given by a value — yearlyFraction","text":"","code":"yearlyFraction(t, year = 2022, input = \"POSIX\", unit = \"radians\")"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/yearlyFraction.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Calculate the fraction of a year given by a value — yearlyFraction","text":"t Object converted fraction year Year calculate fractions (allows leap years) input One POSIXlt (default) unit set radians outputs position around circle. set fraction outputs raw fraction.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/yearlyLabels.html","id":null,"dir":"Reference","previous_headings":"","what":"Generate labels for a yearly plot — yearlyLabels","title":"Generate labels for a yearly plot — yearlyLabels","text":"Generates monthly labels yearlyPlot()..","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/yearlyLabels.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Generate labels for a yearly plot — yearlyLabels","text":"","code":"yearlyLabels()"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/yearlyPlot.html","id":null,"dir":"Reference","previous_headings":"","what":"Create a yearly plot — yearlyPlot","title":"Create a yearly plot — yearlyPlot","text":"ToDO......","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/yearlyPlot.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Create a yearly plot — yearlyPlot","text":"","code":"yearlyPlot( year = 2022, lat, lon, limits = c(0, 2), plot = NULL, method = \"plotrix\", legend = F )"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/yearlyPlot.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Create a yearly plot — yearlyPlot","text":"year Year plot (allows leap years). lat Numeric latitude. lon Numeric longitude. limits Plotting limits daylight regions, default c(1,2) plot Character vector components plot method Plotting library use legend Whether show legend","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/yearlyPositions.html","id":null,"dir":"Reference","previous_headings":"","what":"Generate positions of labels for a yearly plot — yearlyPositions","title":"Generate positions of labels for a yearly plot — yearlyPositions","text":"Generates positions monthly labels dielPlot() radians. positions can either start month, middle month.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/yearlyPositions.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Generate positions of labels for a yearly plot — yearlyPositions","text":"","code":"yearlyPositions(year = 2022, format = \"months\")"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/yearlyPositions.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Generate positions of labels for a yearly plot — yearlyPositions","text":"year Year calculate format One months, mid-months, days","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/yearlyPositions.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Generate positions of labels for a yearly plot — yearlyPositions","text":"function allows leap years year parameter provided.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/zeroSpectrum.html","id":null,"dir":"Reference","previous_headings":"","what":"Zero spectrum — zeroSpectrum","title":"Zero spectrum — zeroSpectrum","text":"function takes spectrum seewave creates new zero-valued spectrum structure.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/zeroSpectrum.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Zero spectrum — zeroSpectrum","text":"","code":"zeroSpectrum(s1)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/zeroSpectrum.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Zero spectrum — zeroSpectrum","text":"s1 Spectrum emulate structure .","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/zeroSpectrum.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Zero spectrum — zeroSpectrum","text":"zero-valued spectrum.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/zeroSpectrum.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Zero spectrum — zeroSpectrum","text":"","code":"if (FALSE) { zeroSpectrum(spec) }"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/zerocross.html","id":null,"dir":"Reference","previous_headings":"","what":"Identify zero crossings in a Wave object — zerocross","title":"Identify zero crossings in a Wave object — zerocross","text":"Returns vector position (samples) zero crossings Wave object","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/zerocross.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Identify zero crossings in a Wave object — zerocross","text":"","code":"zerocross(wave)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/zerocross.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Identify zero crossings in a Wave object — zerocross","text":"wave Wave object","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/zerocross.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Identify zero crossings in a Wave object — zerocross","text":"vector zero crossing locations","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/zerocross.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Identify zero crossings in a Wave object — zerocross","text":"","code":"if (FALSE) { zerocross(sheep) }"},{"path":"http://sonicscrewdriver.ebaker.me.uk/news/index.html","id":"sonicscrewdriver-004","dir":"Changelog","previous_headings":"","what":"sonicscrewdriver 0.0.4","title":"sonicscrewdriver 0.0.4","text":"CRAN release: 2021-05-02 support reading AudioMoth configuration files support reading AudioMoth metadata wave files audioRead function convert audio file types Wave object parseFilename now accepts POSIX timestamp format provides typical volumes (decibels)","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/news/index.html","id":"sonicscrewdriver-003","dir":"Changelog","previous_headings":"","what":"sonicscrewdriver 0.0.3","title":"sonicscrewdriver 0.0.3","text":"CRAN release: 2020-11-15 Jitter shimmer functions added.","code":""}] +[{"path":[]},{"path":"http://sonicscrewdriver.ebaker.me.uk/CODE-OF-CONDUCT.html","id":"our-pledge","dir":"","previous_headings":"","what":"Our Pledge","title":"Contributor Covenant Code of Conduct","text":"interest fostering open welcoming environment, contributors maintainers pledge making participation project community harassment-free experience everyone, regardless age, body size, disability, ethnicity, gender identity expression, level experience, nationality, personal appearance, race, religion, sexual identity orientation.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/CODE-OF-CONDUCT.html","id":"our-standards","dir":"","previous_headings":"","what":"Our Standards","title":"Contributor Covenant Code of Conduct","text":"Examples behavior contributes creating positive environment include: Using welcoming inclusive language respectful differing viewpoints experiences Gracefully accepting constructive criticism Focusing best community Showing empathy towards community members Examples unacceptable behavior participants include: use sexualized language imagery unwelcome sexual attention advances Trolling, insulting/derogatory comments, personal political attacks Public private harassment Publishing others’ private information, physical electronic address, without explicit permission conduct reasonably considered inappropriate professional setting","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/CODE-OF-CONDUCT.html","id":"our-responsibilities","dir":"","previous_headings":"","what":"Our Responsibilities","title":"Contributor Covenant Code of Conduct","text":"Project maintainers responsible clarifying standards acceptable behavior expected take appropriate fair corrective action response instances unacceptable behavior. Project maintainers right responsibility remove, edit, reject comments, commits, code, wiki edits, issues, contributions aligned Code Conduct, ban temporarily permanently contributor behaviors deem inappropriate, threatening, offensive, harmful.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/CODE-OF-CONDUCT.html","id":"scope","dir":"","previous_headings":"","what":"Scope","title":"Contributor Covenant Code of Conduct","text":"Code Conduct applies within project spaces public spaces individual representing project community. Examples representing project community include using official project e-mail address, posting via official social media account, acting appointed representative online offline event. Representation project may defined clarified project maintainers.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/CODE-OF-CONDUCT.html","id":"enforcement","dir":"","previous_headings":"","what":"Enforcement","title":"Contributor Covenant Code of Conduct","text":"Instances abusive, harassing, otherwise unacceptable behavior may reported contacting project team edwbaker@gmail.com. project team review investigate complaints, respond way deems appropriate circumstances. project team obligated maintain confidentiality regard reporter incident. details specific enforcement policies may posted separately. Project maintainers follow enforce Code Conduct good faith may face temporary permanent repercussions determined members project’s leadership.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/CODE-OF-CONDUCT.html","id":"attribution","dir":"","previous_headings":"","what":"Attribution","title":"Contributor Covenant Code of Conduct","text":"Code Conduct adapted Contributor Covenant, version 1.4, available http://contributor-covenant.org/version/1/4","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/articles/audioblast.html","id":"what-is-audioblast","dir":"Articles","previous_headings":"","what":"What is audioblast?","title":"Using audioBlast with R","text":"Audioblast discovery tool bioacoustic ecoacoustic recordings. can use search recordings (e.g. species, location, date), annotations recordings, analysis results traits. Audioblast currently hosted Natural History Museum London. conceived Ed Baker University York part Leverhulme Trust funded Automated Acoustic Observatories project.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/articles/audioblast.html","id":"accessing-audioblast","dir":"Articles","previous_headings":"","what":"Accessing audioblast","title":"Using audioBlast with R","text":"audioblast() function SonicScrewdriveR wrapper allowing full access Audioblast API. also possible download many recordings audioblast using audioblastDownload().","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/articles/augment-audio-data.html","id":"introduction","dir":"Articles","previous_headings":"","what":"Introduction","title":"Augmenting audio data in R with SonicScrewdriveR","text":"Augmenting data common practice machine learning. process creating new data existing data (e.g. adding noise). done increase size training data make model robust. article show augment audio data R using sonicscrewdriver package. generateX() functions sonicscrewdriver designed operate Wave-like objects (Wave WaveMC tuneR Tagged equivalents) list Wave-like objects. Similarly, functions return list Wave-like objects. means can chain functions together create complex data augmentation pipelines.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/articles/augment-audio-data.html","id":"types-of-augmentation","dir":"Articles","previous_headings":"","what":"Types of augmentation","title":"Augmenting audio data in R with SonicScrewdriveR","text":"order demonstrate data augmentation process, use sonicscrewdriver package generate Dirac pulse.","code":"# Generate a Dirac pulse p <- pulse(\"dirac\") # Plot the pulse seewave::oscillo(p)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/articles/augment-audio-data.html","id":"noise-augmentation","dir":"Articles","previous_headings":"Types of augmentation","what":"Noise augmentation","title":"Augmenting audio data in R with SonicScrewdriveR","text":"Noise augmentation common technique used increase size training data. process adding noise original data. sonicscrewdriver package provides generateNoise() function add noise audio data. example add two different amounts white noise Dirac pulse.","code":"augmented <- c( generateNoise(p, \"white\", noise.ratio=0.1), generateNoise(p, \"white\", noise.ratio=0.3) ) for (i in 1:length(augmented)) { seewave::oscillo(augmented[[i]]) }"},{"path":"http://sonicscrewdriver.ebaker.me.uk/articles/augment-audio-data.html","id":"time-shifting-rotationpadding","dir":"Articles","previous_headings":"Types of augmentation","what":"Time shifting (rotation/padding)","title":"Augmenting audio data in R with SonicScrewdriveR","text":"Time shifting process shifting audio data certain number samples. sonicscrewdriver package provides generateTimeShift() function rotate audio data, either rotating audio data within file, padding file silence. demonstrate time shifting generate sum sine wave Dirac pulse. Time shifting inserting silence. Alternatively, can rotate audio data.","code":"p1 <- tuneR::sine(440, duration=44100*3) p2 <- pulse(\"dirac\", duration=44100*3) p <- 0.25*p1 + tuneR::normalize(p2) seewave::oscillo(p) # Rotate the audio data by one second rotated <- generateTimeShift(p, amount=1) seewave::oscillo(rotated[[1]]) # Rotate the audio data by one second rotated <- generateTimeShift(p, type=\"rotate\", amount=1) seewave::oscillo(rotated[[1]])"},{"path":"http://sonicscrewdriver.ebaker.me.uk/articles/augment-audio-data.html","id":"combining-augmentations","dir":"Articles","previous_headings":"","what":"Combining augmentations","title":"Augmenting audio data in R with SonicScrewdriveR","text":"sonicscrewdriver package allows chain together multiple augmentations create complex data augmentation pipelines. example, can add noise audio data rotate audio data. possible use anonymous functions add multiple augmentations single step. can effectively used generate large amounts augmented data. code generates three different noise augmented versions input, two different time-shifted versions , yielding six augmented versions. approach can used list initial Wave-like objects.","code":"# Load some test audio data f <- system.file(\"extdata\", \"AUDIOMOTH.flac\", package=\"sonicscrewdriver\") w <- readAudio(f) # Add noise to the audio data and then rotate the audio data using pipes augmented <- w |> generateNoise(\"white\", noise.ratio=0.1) |> generateTimeShift(amount=1) # Create list of data and augmentations data <- c(w, augmented) # Load some test audio data f <- system.file(\"extdata\", \"AUDIOMOTH.flac\", package=\"sonicscrewdriver\") w <- readAudio(f) # Add noise to the audio data and then rotate the audio data using pipes augmented <- w |> {\\(x) c(generateNoise(x, \"white\", noise.ratio=0.1), generateNoise(x, \"white\", noise.ratio=0.3), generateNoise(x, \"white\", noise.ratio=0.5)) }() |> {\\(x) c(generateTimeShift(x, amount=1), generateTimeShift(x, amount=2)) }() # Create list of data and augmentations data <- c(w, augmented) # Load some test audio data f <- system.file(\"extdata\", \"AUDIOMOTH.flac\", package=\"sonicscrewdriver\") w <- list( readAudio(f), readAudio(f), readAudio(f) ) # Add noise to the audio data and then rotate the audio data using pipes and anonymous functions augmented <- w |> {\\(x) c(generateNoise(x, \"white\", noise.ratio=0.1), generateNoise(x, \"white\", noise.ratio=0.3), generateNoise(x, \"white\", noise.ratio=0.5)) }() |> {\\(x) c(generateTimeShift(x, amount=1), generateTimeShift(x, amount=2)) }() # Create list of data and augmentations data <- c(w, augmented)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/articles/converting-code.html","id":"introduction","dir":"Articles","previous_headings":"","what":"Introduction","title":"Converting code to work with SonicScrewdriveR","text":"SonicScrewdriveR introduces several tools working audio data, TaggedWave TaggedWaveMC formats. Inside SonicScrewdriveR Tagged non-Tagged versions Wave-like objects can used interchangeably, however necessarily true functions packages. guide aimed end users package developers want convert code work SonicScrewdriveR.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/articles/converting-code.html","id":"taggedwave-and-taggedwavemc","dir":"Articles","previous_headings":"Introduction","what":"TaggedWave and TaggedWaveMC","title":"Converting code to work with SonicScrewdriveR","text":"try use function expects Wave object TaggedWave object, get error. end user can use untagWave function convert TaggedWave object Wave object. untagWave function can also used ‘untag’ TaggedWaveMC object. fix function package can make use inherits() rather alternative methods. TaggedWave inherits Wave can treated like Wave code. technique can used TaggedWaveMC objects inherits(w, \"WaveMC\").","code":"# Generate a `Wave` and `TaggedWave` sine w <- tuneR::sine(440) tw <- tagWave(w) # This will fail seewave::oscillo(tw) #> Error in seewave::oscillo(tw): argument \"f\" is missing, with no default # This will work seewave::oscillo(untagWave(tw)) # Methods that fail is(w, \"Wave\") class(w) == \"Wave\" # Method that works inherits(w, \"Wave\")"},{"path":"http://sonicscrewdriver.ebaker.me.uk/articles/converting-code.html","id":"adding-a-process-to-a-tagged-wave-like-object","dir":"Articles","previous_headings":"Introduction > TaggedWave and TaggedWaveMC","what":"Adding a process to a Tagged Wave-like object","title":"Converting code to work with SonicScrewdriveR","text":"want add process TaggedWave object can use addProcess method. can either called end user, functions aware Tagged versions.","code":"# End user using non-Tagged aware function seewave::oscillo(untag(tw)) addProcess(tw, \"seewave::oscillo\") # Inside a Tagged aware function addProcess( tw, process = \"mypkg::functionToCountChannels\", output = list(channels = 2) )"},{"path":[]},{"path":"http://sonicscrewdriver.ebaker.me.uk/articles/manage_audio.html","id":"reading-audio-files","dir":"Articles","previous_headings":"Managing audio in R with SonicScrewdriveR","what":"Reading audio files","title":"Managing audio in R","text":"Several functions available read audio files R, including readWave() readMP3() functions tuneR package, well tools package av. SonicScrewdriveR simplifies reading audio files providing single wrapper functions, read_audio(), can read audio files variety formats, including WAV, MP3, FLAC.","code":"filename <- system.file(\"extdata\", \"AUDIOMOTH.WAV\", package=\"sonicscrewdriver\") w <- readAudio(filename)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/articles/manage_audio.html","id":"performing-analyses-on-channels","dir":"Articles","previous_headings":"Managing audio in R with SonicScrewdriveR","what":"Performing analyses on channels","title":"Managing audio in R","text":"existing functions operate single channel time. may cause unnecessarily complex workflows bulk analysing files different numbers channels. allChannels() function applies function channel returns list analyses. technique allows analysis performed channel, without reference number channels audio file. Optionally, cluster can specified process channels separate processor cores increase analysis speed.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/articles/manage_audio.html","id":"windowing","dir":"Articles","previous_headings":"Managing audio in R with SonicScrewdriveR","what":"Windowing","title":"Managing audio in R","text":"often desirable process long audio file chunks. windowing() function can used split audio file overlapping non-overlapping windows. function may particularly useful processing long Wave files memory-efficient manner. Optionally, cluster can specified process windows separate processor cores increase processing speed.","code":""},{"path":[]},{"path":"http://sonicscrewdriver.ebaker.me.uk/articles/manage_audio.html","id":"taggedwave-workflow","dir":"Articles","previous_headings":"","what":"TaggedWave workflow","title":"Managing audio in R","text":"techniques can applied generic Wave WaveMC objects tuneR package. TaggedWave class extends Wave class tuneR package can include extended metadata results analyses. allows storage additional information audio file, location time recording, results analyses. tagWave() function can used tag Wave WaveMC object additional metadata. addition, combined new classes WaveAugment, WaveFilter, WaveAnalyse possible create self-documenting pipeline audio processing analysis (also compatible R pipe).","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/articles/other-apps.html","id":"introduction","dir":"Articles","previous_headings":"","what":"Introduction","title":"Interacting with other tools","text":"sonicscrewdriver package provides number functions interacting audio tools software. vignette provides overview functions available interacting tools.","code":""},{"path":[]},{"path":"http://sonicscrewdriver.ebaker.me.uk/articles/other-apps.html","id":"audacity","dir":"Articles","previous_headings":"Interfaces with other tools","what":"Audacity","title":"Interacting with other tools","text":"Label files exported Audacity can read R using readAudacityLabels() function. function takes path label file returns list Annotation objects data frame start end times label label text. writeAudacityLabels() function can used write list Annotation objects Audacity label file.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/articles/other-apps.html","id":"audioblast","dir":"Articles","previous_headings":"Interfaces with other tools","what":"AudioBlast","title":"Interacting with other tools","text":"audioBlast API can accessed using audioBlast() function. Files can downloaded API using audioBlastDownload() function.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/articles/other-apps.html","id":"audiomoth","dir":"Articles","previous_headings":"Interfaces with other tools","what":"AudioMoth","title":"Interacting with other tools","text":"AudioMoth configuration files wave files can read R using audiomothConfig() audiomothWave() functions, respectively. audiomothConfig() function takes path configuration file returns data frame configuration settings. audiomothWave() function takes path wave file returns list extracted parameters.","code":""},{"path":[]},{"path":[]},{"path":"http://sonicscrewdriver.ebaker.me.uk/articles/other-apps.html","id":"audio-file-with-annotations-from-audioblast-to-audacity","dir":"Articles","previous_headings":"Exemplar applications","what":"Audio file with annotations from audioBlast to Audacity","title":"Interacting with other tools","text":"audio file interest (id: 10754) recording Mole Cricket Gryllotalpa vineae BioAcoustica repository. Recordings annotations BioAcoustica made available audioBlast API. First download audio file annotations audioBlast. downloaded audio file mole_cricket directory. also saved metadata.csv file includes information audio file retrieved audioBlast. Next, download annotations file audioBlast. downloaded annotations audioBlast converted list Annotation objects. annotation data converted Annotation objects can easily manipulated number useful formats. case, convert Annotation objects Audacity label file. finished, can tidy workspace removing mole_cricket directory.","code":"# Find the file on audioblast data <- audioblast(\"data\", \"recordings\", source=\"bio.acousti.ca\", id=10754) # Download the file to the mole_cricket directory audioblastDownload(data, dir=\"mole_cricket/\") # Fetch annotations from audioBlast as `Annotation` objects a <- audioblast(\"data\", \"annomate\", source=\"bio.acousti.ca\", id=10754, output=\"Annotations\") # Convert the annotations to an Audacity label file writeAudacityLabels(a, \"mole_cricket/annotations.txt\") unlink(\"mole_cricket\", recursive=TRUE)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/articles/sonicscrewdriver.html","id":"introduction","dir":"Articles","previous_headings":"","what":"Introduction","title":"SonicScrewdriveR","text":"SonicScrewdriveR set tools various tasks faced bioacoustics researchers (users acoustics). tools relate management, processing, analysis, visualisation audio recordings.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/authors.html","id":null,"dir":"","previous_headings":"","what":"Authors","title":"Authors and Citation","text":"Ed Baker. Author, maintainer. Quentin Geissman. Contributor.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/authors.html","id":"citation","dir":"","previous_headings":"","what":"Citation","title":"Authors and Citation","text":"Baker, E. (2021) SonicScrewdriveR. https://cran.r-project.org/package=sonicscrewdriver.","code":"@Manual{, title = {SonicScrewdriveR}, author = {Ed Baker}, year = {2021}, url = {https://cran.r-project.org/package=sonicscrewdriver}, }"},{"path":"http://sonicscrewdriver.ebaker.me.uk/index.html","id":"sonicscrewdriver","dir":"","previous_headings":"","what":"Bioacoustic Analysis and Publication Tools","title":"Bioacoustic Analysis and Publication Tools","text":"package provides tools manipulating sound files analysis visualisation. SonicScrewdriveR can: Easily read audio files many types. Work seamlessly multi-channel audio. Read/write/convert audio metadata formats used tools. Apply filters audio. Augment audio data machine learning. Visualise audio data. Create self-documenting analysis pipelines. need SonicScrewdriveR arose initially Automated Acoustic Observatories project University York, later development audioBlast. projects required ability read manipulate audio files variety formats visualise analyse data contained within . package designed flexible possible able handle audio file formats differing encoding, channel numbers, sample rates. one sense, can seen wrapper around existing packages provide unified interface, also offers many new functions visualisations.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/index.html","id":"installation","dir":"","previous_headings":"","what":"Installation","title":"Bioacoustic Analysis and Publication Tools","text":"NB: current development version well ahead version available CRAN due pace current research work part Urban Nature Project Natural History Museum.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/index.html","id":"cran","dir":"","previous_headings":"Installation","what":"CRAN","title":"Bioacoustic Analysis and Publication Tools","text":"","code":"install.packages(\"sonicscrewdriver\") library(sonicscrewdriver)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/index.html","id":"latest-master","dir":"","previous_headings":"Installation","what":"Latest master","title":"Bioacoustic Analysis and Publication Tools","text":"","code":"install.packages(\"devtools\") devtools::install_github(\"edwbaker/SonicScrewdriveR\") library(sonicscrewdriver)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/index.html","id":"usage","dir":"","previous_headings":"","what":"Usage","title":"Bioacoustic Analysis and Publication Tools","text":"Usage package described following vignettes: Managing audio R SonicScrewdriveR covers basics reading audio files readAudio(), performing analyses audio channels using allChannels() performing analysis sections audio windowing(). Augmenting audio R SonicScrewdriveR covers audio data augmentation. Using apps tools R using SonicScrewdriveR lists functions available interface apps tools audioBlast, Audacity AudioMoth. also gives exemplar applications using SonicScrewdriveR move data different tools platforms. Using SonicScrewriveR audioBlast covers use audioblast() find recordings, annotations, traits analyses. audioblastDownload() can used download files find using audioBlast. book Visualisation bioacoustics ecoacoustics R provides details various visualisation tools available packages. Converting code work SonicScrewdriveR provides guidance package developers end users want convert code work SonicScrewdriveR types TaggedWave TaggedWaveMC.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/index.html","id":"contributing","dir":"","previous_headings":"","what":"Contributing","title":"Bioacoustic Analysis and Publication Tools","text":"welcome contributions anyone like help improve package. want talk us submitting pull request feel free email Ed edward.baker@nhm.ac.uk. Please note ‘SonicScrewdriveR’ project released Contributor Code Conduct.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/index.html","id":"issue-reporting","dir":"","previous_headings":"Contributing","what":"Issue reporting","title":"Bioacoustic Analysis and Publication Tools","text":"find bug, feature request, please report issue tracker many details possible. package fails give useful error message, bug. package accepts invalid input without warning, bug. documentation unclear omits important information, bug. unsure something bug, please report .","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/index.html","id":"credits","dir":"","previous_headings":"","what":"Credits","title":"Bioacoustic Analysis and Publication Tools","text":"Initial development SonicScrewdriveR done Ed Baker supported Leverhulme Trust funded Automated Acoustic Observatories project University York, later developed support analysis functionality audioBlast. SonicScrewdriveR currently developed Natural History Museum, London.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/Annotation-class.html","id":null,"dir":"Reference","previous_headings":"","what":"A S4 class for annotations — Annotation-class","title":"A S4 class for annotations — Annotation-class","text":"Annotation class used store annotations Wave-like objects.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/Annotation-class.html","id":"slots","dir":"Reference","previous_headings":"","what":"Slots","title":"A S4 class for annotations — Annotation-class","text":"file File annotated. metadata list storing metadata. start Start time annotation. end End time annotation. low Low frequency annotation. high High frequency annotation. source Source annotation. type Type annotation. value Value annotation.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/PseudoWave-class.html","id":null,"dir":"Reference","previous_headings":"","what":"An S4 class to represent a PseudoWave object that is converted to a\nWave object when operated on. — PseudoWave-class","title":"An S4 class to represent a PseudoWave object that is converted to a\nWave object when operated on. — PseudoWave-class","text":"S4 class represent PseudoWave object converted Wave object operated .","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/PseudoWave-class.html","id":"slots","dir":"Reference","previous_headings":"","what":"Slots","title":"An S4 class to represent a PseudoWave object that is converted to a\nWave object when operated on. — PseudoWave-class","text":"type Type PseudoWave (e.g. \"noise\") subtype Subtype PseudoWave (e.g. \"white\" type \"noise\") scale Wave channels multiplied value offset value added Wave channels seed Random seed reproducible output, NA seed scale Logical. Whether use random seed value params List additional parameters pass generating function","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/PseudoWave-numeric-method.html","id":null,"dir":"Reference","previous_headings":"","what":"PseudoWave scalar subtraction — -,PseudoWave,numeric-method","title":"PseudoWave scalar subtraction — -,PseudoWave,numeric-method","text":"PseudoWave scalar subtraction","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/PseudoWave-numeric-method.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"PseudoWave scalar subtraction — -,PseudoWave,numeric-method","text":"","code":"# S4 method for PseudoWave,numeric -(e1, e2)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/PseudoWave-numeric-method.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"PseudoWave scalar subtraction — -,PseudoWave,numeric-method","text":"e1 Input 1 e2 Input 2","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/STP.html","id":null,"dir":"Reference","previous_headings":"","what":"STP: Standard Temperature and Pressure — STP","title":"STP: Standard Temperature and Pressure — STP","text":"Dataset compiled various sources differing values STP.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/STP.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"STP: Standard Temperature and Pressure — STP","text":"","code":"STP"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/STP.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"STP: Standard Temperature and Pressure — STP","text":"object class list length 2.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/TaggedWave-class.html","id":null,"dir":"Reference","previous_headings":"","what":"A S4 class for tagged waves — TaggedWave-class","title":"A S4 class for tagged waves — TaggedWave-class","text":"TaggedWave class extended Wave class tuneR package can include extended metadata results analyses.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/TaggedWave-class.html","id":"slots","dir":"Reference","previous_headings":"","what":"Slots","title":"A S4 class for tagged waves — TaggedWave-class","text":"metadata list storing metdata. analyses list storing analyses.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/TaggedWaveMC-class.html","id":null,"dir":"Reference","previous_headings":"","what":"A S4 class for tagged multi-channel waves — TaggedWaveMC-class","title":"A S4 class for tagged multi-channel waves — TaggedWaveMC-class","text":"TaggedWaveMC class extended WaveMC class tuneR package can include extended metadata results analyses.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/TaggedWaveMC-class.html","id":"slots","dir":"Reference","previous_headings":"","what":"Slots","title":"A S4 class for tagged multi-channel waves — TaggedWaveMC-class","text":"metadata list storing metdata. analyses list storing analyses.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/TimeRegion-class.html","id":null,"dir":"Reference","previous_headings":"","what":"An S4 class to represent a TimeRegion within a Wave object. — TimeRegion-class","title":"An S4 class to represent a TimeRegion within a Wave object. — TimeRegion-class","text":"S4 class represent TimeRegion within Wave object.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/TimeRegion-class.html","id":"slots","dir":"Reference","previous_headings":"","what":"Slots","title":"An S4 class to represent a TimeRegion within a Wave object. — TimeRegion-class","text":"Start position End position unit Time unit (one seconds, minutes, hours)","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/WaveFilter-class.html","id":null,"dir":"Reference","previous_headings":"","what":"WaveFilter object for audio filters — WaveFilter-class","title":"WaveFilter object for audio filters — WaveFilter-class","text":"WaveFilter object object containing information necessary filterWave() function apply filter Wave TaggedWave object. designed allow pipe operator (either magrittr base R) used apply filters Wave pipeline. used TaggedWave object function adds information processing slot documenting action.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/WaveFilter-class.html","id":"slots","dir":"Reference","previous_headings":"","what":"Slots","title":"WaveFilter object for audio filters — WaveFilter-class","text":"description Description filter. func Name function. params List additional parameters pass function.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/ab_diel_traits.html","id":null,"dir":"Reference","previous_headings":"","what":"Convert text times of day in audioblast traits to numeric values — ab_diel_traits","title":"Convert text times of day in audioblast traits to numeric values — ab_diel_traits","text":"function takes traits dataset retrieved audioblast converts values \"day\" numeric time day based date location.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/ab_diel_traits.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Convert text times of day in audioblast traits to numeric values — ab_diel_traits","text":"","code":"ab_diel_traits(traits, date, lat, lon, overwrite = FALSE)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/ab_diel_traits.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Convert text times of day in audioblast traits to numeric values — ab_diel_traits","text":"traits Traits dataset retrieved using audioblast(). date date used conversion time. lat Latitude location. lon Longitude location. overwrite TRUE function overwrite existing min/max.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/ab_seqss_nearestStart.html","id":null,"dir":"Reference","previous_headings":"","what":"Nearest start time — ab_seqss_nearestStart","title":"Nearest start time — ab_seqss_nearestStart","text":"Search audioBLAST! recordings start time closest specified date/time match specified criteria","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/ab_seqss_nearestStart.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Nearest start time — ab_seqss_nearestStart","text":"","code":"ab_seqss_nearestStart(...)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/ab_seqss_nearestStart.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Nearest start time — ab_seqss_nearestStart","text":"... Fields values filter .","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/ab_seqss_nearestStart.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Nearest start time — ab_seqss_nearestStart","text":"data frame matching annotations","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/ab_seqss_nearestStart.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Nearest start time — ab_seqss_nearestStart","text":"","code":"if (FALSE) { ab_seqss_nearestStart(date=\"2020-05-15\",time=\"1500\") }"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/addProcess-methods.html","id":null,"dir":"Reference","previous_headings":"","what":"Add a process to a Tagged Wave or WaveMC object — addProcess","title":"Add a process to a Tagged Wave or WaveMC object — addProcess","text":"function takes TaggedWave TaggedWaveMC object adds process processing slot. used keep record processes applied object.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/addProcess-methods.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add a process to a Tagged Wave or WaveMC object — addProcess","text":"","code":"addProcess(object, process, output = NULL, duration = NULL) # S4 method for TaggedWave addProcess(object, process, output = NULL, duration = NULL) # S4 method for TaggedWaveMC addProcess(object, process, output = NULL, duration = NULL)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/addProcess-methods.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add a process to a Tagged Wave or WaveMC object — addProcess","text":"object object. process description process. output output process. duration duration process seconds.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/addProcess-methods.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Add a process to a Tagged Wave or WaveMC object — addProcess","text":"object process added.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/addSpectra.html","id":null,"dir":"Reference","previous_headings":"","what":"Add two spectra from seewave — addSpectra","title":"Add two spectra from seewave — addSpectra","text":"function takes two spectra seewave (equivalent) adds values. spectra must bins.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/addSpectra.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add two spectra from seewave — addSpectra","text":"","code":"addSpectra(s1, s2, coerceNegative = \"no\")"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/addSpectra.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add two spectra from seewave — addSpectra","text":"s1 First spectrum s2 Second spectrum coerceNegative Sets values zero zero, accepted values \"input\", \"output\" \"\".","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/addSpectra.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Add two spectra from seewave — addSpectra","text":"spectrum s1+s2","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/addSpectra.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Add two spectra from seewave — addSpectra","text":"","code":"if (FALSE) { addSpectra(spec1, spec2) addSpectra(spec1, spec2, coerceNegative=\"input\") }"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/allChannels.html","id":null,"dir":"Reference","previous_headings":"","what":"Apply a function to all channels of a Wave or WaveMC object — allChannels","title":"Apply a function to all channels of a Wave or WaveMC object — allChannels","text":"functions (e.g. ffilter seewave) operate single channel time. function applies function channel returns list analyses.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/allChannels.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Apply a function to all channels of a Wave or WaveMC object — allChannels","text":"","code":"allChannels( w, FUN, cl = NULL, channel.param = \"channel\", output.FUN = NULL, ... )"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/allChannels.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Apply a function to all channels of a Wave or WaveMC object — allChannels","text":"w Wave WaveMC object FUN Function apply wave. cl Optionally cluster parallel calculation. channel.param Name channel parameter FUN. Can NULL. output.FUN Optional. Function processes output FUN. \"channels_se\" function provides standard functionality soundecology package. ... Optional. Additional parameters pass FUN.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/allChannels.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Apply a function to all channels of a Wave or WaveMC object — allChannels","text":"list outputs.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/annotation.html","id":null,"dir":"Reference","previous_headings":"","what":"Create a new Annotation object — annotation","title":"Create a new Annotation object — annotation","text":"Create new Annotation object","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/annotation.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Create a new Annotation object — annotation","text":"","code":"annotation( file = NA_character_, metadata = list(), start = 0, end = Inf, low = 0, high = Inf, source = NA_character_, type = NA_character_, value = NA_character_ )"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/annotation.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Create a new Annotation object — annotation","text":"file File annotated. metadata list metadata. start Start time annotation (seconds). end End time annotation (seconds). low Low frequency annotation (Hz). high High frequency annotation (Hz). source Source annotation. type Type annotation. value Value annotation.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/annotation.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Create a new Annotation object — annotation","text":"Annotation object.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/audio_filesize.html","id":null,"dir":"Reference","previous_headings":"","what":"Calculated size of raw audio files — audio_filesize","title":"Calculated size of raw audio files — audio_filesize","text":"Calculates raw size audio date set sample rate, bit depth duration.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/audio_filesize.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Calculated size of raw audio files — audio_filesize","text":"","code":"audio_filesize( samp.rate = 44100, bit.depth = 16, channels = 1, duration = 1, duration.unit = \"seconds\", output.unit = \"bits\" )"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/audio_filesize.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Calculated size of raw audio files — audio_filesize","text":"samp.rate Sample rate bit.depth Bit depth channels number audio channels duration Duration recording duration.unit One seconds, minutes, hours, days output.unit \"bits\" \"bytes\"","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/audioblast.html","id":null,"dir":"Reference","previous_headings":"","what":"Get data or analyses from audioBlast — audioblast","title":"Get data or analyses from audioBlast — audioblast","text":"Search data analyses audioBlast.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/audioblast.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get data or analyses from audioBlast — audioblast","text":"","code":"audioblast( type, name, endpoint = NULL, check = TRUE, max_pages = NULL, page = 1, quiet = FALSE, output = \"data.frame\", ... )"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/audioblast.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get data or analyses from audioBlast — audioblast","text":"type One data, analysis, standalone. name Name data analysis source. endpoint Optionally specify endpoint audioBlast module. check Logical. Performs sanity check input sending audioBLAST. max_pages Maximum number data pages return, default set NULL returns pages. page First page results request, defaults 1. quiet true print progress. Silence virtue. output default data.frame. \"Annotations\" return list Annotation objects. ... Fields values filter . field defined audioBLAST.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/audioblast.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get data or analyses from audioBlast — audioblast","text":"data frame","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/audioblast.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Get data or analyses from audioBlast — audioblast","text":"","code":"if (FALSE) { audioblast(\"data\", \"recordings\", taxon=\"Gryllotalpa vineae\") }"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/audioblastDownload.html","id":null,"dir":"Reference","previous_headings":"","what":"Download audio files from audioBlast — audioblastDownload","title":"Download audio files from audioBlast — audioblastDownload","text":"Downloads audio files associated search using audioBlast() function.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/audioblastDownload.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Download audio files from audioBlast — audioblastDownload","text":"","code":"audioblastDownload( d, metadata = TRUE, skip.existing = TRUE, dir = \".\", quiet = FALSE )"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/audioblastDownload.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Download audio files from audioBlast — audioblastDownload","text":"d Data returned search using audioBlast(). metadata true saves data d csv file. skip.existing true overwrite existing files. dir Directory save files . quiet true print progress.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/audiomothConfig.html","id":null,"dir":"Reference","previous_headings":"","what":"Read AudioMoth configuration file — audiomothConfig","title":"Read AudioMoth configuration file — audiomothConfig","text":"Reads parses AudioMoth configuration file.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/audiomothConfig.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Read AudioMoth configuration file — audiomothConfig","text":"","code":"audiomothConfig(filename)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/audiomothConfig.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Read AudioMoth configuration file — audiomothConfig","text":"filename Path configuration file read","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/audiomothConfig.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Read AudioMoth configuration file — audiomothConfig","text":"data frame matching annotations","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/audiomothConfig.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Read AudioMoth configuration file — audiomothConfig","text":"","code":"if (FALSE) { audiomothConfig(\"./CONFIG.TXT\") }"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/audiomothWave.html","id":null,"dir":"Reference","previous_headings":"","what":"Read AudioMoth metadata from a wave file — audiomothWave","title":"Read AudioMoth metadata from a wave file — audiomothWave","text":"Reads parses metadata stored wave files produced AudioMoth devices.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/audiomothWave.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Read AudioMoth metadata from a wave file — audiomothWave","text":"","code":"audiomothWave(filename)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/audiomothWave.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Read AudioMoth metadata from a wave file — audiomothWave","text":"filename Path wave file read","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/audiomothWave.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Read AudioMoth metadata from a wave file — audiomothWave","text":"list extracted parameters","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/audiomothWave.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Read AudioMoth metadata from a wave file — audiomothWave","text":"","code":"if (FALSE) { audiomothWave(\"./FILENAME.WAV\") }"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/autoBandPass.html","id":null,"dir":"Reference","previous_headings":"","what":"Automatic Band Pass Filter — autoBandPass","title":"Automatic Band Pass Filter — autoBandPass","text":"Creates automatic bandpass filter based strongest frequency. allowed bandwidth can integer multiple bandwidth either -3dB -10dB.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/autoBandPass.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Automatic Band Pass Filter — autoBandPass","text":"","code":"autoBandPass(wave, bw = \"-3dB\", n.bw = 1, lowcut = 1000)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/autoBandPass.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Automatic Band Pass Filter — autoBandPass","text":"wave Wave object bw Either -3dB -10dB. calculated frequencyStats n.bw number bandwidths either side centre centre keep lowcut High-pass filtering applied frequency calculating centre frequency bandwidth","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/autoBandPass.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Automatic Band Pass Filter — autoBandPass","text":"band-pass filtered Wave object","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/autoBandPass.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Automatic Band Pass Filter — autoBandPass","text":"","code":"if (FALSE) { autoBandPass(sheep) autoBandPass(sheep, bw=\"-3dB\", n.bw=1, lowcut=1000) autoBandPass(sheep, bw=\"-10dB\", n.bw=2, lowcut=0) }"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/bandpass.html","id":null,"dir":"Reference","previous_headings":"","what":"Simple bandpass filter — bandpass","title":"Simple bandpass filter — bandpass","text":"Creates band pass WaveFilter values specified Wave object.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/bandpass.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Simple bandpass filter — bandpass","text":"","code":"bandpass(from, to, ...)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/bandpass.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Simple bandpass filter — bandpass","text":"Bottom bandpass frequency (Hz). Top bandpass frequency (Hz). ... arguments pass ffilter.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/bandpass.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Simple bandpass filter — bandpass","text":"WaveFilter object.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/bandpass.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Simple bandpass filter — bandpass","text":"simple wrapper function seewave ffilter function allowing use filterw pipes.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/bandpass.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Simple bandpass filter — bandpass","text":"","code":"if (FALSE) { nwave <- noise(\"white\", duration=44100, samp.rate=44100) fwave <- filterWave(nwave, bandpass(from=1000, to=2000)) nwave |> filterWave(bandpass(from=1000, to=2000)) -> fwave }"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/beatComplexity.html","id":null,"dir":"Reference","previous_headings":"","what":"Beat spectrum complexity — beatComplexity","title":"Beat spectrum complexity — beatComplexity","text":"function computes beatSpectrum calculates basic measurements complexity. complexity value calculated maximum identified repeating period (seconds) divided number peaks.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/beatComplexity.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Beat spectrum complexity — beatComplexity","text":"","code":"beatComplexity(wave, plot = FALSE)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/beatComplexity.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Beat spectrum complexity — beatComplexity","text":"wave Wave object plot TRUE spectrogram overlaid peaks plotted.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/beatComplexity.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Beat spectrum complexity — beatComplexity","text":"list complexity, vector peak periods, number peaks.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/beatComplexity.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Beat spectrum complexity — beatComplexity","text":"","code":"if (FALSE) { beatComplexity(sheep) beatComplexity(sheep, plot=TRUE) }"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/beatSpectrum.html","id":null,"dir":"Reference","previous_headings":"","what":"Computes a beat spectrum — beatSpectrum","title":"Computes a beat spectrum — beatSpectrum","text":"Beat spectra represent periodicity signal amplitude. computed performing continuous wavelet transform envelope preprocessed signal, processing average power per frequency band.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/beatSpectrum.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Computes a beat spectrum — beatSpectrum","text":"","code":"beatSpectrum(wave, min_period = 0.005, max_period = 30, dj = 1/32, ...)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/beatSpectrum.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Computes a beat spectrum — beatSpectrum","text":"wave R object path wave file min_period minimal rythmicity period expected, seconds max_period maximal rythmicity period expected, seconds dj frequency resolution cwt (voices per octave) ... extra arguments passed analyze.wavelet()","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/beatSpectrum.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Computes a beat spectrum — beatSpectrum","text":"spectrum data frame. contains two columns: power period. number rows depend resolution frequency range.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/beatSpectrum.html","id":"author","dir":"Reference","previous_headings":"","what":"Author","title":"Computes a beat spectrum — beatSpectrum","text":"Quentin Geissmann","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/beatSpectrum.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Computes a beat spectrum — beatSpectrum","text":"","code":"if (FALSE) { beatSpectrum(sheep) beatSpectrum(sheep, min_period=0.005, max_period=30, dj=1/32) }"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/channels_se.html","id":null,"dir":"Reference","previous_headings":"","what":"Channels for sound ecology — channels_se","title":"Channels for sound ecology — channels_se","text":"Used process output acoustic index functions soundecology package using allChannels.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/channels_se.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Channels for sound ecology — channels_se","text":"","code":"channels_se(...)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/channels_se.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Channels for sound ecology — channels_se","text":"... Export bioacoustic index function soundecology package","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/circularise.html","id":null,"dir":"Reference","previous_headings":"","what":"Circularise a dataset — circularise","title":"Circularise a dataset — circularise","text":"plotting rings horizons meant cover entirety time period dielPlot() yearlyPlot() function append beginning values end ensure entire loop created.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/circularise.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Circularise a dataset — circularise","text":"","code":"circularise(values)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/circularise.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Circularise a dataset — circularise","text":"values vector values","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/concat-methods.html","id":null,"dir":"Reference","previous_headings":"","what":"Concatenate two or more Wave-like objects. — concat","title":"Concatenate two or more Wave-like objects. — concat","text":"concat() method flexible version bind() method tuneR package, allows specifying advanced types concatenation. Setting method \"noClick\" remove click Wave objects caused sudden jumps amplitude applying tuneR::prepComb() appropriately default value zero (effective left channel stereo multi-channel recordings).","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/concat-methods.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Concatenate two or more Wave-like objects. — concat","text":"","code":"concat(object, ..., method = \"bind\") # S4 method for Wave concat(object, ..., method = \"bind\") # S4 method for WaveMC concat(object, ..., method = \"bind\") # S4 method for TaggedWave concat(object, ..., method = \"bind\") # S4 method for TaggedWaveMC concat(object, ..., method = \"bind\")"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/concat-methods.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Concatenate two or more Wave-like objects. — concat","text":"object Wave like object. ... Wave like objects concatenate object. method One \"bind\", \"noClick\". Default \"bind\".","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/concat-methods.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Concatenate two or more Wave-like objects. — concat","text":"concatenated Wave like object, type object.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/convert2Celsius.html","id":null,"dir":"Reference","previous_headings":"","what":"Convert temperature to Celsius — convert2Celsius","title":"Convert temperature to Celsius — convert2Celsius","text":"Converts temperature measurements Celsius","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/convert2Celsius.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Convert temperature to Celsius — convert2Celsius","text":"","code":"convert2Celsius(temp, input = \"K\")"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/convert2Celsius.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Convert temperature to Celsius — convert2Celsius","text":"temp value temperature convert input unit temperature convert, allowed values \"K\", \"F\".","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/convert2Celsius.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Convert temperature to Celsius — convert2Celsius","text":"Numeric value degrees Celsius","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/convert2Celsius.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Convert temperature to Celsius — convert2Celsius","text":"","code":"convert2Celsius(15, input=\"K\") #> [1] -258.15 convert2Celsius(15, input=\"F\") #> [1] -9.444444"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/convert2Fahrenheit.html","id":null,"dir":"Reference","previous_headings":"","what":"Convert temperature to Fahrenheit — convert2Fahrenheit","title":"Convert temperature to Fahrenheit — convert2Fahrenheit","text":"Converts temperature measurements Fahrenheit","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/convert2Fahrenheit.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Convert temperature to Fahrenheit — convert2Fahrenheit","text":"","code":"convert2Fahrenheit(temp, input)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/convert2Fahrenheit.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Convert temperature to Fahrenheit — convert2Fahrenheit","text":"temp value temperature convert input unit temperature convert, allowed values \"K\", \"C\".","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/convert2Fahrenheit.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Convert temperature to Fahrenheit — convert2Fahrenheit","text":"","code":"if (FALSE) { convert2Fahrenheit(15, input = \"C\") }"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/convert2Kelvin.html","id":null,"dir":"Reference","previous_headings":"","what":"Convert temperature to Kelvin — convert2Kelvin","title":"Convert temperature to Kelvin — convert2Kelvin","text":"Converts temperature measurements Kelvin","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/convert2Kelvin.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Convert temperature to Kelvin — convert2Kelvin","text":"","code":"convert2Kelvin(temp, input = \"C\")"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/convert2Kelvin.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Convert temperature to Kelvin — convert2Kelvin","text":"temp value temperature convert input unit temperature convert, allowed values \"C\", \"F\".","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/convert2Kelvin.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Convert temperature to Kelvin — convert2Kelvin","text":"Numeric value Kelvin","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/convert2Kelvin.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Convert temperature to Kelvin — convert2Kelvin","text":"","code":"convert2Kelvin(15, input=\"C\") #> [1] 288.15 convert2Kelvin(15, input=\"F\") #> [1] 263.7056"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/convert2Pascals.html","id":null,"dir":"Reference","previous_headings":"","what":"Convert pressure to Pascals — convert2Pascals","title":"Convert pressure to Pascals — convert2Pascals","text":"Converts pressure measurements Pascals","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/convert2Pascals.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Convert pressure to Pascals — convert2Pascals","text":"","code":"convert2Pascals(P, input = \"kPa\")"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/convert2Pascals.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Convert pressure to Pascals — convert2Pascals","text":"P value pressure convert input unit pressure convert, allowed values \"kPa\", \"dyne_cm2\".","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/convert2Pascals.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Convert pressure to Pascals — convert2Pascals","text":"numeric value Pascals","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/convert2Pascals.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Convert pressure to Pascals — convert2Pascals","text":"","code":"convert2Pascals(1000, input=\"kPa\") #> [1] 1e+06 convert2Pascals(10, input=\"dyne_cm2\") #> [1] 1"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/convert2bytes.html","id":null,"dir":"Reference","previous_headings":"","what":"Convert bits to bytes — convert2bytes","title":"Convert bits to bytes — convert2bytes","text":"Converts time measurements seconds","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/convert2bytes.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Convert bits to bytes — convert2bytes","text":"","code":"convert2bytes(S, input = \"bits\")"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/convert2bytes.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Convert bits to bytes — convert2bytes","text":"S value convert input unit convert, allowed values \"bits\", \"kB\", \"MB\", \"GB\"","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/convert2bytes.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Convert bits to bytes — convert2bytes","text":"numeric value seconds","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/convert2degrees.html","id":null,"dir":"Reference","previous_headings":"","what":"Convert angle to degrees — convert2degrees","title":"Convert angle to degrees — convert2degrees","text":"Converts angle measurements degrees","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/convert2degrees.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Convert angle to degrees — convert2degrees","text":"","code":"convert2degrees(A, input = \"radians\")"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/convert2degrees.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Convert angle to degrees — convert2degrees","text":"angle value convert input unit angle convert, allowed values \"radians\".","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/convert2degrees.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Convert angle to degrees — convert2degrees","text":"numeric value degrees","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/convert2dyne_cm2.html","id":null,"dir":"Reference","previous_headings":"","what":"Convert pressure to dyne per square centimetre — convert2dyne_cm2","title":"Convert pressure to dyne per square centimetre — convert2dyne_cm2","text":"Converts pressure measurements dyne per square centimetre","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/convert2dyne_cm2.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Convert pressure to dyne per square centimetre — convert2dyne_cm2","text":"","code":"convert2dyne_cm2(P, input = \"kPa\")"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/convert2dyne_cm2.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Convert pressure to dyne per square centimetre — convert2dyne_cm2","text":"P value pressure convert input unit pressure convert, allowed values \"kPa\", \"P\".","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/convert2dyne_cm2.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Convert pressure to dyne per square centimetre — convert2dyne_cm2","text":"","code":"convert2dyne_cm2(1, input=\"Pa\") #> [1] 10 convert2dyne_cm2(1, input=\"kPa\") #> [1] 10000"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/convert2radians.html","id":null,"dir":"Reference","previous_headings":"","what":"Convert angle to radians — convert2radians","title":"Convert angle to radians — convert2radians","text":"Converts angle measurements radians","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/convert2radians.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Convert angle to radians — convert2radians","text":"","code":"convert2radians(A, input = \"degrees\")"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/convert2radians.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Convert angle to radians — convert2radians","text":"angle value convert input unit angle convert, allowed values \"degrees\".","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/convert2radians.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Convert angle to radians — convert2radians","text":"numeric value radians","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/convert2seconds.html","id":null,"dir":"Reference","previous_headings":"","what":"Convert time to seconds — convert2seconds","title":"Convert time to seconds — convert2seconds","text":"Converts time measurements seconds","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/convert2seconds.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Convert time to seconds — convert2seconds","text":"","code":"convert2seconds(T, input = \"minutes\", origin = \"day\")"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/convert2seconds.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Convert time to seconds — convert2seconds","text":"T time value convert input unit time convert, allowed values \"minutes\", \"hours\", \"days\", \"years\", \"HHMM\". origin POSIX whether return relative start day (\"day\") Unix epoch (\"unix\")","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/convert2seconds.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Convert time to seconds — convert2seconds","text":"numeric value seconds","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/corWaveMC.html","id":null,"dir":"Reference","previous_headings":"","what":"Correlate channels in a WaveMC object — corWaveMC","title":"Correlate channels in a WaveMC object — corWaveMC","text":"Uses corenv function seewave calculate envelope correlation timed events channels WaveMC object","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/corWaveMC.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Correlate channels in a WaveMC object — corWaveMC","text":"","code":"corWaveMC(wave, times, window, temp = 25, cluster = NULL)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/corWaveMC.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Correlate channels in a WaveMC object — corWaveMC","text":"wave WaveMC object times One times events correlate window Width window correlate seconds (centred times) temp Air temperature Celsius cluster cluster parallel execution","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/corWaveMC.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Correlate channels in a WaveMC object — corWaveMC","text":"List corenv lists events, list time differences channels","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/cutws.html","id":null,"dir":"Reference","previous_headings":"","what":"Cut wave by samples — cutws","title":"Cut wave by samples — cutws","text":"Extract section Wave object based sample positions. function automatically detect Wave object stereo.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/cutws.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Cut wave by samples — cutws","text":"","code":"cutws(wave, from = 1, to = Inf, plot = FALSE)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/cutws.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Cut wave by samples — cutws","text":"wave Wave object First sample return Last sample return plot TRUE shows cut region within original waveform","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/cutws.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Cut wave by samples — cutws","text":"Wave object","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/cutws.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Cut wave by samples — cutws","text":"","code":"if (FALSE) { cutws(sheep, 1, 20) cutws(sheep, 1, 20, plot=TRUE) }"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/data2Wave.html","id":null,"dir":"Reference","previous_headings":"","what":"Convert data into a Wave object — data2Wave","title":"Convert data into a Wave object — data2Wave","text":"Make sequence data normalised Wave object.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/data2Wave.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Convert data into a Wave object — data2Wave","text":"","code":"data2Wave( left, samp.rate = 44100, bit = 16, remove.offset = TRUE, normalise = TRUE )"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/data2Wave.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Convert data into a Wave object — data2Wave","text":"left Data mono audio channel samp.rate Sampling rate Wave object bit Bit depth Wave object remove.offset TRUE DC offset removed normalise TRUE output Wave normalised -1:1","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/data2Wave.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Convert data into a Wave object — data2Wave","text":"mono Wave object.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/data2Wave.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Convert data into a Wave object — data2Wave","text":"","code":"pattern <- seq(from=-1, to=1, length.out=100) data <- rep.int(pattern, 100) w <- data2Wave(data)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/dayPhase.html","id":null,"dir":"Reference","previous_headings":"","what":"Phase of day — dayPhase","title":"Phase of day — dayPhase","text":"Given start time (optionally) duration returns phase day given location. primarily used calculate phase day information soundscape recording projects.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/dayPhase.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Phase of day — dayPhase","text":"","code":"dayPhase( time = Sys.time(), duration = 40000, lat = 50.1, lon = 1.83, tz = \"UTC\" )"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/dayPhase.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Phase of day — dayPhase","text":"time time object representing start time recording duration Duration recording lat Latitude recording device lon Longitude recording device tz Time-zone recording device recording made","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/dayPhase.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Phase of day — dayPhase","text":"Data frame day phases absolute timestamps relative times within file","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/dayPhases.html","id":null,"dir":"Reference","previous_headings":"","what":"Phases of day — dayPhases","title":"Phases of day — dayPhases","text":"Wrapper suncalc::getSunlightTimes formats output package.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/dayPhases.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Phases of day — dayPhases","text":"","code":"dayPhases(time = as.Date(Sys.time()), lat = 50.1, lon = 1.83, tz = \"UTC\")"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/dayPhases.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Phases of day — dayPhases","text":"time time object representing start time recording lat Latitude recording device lon Longitude recording device tz Time-zone recording device recording made","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/daysPhases.html","id":null,"dir":"Reference","previous_headings":"","what":"Phases of days — daysPhases","title":"Phases of days — daysPhases","text":"Phases days","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/daysPhases.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Phases of days — daysPhases","text":"","code":"daysPhases( date = Sys.Date(), period = \"year\", plot = FALSE, lat = 50.1, lon = 1.83, tz = \"UTC\" )"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/daysPhases.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Phases of days — daysPhases","text":"date time object representing start time recording period \"month\" \"year\" plot true plots data, default FALSE lat Latitude recording device lon Longitude recording device tz Time-zone recording device recording made","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/defaultCluster.html","id":null,"dir":"Reference","previous_headings":"","what":"Create Default Cluster for Windowing — defaultCluster","title":"Create Default Cluster for Windowing — defaultCluster","text":"Creates default cluster using one less total cores available system. default uses forking, available Windows. Hence, fork parameter effect Windows.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/defaultCluster.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Create Default Cluster for Windowing — defaultCluster","text":"","code":"defaultCluster(fork = TRUE)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/defaultCluster.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Create Default Cluster for Windowing — defaultCluster","text":"fork TRUE uses forking create cluster (Unix like systems )","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/defaultCluster.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Create Default Cluster for Windowing — defaultCluster","text":"cluster object parallel processing","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/defaultCluster.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Create Default Cluster for Windowing — defaultCluster","text":"","code":"if (FALSE) { cl <- defaultCluster() stopCluster(cl) cl <- defaultCluster(FALSE) stopCluster(cl) }"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/dielFraction.html","id":null,"dir":"Reference","previous_headings":"","what":"Calculate the fraction of a day given by a value — dielFraction","title":"Calculate the fraction of a day given by a value — dielFraction","text":"Given object can coerced POSIXlt supported string format, return fraction day represented object.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/dielFraction.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Calculate the fraction of a day given by a value — dielFraction","text":"","code":"dielFraction(t, input = \"POSIX\", unit = \"radians\")"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/dielFraction.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Calculate the fraction of a day given by a value — dielFraction","text":"t Object converted fraction input One POSIX (default) HHMM unit set radians outputs position around circle. set fraction outputs raw fraction.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/dielHistogram.html","id":null,"dir":"Reference","previous_headings":"","what":"Diel Histogram — dielHistogram","title":"Diel Histogram — dielHistogram","text":"Draws histogram dielPlot() using pre-defined bins related time day.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/dielHistogram.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Diel Histogram — dielHistogram","text":"","code":"dielHistogram( times, by = \"hour\", col = \"grey\", maxval = NA, presence.only = FALSE, limits = c(1, 2) )"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/dielHistogram.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Diel Histogram — dielHistogram","text":"times vector times can pocessed dielFraction(). Controls size histogram bins, one \"hour\", \"15minute\", \"30minute\". col Colour plot. maxval default scales histogram within limits, specifying maximum value allows comparison plots. presence.show presence/absence values. limits Limits plotting (see dielPlot()).","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/dielHistogram.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Diel Histogram — dielHistogram","text":"data frame start end points bins.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/dielLabels.html","id":null,"dir":"Reference","previous_headings":"","what":"Generate labels for a diel plot — dielLabels","title":"Generate labels for a diel plot — dielLabels","text":"Generates labels dielPlot() 12- 24-hour format. Labels generated three hourly intervals.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/dielLabels.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Generate labels for a diel plot — dielLabels","text":"","code":"dielLabels(format = \"clock24\")"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/dielLabels.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Generate labels for a diel plot — dielLabels","text":"format One clock24 (default) clock12","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/dielLabels.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Generate labels for a diel plot — dielLabels","text":"","code":"dielLabels() #> [1] \"0000\" \"0300\" \"0600\" \"0900\" \"1200\" \"1500\" \"1800\" \"2100\" dielLabels(\"clock12\") #> [1] \"0000\" \"0300 AM\" \"0600 AM\" \"0900 AM\" \"1200 NOON\" \"0300 PM\" #> [7] \"0600 PM\" \"0900 PM\""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/dielPlot.html","id":null,"dir":"Reference","previous_headings":"","what":"Create a diel plot — dielPlot","title":"Create a diel plot — dielPlot","text":"diel plot shows times night, twilight maximum altitude sun given date.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/dielPlot.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Create a diel plot — dielPlot","text":"","code":"dielPlot( date, lat, lon, limits = c(0, 2), plot = NULL, rot = tzRot(0), method = \"plotrix\", legend = F )"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/dielPlot.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Create a diel plot — dielPlot","text":"date Date plot. lat Numeric latitude. lon Numeric longitude. limits Plotting limits daylight regions, default c(1,2) plot Character vector components plot rot Either \"Solar Noon\" offset calculated tz method Plotting library use legend Whether show legend","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/dielPositions.html","id":null,"dir":"Reference","previous_headings":"","what":"Generate positions of labels for a diel plot — dielPositions","title":"Generate positions of labels for a diel plot — dielPositions","text":"Generates positions three-hourly labels dielPlot() radians.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/dielPositions.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Generate positions of labels for a diel plot — dielPositions","text":"","code":"dielPositions(format = \"3hourly\")"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/dielPositions.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Generate positions of labels for a diel plot — dielPositions","text":"format One \"3hours\" (default), \"hours\", \"minutes\"","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/dielPositions.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Generate positions of labels for a diel plot — dielPositions","text":"","code":"dielPositions() #> [1] 0.0000000 0.7853982 1.5707963 2.3561945 3.1415927 3.9269908 4.7123890 #> [8] 5.4977871 dielPositions(\"hours\") #> [1] 0.2617994 0.5235988 0.7853982 1.0471976 1.3089969 1.5707963 1.8325957 #> [8] 2.0943951 2.3561945 2.6179939 2.8797933 3.1415927 3.4033920 3.6651914 #> [15] 3.9269908 4.1887902 4.4505896 4.7123890 4.9741884 5.2359878 5.4977871 #> [22] 5.7595865 6.0213859 6.2831853 dielPositions(\"minutes\") #> [1] 0.004363323 0.008726646 0.013089969 0.017453293 0.021816616 0.026179939 #> [7] 0.030543262 0.034906585 0.039269908 0.043633231 0.047996554 0.052359878 #> [13] 0.056723201 0.061086524 0.065449847 0.069813170 0.074176493 0.078539816 #> [19] 0.082903139 0.087266463 0.091629786 0.095993109 0.100356432 0.104719755 #> [25] 0.109083078 0.113446401 0.117809725 0.122173048 0.126536371 0.130899694 #> [31] 0.135263017 0.139626340 0.143989663 0.148352986 0.152716310 0.157079633 #> [37] 0.161442956 0.165806279 0.170169602 0.174532925 0.178896248 0.183259571 #> [43] 0.187622895 0.191986218 0.196349541 0.200712864 0.205076187 0.209439510 #> [49] 0.213802833 0.218166156 0.222529480 0.226892803 0.231256126 0.235619449 #> [55] 0.239982772 0.244346095 0.248709418 0.253072742 0.257436065 0.261799388 #> [61] 0.266162711 0.270526034 0.274889357 0.279252680 0.283616003 0.287979327 #> [67] 0.292342650 0.296705973 0.301069296 0.305432619 0.309795942 0.314159265 #> [73] 0.318522588 0.322885912 0.327249235 0.331612558 0.335975881 0.340339204 #> [79] 0.344702527 0.349065850 0.353429174 0.357792497 0.362155820 0.366519143 #> [85] 0.370882466 0.375245789 0.379609112 0.383972435 0.388335759 0.392699082 #> [91] 0.397062405 0.401425728 0.405789051 0.410152374 0.414515697 0.418879020 #> [97] 0.423242344 0.427605667 0.431968990 0.436332313 0.440695636 0.445058959 #> [103] 0.449422282 0.453785606 0.458148929 0.462512252 0.466875575 0.471238898 #> [109] 0.475602221 0.479965544 0.484328867 0.488692191 0.493055514 0.497418837 #> [115] 0.501782160 0.506145483 0.510508806 0.514872129 0.519235452 0.523598776 #> [121] 0.527962099 0.532325422 0.536688745 0.541052068 0.545415391 0.549778714 #> [127] 0.554142038 0.558505361 0.562868684 0.567232007 0.571595330 0.575958653 #> [133] 0.580321976 0.584685299 0.589048623 0.593411946 0.597775269 0.602138592 #> [139] 0.606501915 0.610865238 0.615228561 0.619591884 0.623955208 0.628318531 #> [145] 0.632681854 0.637045177 0.641408500 0.645771823 0.650135146 0.654498469 #> [151] 0.658861793 0.663225116 0.667588439 0.671951762 0.676315085 0.680678408 #> [157] 0.685041731 0.689405055 0.693768378 0.698131701 0.702495024 0.706858347 #> [163] 0.711221670 0.715584993 0.719948316 0.724311640 0.728674963 0.733038286 #> [169] 0.737401609 0.741764932 0.746128255 0.750491578 0.754854901 0.759218225 #> [175] 0.763581548 0.767944871 0.772308194 0.776671517 0.781034840 0.785398163 #> [181] 0.789761487 0.794124810 0.798488133 0.802851456 0.807214779 0.811578102 #> [187] 0.815941425 0.820304748 0.824668072 0.829031395 0.833394718 0.837758041 #> [193] 0.842121364 0.846484687 0.850848010 0.855211333 0.859574657 0.863937980 #> [199] 0.868301303 0.872664626 0.877027949 0.881391272 0.885754595 0.890117919 #> [205] 0.894481242 0.898844565 0.903207888 0.907571211 0.911934534 0.916297857 #> [211] 0.920661180 0.925024504 0.929387827 0.933751150 0.938114473 0.942477796 #> [217] 0.946841119 0.951204442 0.955567765 0.959931089 0.964294412 0.968657735 #> [223] 0.973021058 0.977384381 0.981747704 0.986111027 0.990474351 0.994837674 #> [229] 0.999200997 1.003564320 1.007927643 1.012290966 1.016654289 1.021017612 #> [235] 1.025380936 1.029744259 1.034107582 1.038470905 1.042834228 1.047197551 #> [241] 1.051560874 1.055924197 1.060287521 1.064650844 1.069014167 1.073377490 #> [247] 1.077740813 1.082104136 1.086467459 1.090830782 1.095194106 1.099557429 #> [253] 1.103920752 1.108284075 1.112647398 1.117010721 1.121374044 1.125737368 #> [259] 1.130100691 1.134464014 1.138827337 1.143190660 1.147553983 1.151917306 #> [265] 1.156280629 1.160643953 1.165007276 1.169370599 1.173733922 1.178097245 #> [271] 1.182460568 1.186823891 1.191187214 1.195550538 1.199913861 1.204277184 #> [277] 1.208640507 1.213003830 1.217367153 1.221730476 1.226093800 1.230457123 #> [283] 1.234820446 1.239183769 1.243547092 1.247910415 1.252273738 1.256637061 #> [289] 1.261000385 1.265363708 1.269727031 1.274090354 1.278453677 1.282817000 #> [295] 1.287180323 1.291543646 1.295906970 1.300270293 1.304633616 1.308996939 #> [301] 1.313360262 1.317723585 1.322086908 1.326450232 1.330813555 1.335176878 #> [307] 1.339540201 1.343903524 1.348266847 1.352630170 1.356993493 1.361356817 #> [313] 1.365720140 1.370083463 1.374446786 1.378810109 1.383173432 1.387536755 #> [319] 1.391900078 1.396263402 1.400626725 1.404990048 1.409353371 1.413716694 #> [325] 1.418080017 1.422443340 1.426806664 1.431169987 1.435533310 1.439896633 #> [331] 1.444259956 1.448623279 1.452986602 1.457349925 1.461713249 1.466076572 #> [337] 1.470439895 1.474803218 1.479166541 1.483529864 1.487893187 1.492256510 #> [343] 1.496619834 1.500983157 1.505346480 1.509709803 1.514073126 1.518436449 #> [349] 1.522799772 1.527163095 1.531526419 1.535889742 1.540253065 1.544616388 #> [355] 1.548979711 1.553343034 1.557706357 1.562069681 1.566433004 1.570796327 #> [361] 1.575159650 1.579522973 1.583886296 1.588249619 1.592612942 1.596976266 #> [367] 1.601339589 1.605702912 1.610066235 1.614429558 1.618792881 1.623156204 #> [373] 1.627519527 1.631882851 1.636246174 1.640609497 1.644972820 1.649336143 #> [379] 1.653699466 1.658062789 1.662426113 1.666789436 1.671152759 1.675516082 #> [385] 1.679879405 1.684242728 1.688606051 1.692969374 1.697332698 1.701696021 #> [391] 1.706059344 1.710422667 1.714785990 1.719149313 1.723512636 1.727875959 #> [397] 1.732239283 1.736602606 1.740965929 1.745329252 1.749692575 1.754055898 #> [403] 1.758419221 1.762782545 1.767145868 1.771509191 1.775872514 1.780235837 #> [409] 1.784599160 1.788962483 1.793325806 1.797689130 1.802052453 1.806415776 #> [415] 1.810779099 1.815142422 1.819505745 1.823869068 1.828232391 1.832595715 #> [421] 1.836959038 1.841322361 1.845685684 1.850049007 1.854412330 1.858775653 #> [427] 1.863138977 1.867502300 1.871865623 1.876228946 1.880592269 1.884955592 #> [433] 1.889318915 1.893682238 1.898045562 1.902408885 1.906772208 1.911135531 #> [439] 1.915498854 1.919862177 1.924225500 1.928588823 1.932952147 1.937315470 #> [445] 1.941678793 1.946042116 1.950405439 1.954768762 1.959132085 1.963495408 #> [451] 1.967858732 1.972222055 1.976585378 1.980948701 1.985312024 1.989675347 #> [457] 1.994038670 1.998401994 2.002765317 2.007128640 2.011491963 2.015855286 #> [463] 2.020218609 2.024581932 2.028945255 2.033308579 2.037671902 2.042035225 #> [469] 2.046398548 2.050761871 2.055125194 2.059488517 2.063851840 2.068215164 #> [475] 2.072578487 2.076941810 2.081305133 2.085668456 2.090031779 2.094395102 #> [481] 2.098758426 2.103121749 2.107485072 2.111848395 2.116211718 2.120575041 #> [487] 2.124938364 2.129301687 2.133665011 2.138028334 2.142391657 2.146754980 #> [493] 2.151118303 2.155481626 2.159844949 2.164208272 2.168571596 2.172934919 #> [499] 2.177298242 2.181661565 2.186024888 2.190388211 2.194751534 2.199114858 #> [505] 2.203478181 2.207841504 2.212204827 2.216568150 2.220931473 2.225294796 #> [511] 2.229658119 2.234021443 2.238384766 2.242748089 2.247111412 2.251474735 #> [517] 2.255838058 2.260201381 2.264564704 2.268928028 2.273291351 2.277654674 #> [523] 2.282017997 2.286381320 2.290744643 2.295107966 2.299471290 2.303834613 #> [529] 2.308197936 2.312561259 2.316924582 2.321287905 2.325651228 2.330014551 #> [535] 2.334377875 2.338741198 2.343104521 2.347467844 2.351831167 2.356194490 #> [541] 2.360557813 2.364921136 2.369284460 2.373647783 2.378011106 2.382374429 #> [547] 2.386737752 2.391101075 2.395464398 2.399827721 2.404191045 2.408554368 #> [553] 2.412917691 2.417281014 2.421644337 2.426007660 2.430370983 2.434734307 #> [559] 2.439097630 2.443460953 2.447824276 2.452187599 2.456550922 2.460914245 #> [565] 2.465277568 2.469640892 2.474004215 2.478367538 2.482730861 2.487094184 #> [571] 2.491457507 2.495820830 2.500184153 2.504547477 2.508910800 2.513274123 #> [577] 2.517637446 2.522000769 2.526364092 2.530727415 2.535090739 2.539454062 #> [583] 2.543817385 2.548180708 2.552544031 2.556907354 2.561270677 2.565634000 #> [589] 2.569997324 2.574360647 2.578723970 2.583087293 2.587450616 2.591813939 #> [595] 2.596177262 2.600540585 2.604903909 2.609267232 2.613630555 2.617993878 #> [601] 2.622357201 2.626720524 2.631083847 2.635447171 2.639810494 2.644173817 #> [607] 2.648537140 2.652900463 2.657263786 2.661627109 2.665990432 2.670353756 #> [613] 2.674717079 2.679080402 2.683443725 2.687807048 2.692170371 2.696533694 #> [619] 2.700897017 2.705260341 2.709623664 2.713986987 2.718350310 2.722713633 #> [625] 2.727076956 2.731440279 2.735803603 2.740166926 2.744530249 2.748893572 #> [631] 2.753256895 2.757620218 2.761983541 2.766346864 2.770710188 2.775073511 #> [637] 2.779436834 2.783800157 2.788163480 2.792526803 2.796890126 2.801253449 #> [643] 2.805616773 2.809980096 2.814343419 2.818706742 2.823070065 2.827433388 #> [649] 2.831796711 2.836160034 2.840523358 2.844886681 2.849250004 2.853613327 #> [655] 2.857976650 2.862339973 2.866703296 2.871066620 2.875429943 2.879793266 #> [661] 2.884156589 2.888519912 2.892883235 2.897246558 2.901609881 2.905973205 #> [667] 2.910336528 2.914699851 2.919063174 2.923426497 2.927789820 2.932153143 #> [673] 2.936516466 2.940879790 2.945243113 2.949606436 2.953969759 2.958333082 #> [679] 2.962696405 2.967059728 2.971423052 2.975786375 2.980149698 2.984513021 #> [685] 2.988876344 2.993239667 2.997602990 3.001966313 3.006329637 3.010692960 #> [691] 3.015056283 3.019419606 3.023782929 3.028146252 3.032509575 3.036872898 #> [697] 3.041236222 3.045599545 3.049962868 3.054326191 3.058689514 3.063052837 #> [703] 3.067416160 3.071779484 3.076142807 3.080506130 3.084869453 3.089232776 #> [709] 3.093596099 3.097959422 3.102322745 3.106686069 3.111049392 3.115412715 #> [715] 3.119776038 3.124139361 3.128502684 3.132866007 3.137229330 3.141592654 #> [721] 3.145955977 3.150319300 3.154682623 3.159045946 3.163409269 3.167772592 #> [727] 3.172135915 3.176499239 3.180862562 3.185225885 3.189589208 3.193952531 #> [733] 3.198315854 3.202679177 3.207042501 3.211405824 3.215769147 3.220132470 #> [739] 3.224495793 3.228859116 3.233222439 3.237585762 3.241949086 3.246312409 #> [745] 3.250675732 3.255039055 3.259402378 3.263765701 3.268129024 3.272492347 #> [751] 3.276855671 3.281218994 3.285582317 3.289945640 3.294308963 3.298672286 #> [757] 3.303035609 3.307398933 3.311762256 3.316125579 3.320488902 3.324852225 #> [763] 3.329215548 3.333578871 3.337942194 3.342305518 3.346668841 3.351032164 #> [769] 3.355395487 3.359758810 3.364122133 3.368485456 3.372848779 3.377212103 #> [775] 3.381575426 3.385938749 3.390302072 3.394665395 3.399028718 3.403392041 #> [781] 3.407755365 3.412118688 3.416482011 3.420845334 3.425208657 3.429571980 #> [787] 3.433935303 3.438298626 3.442661950 3.447025273 3.451388596 3.455751919 #> [793] 3.460115242 3.464478565 3.468841888 3.473205211 3.477568535 3.481931858 #> [799] 3.486295181 3.490658504 3.495021827 3.499385150 3.503748473 3.508111797 #> [805] 3.512475120 3.516838443 3.521201766 3.525565089 3.529928412 3.534291735 #> [811] 3.538655058 3.543018382 3.547381705 3.551745028 3.556108351 3.560471674 #> [817] 3.564834997 3.569198320 3.573561643 3.577924967 3.582288290 3.586651613 #> [823] 3.591014936 3.595378259 3.599741582 3.604104905 3.608468228 3.612831552 #> [829] 3.617194875 3.621558198 3.625921521 3.630284844 3.634648167 3.639011490 #> [835] 3.643374814 3.647738137 3.652101460 3.656464783 3.660828106 3.665191429 #> [841] 3.669554752 3.673918075 3.678281399 3.682644722 3.687008045 3.691371368 #> [847] 3.695734691 3.700098014 3.704461337 3.708824660 3.713187984 3.717551307 #> [853] 3.721914630 3.726277953 3.730641276 3.735004599 3.739367922 3.743731246 #> [859] 3.748094569 3.752457892 3.756821215 3.761184538 3.765547861 3.769911184 #> [865] 3.774274507 3.778637831 3.783001154 3.787364477 3.791727800 3.796091123 #> [871] 3.800454446 3.804817769 3.809181092 3.813544416 3.817907739 3.822271062 #> [877] 3.826634385 3.830997708 3.835361031 3.839724354 3.844087678 3.848451001 #> [883] 3.852814324 3.857177647 3.861540970 3.865904293 3.870267616 3.874630939 #> [889] 3.878994263 3.883357586 3.887720909 3.892084232 3.896447555 3.900810878 #> [895] 3.905174201 3.909537524 3.913900848 3.918264171 3.922627494 3.926990817 #> [901] 3.931354140 3.935717463 3.940080786 3.944444110 3.948807433 3.953170756 #> [907] 3.957534079 3.961897402 3.966260725 3.970624048 3.974987371 3.979350695 #> [913] 3.983714018 3.988077341 3.992440664 3.996803987 4.001167310 4.005530633 #> [919] 4.009893956 4.014257280 4.018620603 4.022983926 4.027347249 4.031710572 #> [925] 4.036073895 4.040437218 4.044800541 4.049163865 4.053527188 4.057890511 #> [931] 4.062253834 4.066617157 4.070980480 4.075343803 4.079707127 4.084070450 #> [937] 4.088433773 4.092797096 4.097160419 4.101523742 4.105887065 4.110250388 #> [943] 4.114613712 4.118977035 4.123340358 4.127703681 4.132067004 4.136430327 #> [949] 4.140793650 4.145156973 4.149520297 4.153883620 4.158246943 4.162610266 #> [955] 4.166973589 4.171336912 4.175700235 4.180063559 4.184426882 4.188790205 #> [961] 4.193153528 4.197516851 4.201880174 4.206243497 4.210606820 4.214970144 #> [967] 4.219333467 4.223696790 4.228060113 4.232423436 4.236786759 4.241150082 #> [973] 4.245513405 4.249876729 4.254240052 4.258603375 4.262966698 4.267330021 #> [979] 4.271693344 4.276056667 4.280419991 4.284783314 4.289146637 4.293509960 #> [985] 4.297873283 4.302236606 4.306599929 4.310963252 4.315326576 4.319689899 #> [991] 4.324053222 4.328416545 4.332779868 4.337143191 4.341506514 4.345869837 #> [997] 4.350233161 4.354596484 4.358959807 4.363323130 4.367686453 4.372049776 #> [1003] 4.376413099 4.380776423 4.385139746 4.389503069 4.393866392 4.398229715 #> [1009] 4.402593038 4.406956361 4.411319684 4.415683008 4.420046331 4.424409654 #> [1015] 4.428772977 4.433136300 4.437499623 4.441862946 4.446226269 4.450589593 #> [1021] 4.454952916 4.459316239 4.463679562 4.468042885 4.472406208 4.476769531 #> [1027] 4.481132854 4.485496178 4.489859501 4.494222824 4.498586147 4.502949470 #> [1033] 4.507312793 4.511676116 4.516039440 4.520402763 4.524766086 4.529129409 #> [1039] 4.533492732 4.537856055 4.542219378 4.546582701 4.550946025 4.555309348 #> [1045] 4.559672671 4.564035994 4.568399317 4.572762640 4.577125963 4.581489286 #> [1051] 4.585852610 4.590215933 4.594579256 4.598942579 4.603305902 4.607669225 #> [1057] 4.612032548 4.616395872 4.620759195 4.625122518 4.629485841 4.633849164 #> [1063] 4.638212487 4.642575810 4.646939133 4.651302457 4.655665780 4.660029103 #> [1069] 4.664392426 4.668755749 4.673119072 4.677482395 4.681845718 4.686209042 #> [1075] 4.690572365 4.694935688 4.699299011 4.703662334 4.708025657 4.712388980 #> [1081] 4.716752304 4.721115627 4.725478950 4.729842273 4.734205596 4.738568919 #> [1087] 4.742932242 4.747295565 4.751658889 4.756022212 4.760385535 4.764748858 #> [1093] 4.769112181 4.773475504 4.777838827 4.782202150 4.786565474 4.790928797 #> [1099] 4.795292120 4.799655443 4.804018766 4.808382089 4.812745412 4.817108736 #> [1105] 4.821472059 4.825835382 4.830198705 4.834562028 4.838925351 4.843288674 #> [1111] 4.847651997 4.852015321 4.856378644 4.860741967 4.865105290 4.869468613 #> [1117] 4.873831936 4.878195259 4.882558582 4.886921906 4.891285229 4.895648552 #> [1123] 4.900011875 4.904375198 4.908738521 4.913101844 4.917465167 4.921828491 #> [1129] 4.926191814 4.930555137 4.934918460 4.939281783 4.943645106 4.948008429 #> [1135] 4.952371753 4.956735076 4.961098399 4.965461722 4.969825045 4.974188368 #> [1141] 4.978551691 4.982915014 4.987278338 4.991641661 4.996004984 5.000368307 #> [1147] 5.004731630 5.009094953 5.013458276 5.017821599 5.022184923 5.026548246 #> [1153] 5.030911569 5.035274892 5.039638215 5.044001538 5.048364861 5.052728185 #> [1159] 5.057091508 5.061454831 5.065818154 5.070181477 5.074544800 5.078908123 #> [1165] 5.083271446 5.087634770 5.091998093 5.096361416 5.100724739 5.105088062 #> [1171] 5.109451385 5.113814708 5.118178031 5.122541355 5.126904678 5.131268001 #> [1177] 5.135631324 5.139994647 5.144357970 5.148721293 5.153084617 5.157447940 #> [1183] 5.161811263 5.166174586 5.170537909 5.174901232 5.179264555 5.183627878 #> [1189] 5.187991202 5.192354525 5.196717848 5.201081171 5.205444494 5.209807817 #> [1195] 5.214171140 5.218534463 5.222897787 5.227261110 5.231624433 5.235987756 #> [1201] 5.240351079 5.244714402 5.249077725 5.253441049 5.257804372 5.262167695 #> [1207] 5.266531018 5.270894341 5.275257664 5.279620987 5.283984310 5.288347634 #> [1213] 5.292710957 5.297074280 5.301437603 5.305800926 5.310164249 5.314527572 #> [1219] 5.318890895 5.323254219 5.327617542 5.331980865 5.336344188 5.340707511 #> [1225] 5.345070834 5.349434157 5.353797480 5.358160804 5.362524127 5.366887450 #> [1231] 5.371250773 5.375614096 5.379977419 5.384340742 5.388704066 5.393067389 #> [1237] 5.397430712 5.401794035 5.406157358 5.410520681 5.414884004 5.419247327 #> [1243] 5.423610651 5.427973974 5.432337297 5.436700620 5.441063943 5.445427266 #> [1249] 5.449790589 5.454153912 5.458517236 5.462880559 5.467243882 5.471607205 #> [1255] 5.475970528 5.480333851 5.484697174 5.489060498 5.493423821 5.497787144 #> [1261] 5.502150467 5.506513790 5.510877113 5.515240436 5.519603759 5.523967083 #> [1267] 5.528330406 5.532693729 5.537057052 5.541420375 5.545783698 5.550147021 #> [1273] 5.554510344 5.558873668 5.563236991 5.567600314 5.571963637 5.576326960 #> [1279] 5.580690283 5.585053606 5.589416930 5.593780253 5.598143576 5.602506899 #> [1285] 5.606870222 5.611233545 5.615596868 5.619960191 5.624323515 5.628686838 #> [1291] 5.633050161 5.637413484 5.641776807 5.646140130 5.650503453 5.654866776 #> [1297] 5.659230100 5.663593423 5.667956746 5.672320069 5.676683392 5.681046715 #> [1303] 5.685410038 5.689773362 5.694136685 5.698500008 5.702863331 5.707226654 #> [1309] 5.711589977 5.715953300 5.720316623 5.724679947 5.729043270 5.733406593 #> [1315] 5.737769916 5.742133239 5.746496562 5.750859885 5.755223208 5.759586532 #> [1321] 5.763949855 5.768313178 5.772676501 5.777039824 5.781403147 5.785766470 #> [1327] 5.790129793 5.794493117 5.798856440 5.803219763 5.807583086 5.811946409 #> [1333] 5.816309732 5.820673055 5.825036379 5.829399702 5.833763025 5.838126348 #> [1339] 5.842489671 5.846852994 5.851216317 5.855579640 5.859942964 5.864306287 #> [1345] 5.868669610 5.873032933 5.877396256 5.881759579 5.886122902 5.890486225 #> [1351] 5.894849549 5.899212872 5.903576195 5.907939518 5.912302841 5.916666164 #> [1357] 5.921029487 5.925392811 5.929756134 5.934119457 5.938482780 5.942846103 #> [1363] 5.947209426 5.951572749 5.955936072 5.960299396 5.964662719 5.969026042 #> [1369] 5.973389365 5.977752688 5.982116011 5.986479334 5.990842657 5.995205981 #> [1375] 5.999569304 6.003932627 6.008295950 6.012659273 6.017022596 6.021385919 #> [1381] 6.025749243 6.030112566 6.034475889 6.038839212 6.043202535 6.047565858 #> [1387] 6.051929181 6.056292504 6.060655828 6.065019151 6.069382474 6.073745797 #> [1393] 6.078109120 6.082472443 6.086835766 6.091199089 6.095562413 6.099925736 #> [1399] 6.104289059 6.108652382 6.113015705 6.117379028 6.121742351 6.126105675 #> [1405] 6.130468998 6.134832321 6.139195644 6.143558967 6.147922290 6.152285613 #> [1411] 6.156648936 6.161012260 6.165375583 6.169738906 6.174102229 6.178465552 #> [1417] 6.182828875 6.187192198 6.191555521 6.195918845 6.200282168 6.204645491 #> [1423] 6.209008814 6.213372137 6.217735460 6.222098783 6.226462106 6.230825430 #> [1429] 6.235188753 6.239552076 6.243915399 6.248278722 6.252642045 6.257005368 #> [1435] 6.261368692 6.265732015 6.270095338 6.274458661 6.278821984 6.283185307"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/dielRings.html","id":null,"dir":"Reference","previous_headings":"","what":"Plot rings on a diel plot — dielRings","title":"Plot rings on a diel plot — dielRings","text":"Plot rings diel plot.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/dielRings.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Plot rings on a diel plot — dielRings","text":"","code":"dielRings( names, starts, ends, cols = \"grey\", format = \"HHMM\", limits = c(1, 2), legend = T )"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/dielRings.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Plot rings on a diel plot — dielRings","text":"names Labels rings starts Start times rings HHMM string format ends End times rings HHMM string format cols Colours rings format Defaults HHMM limits Region dielPlot() plot rings. Defaults c(1,2) legend Boolean. Whether plot legend.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/dolbear.html","id":null,"dir":"Reference","previous_headings":"","what":"Dolbear's law — dolbear","title":"Dolbear's law — dolbear","text":"Calculates either chirps per minute based temperature vice versa using Dolbear's law (equivalent laws species)","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/dolbear.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Dolbear's law — dolbear","text":"","code":"dolbear(n = NULL, t = NULL, species = \"Oecanthus fultoni\")"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/dolbear.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Dolbear's law — dolbear","text":"n Chirps per minute t Temperature Celsius species Species use (default Oecanthus fultoni)","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/dolbear.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Dolbear's law — dolbear","text":"Missing value n t","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/dolbear.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Dolbear's law — dolbear","text":"","code":"dolbear(n=6) #> [1] 5.142857 dolbear(t=25) #> [1] 145"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/dutyCycle.html","id":null,"dir":"Reference","previous_headings":"","what":"Calculate the duty cycle of a wave — dutyCycle","title":"Calculate the duty cycle of a wave — dutyCycle","text":"Proportion wave signal limit","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/dutyCycle.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Calculate the duty cycle of a wave — dutyCycle","text":"","code":"dutyCycle(wave, limit = 0.1, output = \"unit\", normalise = TRUE)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/dutyCycle.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Calculate the duty cycle of a wave — dutyCycle","text":"wave Wave object limit Threshold consider signal output \"unit\" duty cycle range 0-1. percentage use \"percent\". normalise TRUE Wave normalised using tuneR","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/dutyCycle.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Calculate the duty cycle of a wave — dutyCycle","text":"numerical value duty cycle 0 1 (0 100% percentage output).","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/dutyCycle.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Calculate the duty cycle of a wave — dutyCycle","text":"","code":"wave <- tuneR::sine(2000) dc <- dutyCycle(wave) pc <- dutyCycle(wave, output=\"percent\")"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/emptyDiel.html","id":null,"dir":"Reference","previous_headings":"","what":"Create an empty diel plot — emptyDiel","title":"Create an empty diel plot — emptyDiel","text":"Create diel plot labels without sun altitude times day plotted.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/emptyDiel.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Create an empty diel plot — emptyDiel","text":"","code":"emptyDiel(method = \"plotrix\", rot = pi)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/emptyDiel.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Create an empty diel plot — emptyDiel","text":"method Plotting package use rot Rotation origin (defaults pi)","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/emptyYearly.html","id":null,"dir":"Reference","previous_headings":"","what":"Create an empty yearly plot — emptyYearly","title":"Create an empty yearly plot — emptyYearly","text":"Create yearly plot labels without sun night duration plotted.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/emptyYearly.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Create an empty yearly plot — emptyYearly","text":"","code":"emptyYearly(year = 2022, method = \"plotix\", rot = pi)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/emptyYearly.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Create an empty yearly plot — emptyYearly","text":"year Year plot (allows leap years) method Plotting package use rot Rotation origin (defaults pi)","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/entropyStats.html","id":null,"dir":"Reference","previous_headings":"","what":"Various measurements of frequency values for a Wave object — entropyStats","title":"Various measurements of frequency values for a Wave object — entropyStats","text":"Calculates peak, centre, bandwidth quality factor. quality factor (Q) calculated -3dB -10dB discussed Bennett-Clark (1999) doi:10.1080/09524622.1999.9753408.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/entropyStats.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Various measurements of frequency values for a Wave object — entropyStats","text":"","code":"entropyStats(wave)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/entropyStats.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Various measurements of frequency values for a Wave object — entropyStats","text":"wave Wave object","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/entropyStats.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Various measurements of frequency values for a Wave object — entropyStats","text":"list spectral entropy types.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/entropyStats.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Various measurements of frequency values for a Wave object — entropyStats","text":"","code":"if (FALSE) { entropyStats(sheep) }"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/filterWave.html","id":null,"dir":"Reference","previous_headings":"","what":"Apply a WaveFilter object to a Wave object — filterWave","title":"Apply a WaveFilter object to a Wave object — filterWave","text":"WaveFilter object object containing information necessary filterw function apply filter Wave object. designed allow pipe operator (either magrittr base R) used apply filters Wave pipeline.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/filterWave.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Apply a WaveFilter object to a Wave object — filterWave","text":"","code":"filterWave(w, filt, cl = NULL)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/filterWave.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Apply a WaveFilter object to a Wave object — filterWave","text":"w Wave object. filt Wave object selected filter applied. cl Optional. cluster specified, filter applied parallel.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/filterWave.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Apply a WaveFilter object to a Wave object — filterWave","text":"Supported filters include seewave package.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/frequencySound.html","id":null,"dir":"Reference","previous_headings":"","what":"Get the frequency from wavelength and speed of sound — frequencySound","title":"Get the frequency from wavelength and speed of sound — frequencySound","text":"Calculates frequency sound wave given wavelength speed sound medium.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/frequencySound.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get the frequency from wavelength and speed of sound — frequencySound","text":"","code":"frequencySound(wl, s = soundSpeed(medium = \"air\"))"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/frequencySound.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get the frequency from wavelength and speed of sound — frequencySound","text":"wl Wavelength s Speed sound (defaults speed sound air)","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/frequencySound.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get the frequency from wavelength and speed of sound — frequencySound","text":"Frequency sound Hertz","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/frequencySound.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Get the frequency from wavelength and speed of sound — frequencySound","text":"","code":"f <- frequencySound(wl=100, s=343)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/frequencyStats.html","id":null,"dir":"Reference","previous_headings":"","what":"Various measurements of frequency values for a Wave object — frequencyStats","title":"Various measurements of frequency values for a Wave object — frequencyStats","text":"Calculates peak, centre, bandwidth quality factor. quality factor (Q) calculated -3dB -10dB discussed Bennett-Clark (1999) .","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/frequencyStats.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Various measurements of frequency values for a Wave object — frequencyStats","text":"","code":"frequencyStats(wave, wave_spec = NULL, warn = TRUE, lowcut = 1, plot = FALSE)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/frequencyStats.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Various measurements of frequency values for a Wave object — frequencyStats","text":"wave Wave object wave_spec precomputed spectrum (optional, present generated) warn TRUE provides warnings values consistent lowcut Frequency (kHz) values ignored. plot TRUE displays values","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/generateNoise.html","id":null,"dir":"Reference","previous_headings":"","what":"Add noise to a Wave like object — generateNoise","title":"Add noise to a Wave like object — generateNoise","text":"Adding noise Wave like object allows testing robustness automated identification algorithms noise.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/generateNoise.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add noise to a Wave like object — generateNoise","text":"","code":"generateNoise( wave, noise = c(\"white\"), noise.add = FALSE, noise.ratio = 0.5, noise.ref = \"file\", output = \"list\" )"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/generateNoise.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add noise to a Wave like object — generateNoise","text":"wave Object add noise (Wave, WaveMC, Tagged versions), list objects. noise Vector noise add (unif, gaussian, white, pink, power, red) noise.add TRUE noise sources added wave. FALSE separate outputs created noise source. noise.ratio Ratio maximum noise amplitude maximum amplitude wave. noise.ref Reference maximum noise.ratio. \"max\" maximum amplitude, \"file\" maximum amplitude wave. output TODO: implemented?","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/generateNoise.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Add noise to a Wave like object — generateNoise","text":"list Wave objects required noise added.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/generateTimeShift.html","id":null,"dir":"Reference","previous_headings":"","what":"Generated time-shifted versions of a Wave-like object — generateTimeShift","title":"Generated time-shifted versions of a Wave-like object — generateTimeShift","text":"Given Wave-like object (list Wave-like objects), function generates time-shifted versions object. time-shifted versions generated adding constant amount time start end object. achieved either inserting silence truncating object original length, rotating audio within object.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/generateTimeShift.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Generated time-shifted versions of a Wave-like object — generateTimeShift","text":"","code":"generateTimeShift( wave, type = \"silent\", amount = c(1, 2), where = \"start\", output = \"list\" )"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/generateTimeShift.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Generated time-shifted versions of a Wave-like object — generateTimeShift","text":"wave Wave-like object list Wave-like objects. type type time-shift apply. Either \"silent\" \"rotate\". amount Vector amount time shift (seconds). insert silence type \"silent\". output Return list.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/generateTimeShift.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Generated time-shifted versions of a Wave-like object — generateTimeShift","text":"Wave-like object list Wave-like objects.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/gs_transcribe.html","id":null,"dir":"Reference","previous_headings":"","what":"Google Speech API Transcribe — gs_transcribe","title":"Google Speech API Transcribe — gs_transcribe","text":"Wrapper around various Google packages simplify speech transcription.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/gs_transcribe.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Google Speech API Transcribe — gs_transcribe","text":"","code":"gs_transcribe(filename, bucket = NULL, ...)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/gs_transcribe.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Google Speech API Transcribe — gs_transcribe","text":"filename Path file analysis bucket Storage bucket Google Cloud larger files ... Additional arguments pass gl_speech()","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/gs_transcribe.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Google Speech API Transcribe — gs_transcribe","text":"gs_transcribe object containing details transcription","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/gs_transcribe.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Google Speech API Transcribe — gs_transcribe","text":"","code":"if (FALSE) { gs_transcribe(\"demo.wav\") }"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/humanBytes.html","id":null,"dir":"Reference","previous_headings":"","what":"Converts bytes in human readable form — humanBytes","title":"Converts bytes in human readable form — humanBytes","text":"Given input bytes calculates result sensible output unit (e.g. MB, GB, PB).","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/humanBytes.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Converts bytes in human readable form — humanBytes","text":"","code":"humanBytes(S)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/humanBytes.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Converts bytes in human readable form — humanBytes","text":"S Number bytes","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/humanBytes.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Converts bytes in human readable form — humanBytes","text":"String human readable format","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/humanTime.html","id":null,"dir":"Reference","previous_headings":"","what":"Converts time to human readable form — humanTime","title":"Converts time to human readable form — humanTime","text":"Given input bytes calculates result sensible output unit (e.g. minutes, hours).","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/humanTime.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Converts time to human readable form — humanTime","text":"","code":"humanTime(S, unit = \"seconds\")"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/humanTime.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Converts time to human readable form — humanTime","text":"S Time convert unit unit unit time convert","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/humanTime.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Converts time to human readable form — humanTime","text":"String human readable format","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/jitter.html","id":null,"dir":"Reference","previous_headings":"","what":"Calculate the jitter in a Wave object — jitter","title":"Calculate the jitter in a Wave object — jitter","text":"Jitter measure variability periods waveform. Relative jitter scaled jitter analysed waveform.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/jitter.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Calculate the jitter in a Wave object — jitter","text":"","code":"jitter(wave, method = \"absolute\")"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/jitter.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Calculate the jitter in a Wave object — jitter","text":"wave Wave object method One \"absolute\" \"relative\"","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/jitter.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Calculate the jitter in a Wave object — jitter","text":"vector zero crossing locations","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/jitter.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Calculate the jitter in a Wave object — jitter","text":"","code":"if (FALSE) { jitter(sheep, method=\"absolute\") jitter(sheep, method=\"relative\") }"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/labelPadding.html","id":null,"dir":"Reference","previous_headings":"","what":"Pad labels with interval — labelPadding","title":"Pad labels with interval — labelPadding","text":"Takes labels Google Speech API transcript pads time specified number seconds.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/labelPadding.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Pad labels with interval — labelPadding","text":"","code":"labelPadding(t, pad = 0.5, max_t = NULL)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/labelPadding.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Pad labels with interval — labelPadding","text":"t Transcript Google Speech API pad Amount time (seconds) add start end max_t Optional. duration file, padding exceed length file.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/labelPadding.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Pad labels with interval — labelPadding","text":"modified Google Speech API transcript object","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/labelPadding.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Pad labels with interval — labelPadding","text":"","code":"if (FALSE) { labelPadding(t, pad=2, max_t=duration(wave)) }"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/labelReduction.html","id":null,"dir":"Reference","previous_headings":"","what":"Combines labels which overlap into single continuous regions — labelReduction","title":"Combines labels which overlap into single continuous regions — labelReduction","text":"Takes labels Google Speech API transcript combines overlapping labels.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/labelReduction.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Combines labels which overlap into single continuous regions — labelReduction","text":"","code":"labelReduction(t)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/labelReduction.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Combines labels which overlap into single continuous regions — labelReduction","text":"t Transcript Google Speech API","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/labelReduction.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Combines labels which overlap into single continuous regions — labelReduction","text":"list containing start end times speech containing regions","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/labelReduction.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Combines labels which overlap into single continuous regions — labelReduction","text":"","code":"if (FALSE) { labelReduction(t) }"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/map2RGB.html","id":null,"dir":"Reference","previous_headings":"","what":"Map three vectors to RGB — map2RGB","title":"Map three vectors to RGB — map2RGB","text":"Maps three vectors equal length RGB use false-colour index spectrograms","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/map2RGB.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Map three vectors to RGB — map2RGB","text":"","code":"map2RGB(red, green, blue)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/map2RGB.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Map three vectors to RGB — map2RGB","text":"red red channel vector green green channel vector blue blue channel vector","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/map2RGB.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Map three vectors to RGB — map2RGB","text":"vector RGB values","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/naturalFrequency.html","id":null,"dir":"Reference","previous_headings":"","what":"Calculate the natural frequency — naturalFrequency","title":"Calculate the natural frequency — naturalFrequency","text":"Calculates natural frequency given inductance, capacitance resistance. acoustic case inductance inertia mass, capacitance elasticity (bulk modulus) resistance composed air resistance related quantities. units SI.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/naturalFrequency.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Calculate the natural frequency — naturalFrequency","text":"","code":"naturalFrequency(L, C = \"default\", R)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/naturalFrequency.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Calculate the natural frequency — naturalFrequency","text":"L Inductance C Capacitance, default IUPAC standard pressure. R Resistance","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/naturalFrequency.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Calculate the natural frequency — naturalFrequency","text":"isothermal compression, bulk modulus equal pressure. default value C therefore IUPAC standard pressure.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/naturalFrequency.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Calculate the natural frequency — naturalFrequency","text":"","code":"naturalFrequency(L=20,R=0.5) #> [1] 0.002950812 naturalFrequency(L=20,C=1/4,R=0.5) #> [1] 0.07114845"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/ntd.html","id":null,"dir":"Reference","previous_headings":"","what":"Natural Time Domain — ntd","title":"Natural Time Domain — ntd","text":"Runs function wave outputs values Natural Time Domain (see Varotsos, Sarlis & Skordas(2011) doi:10.1007/978-3-642-16449-1).","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/ntd.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Natural Time Domain — ntd","text":"","code":"ntd(wave, events, FUN, normalise = FALSE, argument = \"wave\", ...)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/ntd.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Natural Time Domain — ntd","text":"wave Wave object containing pulses events Onset detected events, e.g. pulseDetection() FUN function run normalise TRUE output probability density argument \"wave\" supplies weave object function, \"vector\" supplies left channel numeric vector. ... Additional arguments FUN","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/ntd.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Natural Time Domain — ntd","text":"list outputs form applied function","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/parseFilename.html","id":null,"dir":"Reference","previous_headings":"","what":"Parse a filename — parseFilename","title":"Parse a filename — parseFilename","text":"Attempts extract meaningful information filename, typically date time recording started.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/parseFilename.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Parse a filename — parseFilename","text":"","code":"parseFilename(file, format = NULL, timezone = NULL)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/parseFilename.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Parse a filename — parseFilename","text":"file filename (list filenames). format Optionally force given format (see Details). NULL (default) attempt made automatically detect format file. \"match\" list filenames given attempt made find format matches files. may give incorrect results filename ambiguous (see Details). timezone Optionally set timezone.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/parseFilename.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Parse a filename — parseFilename","text":"list file, type match, datetime. possible determine additional properties files, added list.","code":""},{"path":[]},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/parseFilename.html","id":"determining-the-format","dir":"Reference","previous_headings":"","what":"Determining the format","title":"Parse a filename — parseFilename","text":"sometimes impossible accurately determine format filename, e.g. eight-digit 'AudioMoth HEX' contains numbers confused YYYYMMDD format. list filenames given \"match\" format specified effort made determine likely format applies filenames.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/parseFilename.html","id":"supported-formats","dir":"Reference","previous_headings":"","what":"Supported formats","title":"Parse a filename — parseFilename","text":"AudioMoth - newer format AudioMoth devices consists standard YYYYMMDD_HHMMSS.wav format. Specifying 'AudioMoth' forces call audiomoth() function seewave package (Sueur et al. 2008) . AudioMoth HEX - Older format AudioMoth devices consisting eight hexadecimal characters. Conversion handled call seewave::audiomoth(). timestamp - standard date-time format. Uses R standard origin 1970-01-01 00:00:00 UTC. Wildlife Acoustics SM2 - Can also used Wildlife Acoustics SM4 devices. Conversion handled call seewave::songmeter(). Wildlife Acoustics SM3 - Conversion handled call seewave::songmeter(). YYYYMMDD_HHMMSS - standard date-time format.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/parseFilename.html","id":"references","dir":"Reference","previous_headings":"","what":"References","title":"Parse a filename — parseFilename","text":"Sueur J, Aubin T, Simonis C (2008). “Seewave, free modular tool sound analysis synthesis.” Bioacoustics, 18(2), 213--226.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/parseFilename.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Parse a filename — parseFilename","text":"","code":"parseFilename(\"5E90A4D4.wav\") #> $filename #> [1] \"5E90A4D4.wav\" #> #> $match #> [1] \"AudioMoth HEX\" #> #> $datetime #> [1] \"2020-04-10 16:54:44 UTC\" #>"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/pd_dietrich2004.html","id":null,"dir":"Reference","previous_headings":"","what":"Pulse detection using Dietrich (2004) — pd_dietrich2004","title":"Pulse detection using Dietrich (2004) — pd_dietrich2004","text":"Detects pulses Wave using method described Dietrich et al (2004) doi:10.1016/j.patcog.2004.04.004.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/pd_dietrich2004.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Pulse detection using Dietrich (2004) — pd_dietrich2004","text":"","code":"pd_dietrich2004( wave, U = 120, gamma = 0.05, alpha = 1.4, scaling = 32, V = 480, psi = 1 )"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/pd_dietrich2004.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Pulse detection using Dietrich (2004) — pd_dietrich2004","text":"wave Wave object U Window length gamma Gamma alpha Alpha scaling Scaling V V Window length psi Psi","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/pd_dietrich2004.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Pulse detection using Dietrich (2004) — pd_dietrich2004","text":"list input values plus onset offset times pulses","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/pd_simple.html","id":null,"dir":"Reference","previous_headings":"","what":"Simplified pulse detection using Dietrich (2004) — pd_simple","title":"Simplified pulse detection using Dietrich (2004) — pd_simple","text":"Detects pulses Wave.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/pd_simple.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Simplified pulse detection using Dietrich (2004) — pd_simple","text":"","code":"pd_simple( wave, U = 120, gamma = 0.05, alpha = 1.4, scaling = 32, V = 480, psi = 1 )"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/pd_simple.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Simplified pulse detection using Dietrich (2004) — pd_simple","text":"wave Wave object U Window length gamma Gamma alpha Alpha scaling Scaling V V Window length psi Psi","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/plus-PseudoWave-numeric-method.html","id":null,"dir":"Reference","previous_headings":"","what":"PseudoWave scalar addition — +,PseudoWave,numeric-method","title":"PseudoWave scalar addition — +,PseudoWave,numeric-method","text":"PseudoWave scalar addition","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/plus-PseudoWave-numeric-method.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"PseudoWave scalar addition — +,PseudoWave,numeric-method","text":"","code":"# S4 method for PseudoWave,numeric +(e1, e2)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/plus-PseudoWave-numeric-method.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"PseudoWave scalar addition — +,PseudoWave,numeric-method","text":"e1 Input 1 e2 Input 2","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/plus-numeric-PseudoWave-method.html","id":null,"dir":"Reference","previous_headings":"","what":"Numeric addition by PseudoWave — +,numeric,PseudoWave-method","title":"Numeric addition by PseudoWave — +,numeric,PseudoWave-method","text":"Numeric addition PseudoWave","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/plus-numeric-PseudoWave-method.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Numeric addition by PseudoWave — +,numeric,PseudoWave-method","text":"","code":"# S4 method for numeric,PseudoWave +(e1, e2)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/plus-numeric-PseudoWave-method.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Numeric addition by PseudoWave — +,numeric,PseudoWave-method","text":"e1 Input 1 e2 Input 2","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/pseudoWave.html","id":null,"dir":"Reference","previous_headings":"","what":"Create a PseudoWave object — pseudoWave","title":"Create a PseudoWave object — pseudoWave","text":"function used create PseudoWave object can used generate Wave object operated .","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/pseudoWave.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Create a PseudoWave object — pseudoWave","text":"","code":"pseudoWave( type = NA_character_, subtype = NA_character_, scale = 1, offset = 0, seed = 1, params = list() )"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/pseudoWave.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Create a PseudoWave object — pseudoWave","text":"type Type PseudoWave (e.g. \"noise\", \"sine\") subtype Subtype PseudoWave (e.g. \"white\" type \"noise\") scale Wave channels multiplied value offset value added Wave channels seed Random seed reproducible output. NA params List additional parameters pass generating function","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/pseudoWave.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Create a PseudoWave object — pseudoWave","text":"PseudoWave object.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/pseudoWave.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Create a PseudoWave object — pseudoWave","text":"","code":"pw <- pseudoWave(\"noise\", \"white\") pw <- pseudoWave(\"sine\", params=list(\"f0\"=440))"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/pulse.html","id":null,"dir":"Reference","previous_headings":"","what":"Generate a single pulse — pulse","title":"Generate a single pulse — pulse","text":"Generate single pulse, either Dirac pulse (Dirac delta) square pulse.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/pulse.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Generate a single pulse — pulse","text":"","code":"pulse( type = \"dirac\", leading = 22050, pulse.length = 1, duration = samp.rate, samp.rate = 44100, bit = 1, pcm = FALSE, stereo = FALSE, output = \"Wave\", invert = FALSE )"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/pulse.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Generate a single pulse — pulse","text":"type Either \"dirac\" \"square\". leading number samples pulse. pulse.length number samples pulse (\"square\"). duration total number samples generated. samp.rate sample rate. bit bit depth. pcm Whether Wave generated PCM (see tuneR). stereo Whether Wave generated stereo. output output format (\"Wave\"). invert Whether invert pulse.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/pulse.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Generate a single pulse — pulse","text":"Specified output.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/pulseDetection.html","id":null,"dir":"Reference","previous_headings":"","what":"Pulse detection — pulseDetection","title":"Pulse detection — pulseDetection","text":"Detects pulses Wave, defaults using Dietrich (2004).","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/pulseDetection.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Pulse detection — pulseDetection","text":"","code":"pulseDetection(wave, method = \"simple\", ...)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/pulseDetection.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Pulse detection — pulseDetection","text":"wave Wave object containing pulses method method use pulse detection ... arguments pass pulse detection function","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/pulseIntervals.html","id":null,"dir":"Reference","previous_headings":"","what":"Pulse intervals — pulseIntervals","title":"Pulse intervals — pulseIntervals","text":"Used locate area pulses results pulseDetection().","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/pulseIntervals.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Pulse intervals — pulseIntervals","text":"","code":"pulseIntervals(pulses, nsd = 2)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/pulseIntervals.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Pulse intervals — pulseIntervals","text":"pulses result pulseDetection. nsd number standard deviations sid mean pulse interval discard","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/pulseIntervals.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Pulse intervals — pulseIntervals","text":"list onset offset times pulses","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/radarPower.html","id":null,"dir":"Reference","previous_headings":"","what":"The radar equation — radarPower","title":"The radar equation — radarPower","text":"Calculates power returned echolocation pulse","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/radarPower.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"The radar equation — radarPower","text":"","code":"radarPower(P_t, r, area, G_t = 1, G_r = 1, wl = 1)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/radarPower.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"The radar equation — radarPower","text":"P_t Power transmitted (sender) r Range target area Effective cross-sectional area target G_t Transmitter gain G_r Receiver gain wl Wavelength (use G_r G_t)","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/radarPower.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"The radar equation — radarPower","text":"received power","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/radarPower.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"The radar equation — radarPower","text":"","code":"radarPower(12, 20, 0.05) #> [1] 1.889738e-09 radarPower(12, 20, 0.05, G_t=1.2, G_r=1.5, wl=0.045) #> [1] 6.888096e-12"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/radarRange.html","id":null,"dir":"Reference","previous_headings":"","what":"Radar range — radarRange","title":"Radar range — radarRange","text":"Calculates distance object based round trip time echolocation pulse","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/radarRange.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Radar range — radarRange","text":"","code":"radarRange(t, c = soundSpeed(medium = \"air\"))"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/radarRange.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Radar range — radarRange","text":"t Time seconds c Speed sound transmission medium m/s (default air)","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/radarRange.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Radar range — radarRange","text":"Distance object","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/radarRange.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Radar range — radarRange","text":"","code":"radarRange(2) #> [1] 343 radarRange(2, c=343) #> [1] 343 radarRange(2, c=soundSpeed(medium = \"sea water\")) #> [1] 1500"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/radialPolygon.html","id":null,"dir":"Reference","previous_headings":"","what":"Plot a radial polygon — radialPolygon","title":"Plot a radial polygon — radialPolygon","text":"Used plot sectors, annuli horizons dielPlot() yearlyPlot(). polygon inner outer horizon - can set fixed radius vector.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/radialPolygon.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Plot a radial polygon — radialPolygon","text":"","code":"radialPolygon( angle1, angle2, radius1, radius2, col = \"grey\", border = NA, rot = -pi, angleinc = 0.01, reverse = TRUE, ... )"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/radialPolygon.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Plot a radial polygon — radialPolygon","text":"angle1 Angles inner line angle2 Angles outer line radius1 Radii inner line radius2 Radii outer line col Colour polygon border Border colour (see polygon() details) rot Rotation plot, defaults pi match dielPlot() yearlyPlot() angleinc angular increment radians calculating circular lines reverse FALSE plots anti-clockwise direction ... parameters passed polygon()","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/rainfallDetection.html","id":null,"dir":"Reference","previous_headings":"","what":"Rainfall detection — rainfallDetection","title":"Rainfall detection — rainfallDetection","text":"Detects rainfall Wave. uncalibrated version Bedoya et al (2017) doi:10.1016/j.ecolind.2016.12.018 available package. hardRain package can also accessed via wrapper.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/rainfallDetection.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Rainfall detection — rainfallDetection","text":"","code":"rainfallDetection(wave, method = \"bedoya2017\", ...)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/rainfallDetection.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Rainfall detection — rainfallDetection","text":"wave Wave object detect rainfall method rainfall detection method use (\"bedoya2017\") ... arguments pass rain detection function","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/rainfallDetection.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Rainfall detection — rainfallDetection","text":"Numeric value rainfall detection algorithm chosen.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/rainfallDetection.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Rainfall detection — rainfallDetection","text":"","code":"if (FALSE) { rainfallDetection(sheep, method=\"bedoya2017\") }"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/readAudacityLabels.html","id":null,"dir":"Reference","previous_headings":"","what":"Read an Audacity label file — readAudacityLabels","title":"Read an Audacity label file — readAudacityLabels","text":"Reads Audacity label file returns either list Annotation objects data frame.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/readAudacityLabels.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Read an Audacity label file — readAudacityLabels","text":"","code":"readAudacityLabels(file, output = \"annotations\")"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/readAudacityLabels.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Read an Audacity label file — readAudacityLabels","text":"file Path Audacity label file. output One \"annotations\" \"data.frame\".","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/readAudio.html","id":null,"dir":"Reference","previous_headings":"","what":"Read an audio file — readAudio","title":"Read an audio file — readAudio","text":"file used read audio file return Wave object, abstraction function various specific audio reading functions. existing method can identified attempt made use av package read audio.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/readAudio.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Read an audio file — readAudio","text":"","code":"readAudio(file, mime = \"auto\", from = 0, to = Inf, units = \"seconds\")"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/readAudio.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Read an audio file — readAudio","text":"file File read mime MIME type file read, \"auto\". Supported types \"audio/x-wav\" \"audio/mpeg\" (MP3) Start point file return End point file return units One \"samples\", \"seconds\", \"minutes\", \"hours\". Default \"seconds\".","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/readAudio.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Read an audio file — readAudio","text":"Wave object","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/readBirdNet.html","id":null,"dir":"Reference","previous_headings":"","what":"Read output files from BirdNet Analyser — readBirdNet","title":"Read output files from BirdNet Analyser — readBirdNet","text":"Reads single file, directory files, output BirdNet Analyser.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/readBirdNet.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Read output files from BirdNet Analyser — readBirdNet","text":"","code":"readBirdNet(file, filename_parsing = \"none\")"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/readBirdNet.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Read output files from BirdNet Analyser — readBirdNet","text":"file Filename directory filename_parsing Allows filename parsing, accepted values one none, audiomoth, timestamp.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/readBirdNet.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Read output files from BirdNet Analyser — readBirdNet","text":"data frame.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/readRespeaker6.html","id":null,"dir":"Reference","previous_headings":"","what":"Read a file from Seeed Studio Respeaker 6 mic array — readRespeaker6","title":"Read a file from Seeed Studio Respeaker 6 mic array — readRespeaker6","text":"Seeed Studio Respeaker-6 used described documentation saves eight channel audio file channels 7 8 containing input audio. function reads file saves six channel file.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/readRespeaker6.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Read a file from Seeed Studio Respeaker 6 mic array — readRespeaker6","text":"","code":"readRespeaker6(filename, from = 1, to = Inf, units = \"samples\", header = FALSE)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/readRespeaker6.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Read a file from Seeed Studio Respeaker 6 mic array — readRespeaker6","text":"filename file read. start reading wave units. stop reading wave units. units Units given, default \"samples\", can set time intervals \"seconds\". header TRUE, just header information Wave file returned, otherwise (default) whole Wave object.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/readRespeaker6.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Read a file from Seeed Studio Respeaker 6 mic array — readRespeaker6","text":"WaveMC object.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/referenceIntensity.html","id":null,"dir":"Reference","previous_headings":"","what":"Reference intensity — referenceIntensity","title":"Reference intensity — referenceIntensity","text":"Provides standard reference intensity level.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/referenceIntensity.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Reference intensity — referenceIntensity","text":"","code":"referenceIntensity(unit = \"watt_cm2\")"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/referenceIntensity.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Reference intensity — referenceIntensity","text":"unit Unit return, \"watt_cm2\"","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/referenceIntensity.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Reference intensity — referenceIntensity","text":"","code":"ri <- referenceIntensity()"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/referencePressure.html","id":null,"dir":"Reference","previous_headings":"","what":"Reference pressure — referencePressure","title":"Reference pressure — referencePressure","text":"Provides standard reference pressure level.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/referencePressure.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Reference pressure — referencePressure","text":"","code":"referencePressure(unit = \"Pa\")"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/referencePressure.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Reference pressure — referencePressure","text":"unit Unit return, \"Pa\" \"dyne_cm2\"","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/referencePressure.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Reference pressure — referencePressure","text":"","code":"rp <- referencePressure() rp <- referencePressure(unit=\"dyne_cm2\")"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/region.html","id":null,"dir":"Reference","previous_headings":"","what":"Specify a region with a file to analyse — region","title":"Specify a region with a file to analyse — region","text":"Specifies time-bounded region analyse.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/region.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Specify a region with a file to analyse — region","text":"","code":"region(unit, from = 0, to = Inf)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/region.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Specify a region with a file to analyse — region","text":"unit Unit time (one samples, seconds, minutes, hours) Start time End time","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/region.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Specify a region with a file to analyse — region","text":"TimeRegion object.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/resonantFrequency.html","id":null,"dir":"Reference","previous_headings":"","what":"Calculate the resonant frequency — resonantFrequency","title":"Calculate the resonant frequency — resonantFrequency","text":"Calculates resonant frequency given inductance capacitance. acoustic case inductance inertia mass, capacitance elasticity (bulk modulus) resistance composed air resistance related quantities. units SI.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/resonantFrequency.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Calculate the resonant frequency — resonantFrequency","text":"","code":"resonantFrequency(L, C = \"default\")"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/resonantFrequency.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Calculate the resonant frequency — resonantFrequency","text":"L Inductance C Capacitance, default IUPAC standard pressure.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/resonantFrequency.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Calculate the resonant frequency — resonantFrequency","text":"isothermal compression, bulk modulus equal pressure. default value C therefore IUPAC standard pressure.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/resonantFrequency.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Calculate the resonant frequency — resonantFrequency","text":"","code":"f <- resonantFrequency(L=1)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/sDuration.html","id":null,"dir":"Reference","previous_headings":"","what":"Sample duration — sDuration","title":"Sample duration — sDuration","text":"Calculates time represented n samples Wave.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/sDuration.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Sample duration — sDuration","text":"","code":"sDuration(n = 1, wave = NULL, samp.rate = NULL)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/sDuration.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Sample duration — sDuration","text":"n number samples wave Wave object containing pulses samp.rate Integer sampling rate","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/sDuration.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Sample duration — sDuration","text":"numeric value seconds","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/sDuration.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Sample duration — sDuration","text":"","code":"sDuration(n=20, samp.rate=44100) #> [1] 0.0004535147 if (FALSE) { sDuration(n=20, wave=sheep)#' }"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/sheepFrequencyStats.html","id":null,"dir":"Reference","previous_headings":"","what":"Sheep frequencyStats — sheepFrequencyStats","title":"Sheep frequencyStats — sheepFrequencyStats","text":"frequencyStats sheep data file seewave package.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/sheepFrequencyStats.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Sheep frequencyStats — sheepFrequencyStats","text":"","code":"sheepFrequencyStats"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/sheepFrequencyStats.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Sheep frequencyStats — sheepFrequencyStats","text":"object class list length 3.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/shimmer.html","id":null,"dir":"Reference","previous_headings":"","what":"Calculate the shimmer in a Wave object — shimmer","title":"Calculate the shimmer in a Wave object — shimmer","text":"Jitter measure variability amplitudes within periods waveform. Relative shimmer scaled shimmer analysed waveform.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/shimmer.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Calculate the shimmer in a Wave object — shimmer","text":"","code":"shimmer(wave)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/shimmer.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Calculate the shimmer in a Wave object — shimmer","text":"wave Wave object","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/shimmer.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Calculate the shimmer in a Wave object — shimmer","text":"vector zero crossing locations","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/shimmer.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Calculate the shimmer in a Wave object — shimmer","text":"","code":"if (FALSE) { shimmer(sheep) }"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/slash-PseudoWave-numeric-method.html","id":null,"dir":"Reference","previous_headings":"","what":"PseudoWave scalar division — /,PseudoWave,numeric-method","title":"PseudoWave scalar division — /,PseudoWave,numeric-method","text":"PseudoWave scalar division","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/slash-PseudoWave-numeric-method.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"PseudoWave scalar division — /,PseudoWave,numeric-method","text":"","code":"# S4 method for PseudoWave,numeric /(e1, e2)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/slash-PseudoWave-numeric-method.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"PseudoWave scalar division — /,PseudoWave,numeric-method","text":"e1 Input 1 e2 Input 2","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/soundSpeed.html","id":null,"dir":"Reference","previous_headings":"","what":"Calculate the speed of sound in a medium — soundSpeed","title":"Calculate the speed of sound in a medium — soundSpeed","text":"Given sufficient parameters (.e. wavelength frequency, bulk modulus density) function calculates speed sound.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/soundSpeed.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Calculate the speed of sound in a medium — soundSpeed","text":"","code":"soundSpeed( medium = NULL, method = NULL, wl = NULL, f = NULL, bulkModulus = NULL, density = NULL, ... )"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/soundSpeed.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Calculate the speed of sound in a medium — soundSpeed","text":"medium Propagation medium (e.g. \"air\"), \"\" return list available media. method Use specific method calculate speed sound (see Details). wl Wavelength f Frequency bulkModulus Bulk modulus density Density ... Additional parameters passed method.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/soundSpeed.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Calculate the speed of sound in a medium — soundSpeed","text":"speed sound can calculated using following methods: cramer Uses method described Cramer (1993) . Additional parameters : temp Temperature temp.unit Temperature unit pressure Pressure pressure.unit Pressure unit RH Relative humidity MoleFracCO2 Mole fraction CO2","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/soundSpeed.html","id":"references","dir":"Reference","previous_headings":"","what":"References","title":"Calculate the speed of sound in a medium — soundSpeed","text":"Cramer O (1993). “variation specific heat ratio speed sound air temperature, pressure, humidity, CO2 concentration.” Journal Acoustical Society America, 93(5), 2510-2516. ISSN 0001-4966, doi:10.1121/1.405827 , https://pubs.aip.org/asa/jasa/article-pdf/93/5/2510/12186001/2510\\_1\\_online.pdf.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/soundSpeed.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Calculate the speed of sound in a medium — soundSpeed","text":"","code":"soundSpeed(medium=\"air\") #> [1] 343 soundSpeed(medium=\"sea water\") #> [1] 1500 soundSpeed(method=\"cramer\", temp=14, pressure=3, RH=10) #> [1] 343 soundSpeed(method=\"cramer\", temp=14, temp.unit=\"C\", pressure=3, pressure.unit=\"kPa\", RH=10) #> [1] 343"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/specStats.html","id":null,"dir":"Reference","previous_headings":"","what":"Calculate and plot statistics on a frequency spectrum — specStats","title":"Calculate and plot statistics on a frequency spectrum — specStats","text":"Given list outputs meanspec generates plot mean shown line, either minimum/maximum values one standard deviation shown ribbon.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/specStats.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Calculate and plot statistics on a frequency spectrum — specStats","text":"","code":"specStats(spectra, stats = \"minMax\", line.col = \"black\", ribbon.col = \"grey70\")"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/specStats.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Calculate and plot statistics on a frequency spectrum — specStats","text":"spectra list spectra stats Either minMax sd line.col Colour line ribbon.col Colour ribbon","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/specStats.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Calculate and plot statistics on a frequency spectrum — specStats","text":"ggplot2 object","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/ste.html","id":null,"dir":"Reference","previous_headings":"","what":"Short term energy — ste","title":"Short term energy — ste","text":"Computes short term energy Wave.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/ste.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Short term energy — ste","text":"","code":"ste(wave, method = \"dietrich2004\", ...)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/ste.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Short term energy — ste","text":"wave Wave object method method used calculate short term energy, default \"dietrich2004\" use (Dietrich et al. 2004) . ... arguments pass ste method.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/ste.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Short term energy — ste","text":"vector short term energy values","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/ste.html","id":"references","dir":"Reference","previous_headings":"","what":"References","title":"Short term energy — ste","text":"Dietrich C, Palm G, Riede K, Schwenker F (2004). “Classification bioacoustic time series based combination global local decisions.” Pattern Recognition, 37(12), 2293--2305.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/ste.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Short term energy — ste","text":"","code":"if (FALSE) { ste(sheep, method=\"dietrich2004\") }"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/sub-Wave-TimeRegion-method.html","id":null,"dir":"Reference","previous_headings":"","what":"Allow subsetting a Wave object with a TimeRegion — [,Wave,TimeRegion-method","title":"Allow subsetting a Wave object with a TimeRegion — [,Wave,TimeRegion-method","text":"Allow subsetting Wave object TimeRegion","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/sub-Wave-TimeRegion-method.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Allow subsetting a Wave object with a TimeRegion — [,Wave,TimeRegion-method","text":"","code":"# S4 method for Wave,TimeRegion [(x, i)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/sub-Wave-TimeRegion-method.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Allow subsetting a Wave object with a TimeRegion — [,Wave,TimeRegion-method","text":"x Wave Object TimeRegion object","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/subtractSpectra.html","id":null,"dir":"Reference","previous_headings":"","what":"Subtract two spectra from seewave — subtractSpectra","title":"Subtract two spectra from seewave — subtractSpectra","text":"function takes two spectra seewave (equivalent) subtracts values. spectra must bins.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/subtractSpectra.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Subtract two spectra from seewave — subtractSpectra","text":"","code":"subtractSpectra(s1, s2, coerceNegative = \"no\")"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/subtractSpectra.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Subtract two spectra from seewave — subtractSpectra","text":"s1 First spectrum s2 Second spectrum coerceNegative Sets values zero zero, accepted values \"input\", \"output\" \"\".","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/subtractSpectra.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Subtract two spectra from seewave — subtractSpectra","text":"spectrum s1 - s2","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/subtractSpectra.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Subtract two spectra from seewave — subtractSpectra","text":"","code":"if (FALSE) { subtractSpectra(spec1, spec2) subtractSpectra(spec1, spec2, coerceNegative=\"both\") }"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/sweptsine.html","id":null,"dir":"Reference","previous_headings":"","what":"Generate a frequency-swept sine wave — sweptsine","title":"Generate a frequency-swept sine wave — sweptsine","text":"Generates frequency swept sine wave returns Wave object vector.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/sweptsine.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Generate a frequency-swept sine wave — sweptsine","text":"","code":"sweptsine( f0 = 100, f1 = 2500, sweep.time = 1, time.unit = \"seconds\", A = 1, samp.rate = 44100, output = \"wave\", ... )"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/sweptsine.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Generate a frequency-swept sine wave — sweptsine","text":"f0 Start frequency f1 End frequency sweep.time Duration swept wave time.unit One \"seconds\", \"samples\" Amplitude wave samp.rate Sample rate swept wave output \"wave\" Wave object, \"vector\" ... Additional arguments pass data2Wave","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/sweptsine.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Generate a frequency-swept sine wave — sweptsine","text":"swept wave object type specified output.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/sweptsine.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Generate a frequency-swept sine wave — sweptsine","text":"","code":"sweptsine() #> #> Wave Object #> \tNumber of Samples: 44100 #> \tDuration (seconds): 1 #> \tSamplingrate (Hertz): 44100 #> \tChannels (Mono/Stereo): Mono #> \tPCM (integer format): TRUE #> \tBit (8/16/24/32/64): 16 #>"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/tSamples.html","id":null,"dir":"Reference","previous_headings":"","what":"Samples per time period — tSamples","title":"Samples per time period — tSamples","text":"Calculates number samples given duration wave","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/tSamples.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Samples per time period — tSamples","text":"","code":"tSamples(time = 1, wave = NULL, samp.rate = NULL)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/tSamples.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Samples per time period — tSamples","text":"time duration seconds wave Wave object containing pulses samp.rate Integer sampling rate","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/tSamples.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Samples per time period — tSamples","text":"Number samples","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/tSamples.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Samples per time period — tSamples","text":"","code":"tSamples(10, samp.rate=44100) #> [1] 441000 if (FALSE) { tSamples(10, wave=sheep) }"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/tagWave.html","id":null,"dir":"Reference","previous_headings":"","what":"Tag a Wave or WaveMC object — tagWave","title":"Tag a Wave or WaveMC object — tagWave","text":"function takes Wave/WaveMC object (list objects) returns corresponding tagged version (TaggedWave TaggedWaveMC).","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/tagWave.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Tag a Wave or WaveMC object — tagWave","text":"","code":"tagWave(w, origin = \"user\")"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/tagWave.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Tag a Wave or WaveMC object — tagWave","text":"w Wave WaveMC object (list objects). origin origin object (default \"user\").","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/tagWave.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Tag a Wave or WaveMC object — tagWave","text":"TaggedWave TaggedWaveMC object (list objects).","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/times-PseudoWave-numeric-method.html","id":null,"dir":"Reference","previous_headings":"","what":"PseudoWave scalar manipulation — *,PseudoWave,numeric-method","title":"PseudoWave scalar manipulation — *,PseudoWave,numeric-method","text":"PseudoWave scalar manipulation","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/times-PseudoWave-numeric-method.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"PseudoWave scalar manipulation — *,PseudoWave,numeric-method","text":"","code":"# S4 method for PseudoWave,numeric *(e1, e2)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/times-PseudoWave-numeric-method.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"PseudoWave scalar manipulation — *,PseudoWave,numeric-method","text":"e1 Input 1 e2 Input 2","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/times-numeric-PseudoWave-method.html","id":null,"dir":"Reference","previous_headings":"","what":"Numeric multiplication by PseudoWave — *,numeric,PseudoWave-method","title":"Numeric multiplication by PseudoWave — *,numeric,PseudoWave-method","text":"Numeric multiplication PseudoWave","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/times-numeric-PseudoWave-method.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Numeric multiplication by PseudoWave — *,numeric,PseudoWave-method","text":"","code":"# S4 method for numeric,PseudoWave *(e1, e2)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/times-numeric-PseudoWave-method.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Numeric multiplication by PseudoWave — *,numeric,PseudoWave-method","text":"e1 Input 1 e2 Input 2","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/typicalVolume.html","id":null,"dir":"Reference","previous_headings":"","what":"Typical volumes — typicalVolume","title":"Typical volumes — typicalVolume","text":"Typical volumes everyday things.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/typicalVolume.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Typical volumes — typicalVolume","text":"","code":"typicalVolume(thing = NA_character_)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/typicalVolume.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Typical volumes — typicalVolume","text":"thing Volume thing, missing returns volumes","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/typicalVolume.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Typical volumes — typicalVolume","text":"Typical volume thing dBA, thing parameter data frame volumes","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/typicalVolume.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Typical volumes — typicalVolume","text":"","code":"typicalVolume() #> thing dBA #> 1 steam engine 85 #> 2 printing works 87 #> 3 diesel electric generator 96 #> 4 screw-heading machine 101 #> 5 weaving shed 104 #> 6 sawmill chipper 105 #> 7 metalwork grinder 106 #> 8 wood-planing machine 108 #> 9 metal saw 110 #> 10 rock band 115 #> 11 boiler works 118 #> 12 metal hammering 118 #> 13 jet take-off 120 #> 14 rocket launch 160 typicalVolume(\"rocket launch\") #> [1] 160"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/tzRot.html","id":null,"dir":"Reference","previous_headings":"","what":"Converts a timezone offset into a rotation — tzRot","title":"Converts a timezone offset into a rotation — tzRot","text":"Given timezone offset hours returns rotation radians apply values diel plot.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/tzRot.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Converts a timezone offset into a rotation — tzRot","text":"","code":"tzRot(tz, init = pi)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/tzRot.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Converts a timezone offset into a rotation — tzRot","text":"tz Timezone numeric init Initial rotation. Defaults pi.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/untagWave.html","id":null,"dir":"Reference","previous_headings":"","what":"Untag a TaggedWave or TaggedWaveMC object — untagWave","title":"Untag a TaggedWave or TaggedWaveMC object — untagWave","text":"function takes TaggedWave/TaggedWaveMC object (list objects) returns corresponding Wave/WaveMC object (list objects).","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/untagWave.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Untag a TaggedWave or TaggedWaveMC object — untagWave","text":"","code":"untagWave(w)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/untagWave.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Untag a TaggedWave or TaggedWaveMC object — untagWave","text":"w TaggedWave TaggedWaveMC object (list objects).","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/untagWave.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Untag a TaggedWave or TaggedWaveMC object — untagWave","text":"Wave WaveMC object.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/untagWave.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Untag a TaggedWave or TaggedWaveMC object — untagWave","text":"","code":"if (FALSE) { w <- noise(\"white\") tw <- tagWave(w) w2 <- untagWave(tw) }"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/upsample.html","id":null,"dir":"Reference","previous_headings":"","what":"Upsample a wave — upsample","title":"Upsample a wave — upsample","text":"Used upsample Wave object. upsampled sample rate must natural multiple current sample rate.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/upsample.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Upsample a wave — upsample","text":"","code":"upsample(wave, upsample.rate, method = \"basic\")"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/upsample.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Upsample a wave — upsample","text":"wave Wave object upsample. upsample.rate sample rate upsample . method \"basic\" linear, function interpolate NAs vector","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/upsample.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Upsample a wave — upsample","text":"resampled Wave object","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/upsample.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Upsample a wave — upsample","text":"","code":"wave <- tuneR::sine(4000, samp.rate=44100) wave2 <- upsample(wave, 88200)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/validateIsWave.html","id":null,"dir":"Reference","previous_headings":"","what":"Check an object is a Wave object — validateIsWave","title":"Check an object is a Wave object — validateIsWave","text":"Helper function test input Wave object. create error .","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/validateIsWave.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Check an object is a Wave object — validateIsWave","text":"","code":"validateIsWave(wave)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/validateIsWave.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Check an object is a Wave object — validateIsWave","text":"wave Object test","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/windowing.html","id":null,"dir":"Reference","previous_headings":"","what":"Windowing Function for Wave Objects — windowing","title":"Windowing Function for Wave Objects — windowing","text":"Separates Wave object windows defined length runs function window section. Windows may overlap, function can make use 'parallel' package multi-core processing. also show progress bar 'pbapply' package installed.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/windowing.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Windowing Function for Wave Objects — windowing","text":"","code":"windowing( wave, window.length, FUN, window.overlap = 0, bind.wave = TRUE, complete.windows = TRUE, cluster = NULL, ... )"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/windowing.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Windowing Function for Wave Objects — windowing","text":"wave Wave object filename. Using filenames may save loading entire large file memory. window.length length analysis window (samples). FUN FUN applied windows. window.overlap overlap successive windows (samples), negative value result gap windows. bind.wave TRUE FUN returns wave objects, combined single object complete.windows TRUE (default) final window processed unless length equal window.length. cluster cluster form 'parallel' package multi-core computation. ... Additional parameters FUN","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/windowing.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Windowing Function for Wave Objects — windowing","text":"","code":"if (FALSE) { windowing(wave, window.length=1000, FUN=duration, window.overlap=0, bind.wave=TRUE) }"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/writeAudacityLabels.html","id":null,"dir":"Reference","previous_headings":"","what":"Write an Audacity label file — writeAudacityLabels","title":"Write an Audacity label file — writeAudacityLabels","text":"Writes list Annotation objects Audacity label file. Internally uses write.audacity() function seewave package (Sueur et al. 2008) .","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/writeAudacityLabels.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Write an Audacity label file — writeAudacityLabels","text":"","code":"writeAudacityLabels(annotations, file)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/writeAudacityLabels.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Write an Audacity label file — writeAudacityLabels","text":"annotations list Annotation objects. file Path Audacity label file.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/writeAudacityLabels.html","id":"references","dir":"Reference","previous_headings":"","what":"References","title":"Write an Audacity label file — writeAudacityLabels","text":"Sueur J, Aubin T, Simonis C (2008). “Seewave, free modular tool sound analysis synthesis.” Bioacoustics, 18(2), 213--226.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/yearlyFraction.html","id":null,"dir":"Reference","previous_headings":"","what":"Calculate the fraction of a year given by a value — yearlyFraction","title":"Calculate the fraction of a year given by a value — yearlyFraction","text":"Given object can coerced POSIXlt, return fraction year represented object.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/yearlyFraction.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Calculate the fraction of a year given by a value — yearlyFraction","text":"","code":"yearlyFraction(t, year = 2022, input = \"POSIX\", unit = \"radians\")"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/yearlyFraction.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Calculate the fraction of a year given by a value — yearlyFraction","text":"t Object converted fraction year Year calculate fractions (allows leap years) input One POSIXlt (default) unit set radians outputs position around circle. set fraction outputs raw fraction.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/yearlyLabels.html","id":null,"dir":"Reference","previous_headings":"","what":"Generate labels for a yearly plot — yearlyLabels","title":"Generate labels for a yearly plot — yearlyLabels","text":"Generates monthly labels yearlyPlot()..","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/yearlyLabels.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Generate labels for a yearly plot — yearlyLabels","text":"","code":"yearlyLabels()"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/yearlyPlot.html","id":null,"dir":"Reference","previous_headings":"","what":"Create a yearly plot — yearlyPlot","title":"Create a yearly plot — yearlyPlot","text":"ToDO......","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/yearlyPlot.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Create a yearly plot — yearlyPlot","text":"","code":"yearlyPlot( year = 2022, lat, lon, limits = c(0, 2), plot = NULL, method = \"plotrix\", legend = F )"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/yearlyPlot.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Create a yearly plot — yearlyPlot","text":"year Year plot (allows leap years). lat Numeric latitude. lon Numeric longitude. limits Plotting limits daylight regions, default c(1,2) plot Character vector components plot method Plotting library use legend Whether show legend","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/yearlyPositions.html","id":null,"dir":"Reference","previous_headings":"","what":"Generate positions of labels for a yearly plot — yearlyPositions","title":"Generate positions of labels for a yearly plot — yearlyPositions","text":"Generates positions monthly labels dielPlot() radians. positions can either start month, middle month.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/yearlyPositions.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Generate positions of labels for a yearly plot — yearlyPositions","text":"","code":"yearlyPositions(year = 2022, format = \"months\")"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/yearlyPositions.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Generate positions of labels for a yearly plot — yearlyPositions","text":"year Year calculate format One months, mid-months, days","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/yearlyPositions.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Generate positions of labels for a yearly plot — yearlyPositions","text":"function allows leap years year parameter provided.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/zeroSpectrum.html","id":null,"dir":"Reference","previous_headings":"","what":"Zero spectrum — zeroSpectrum","title":"Zero spectrum — zeroSpectrum","text":"function takes spectrum seewave creates new zero-valued spectrum structure.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/zeroSpectrum.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Zero spectrum — zeroSpectrum","text":"","code":"zeroSpectrum(s1)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/zeroSpectrum.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Zero spectrum — zeroSpectrum","text":"s1 Spectrum emulate structure .","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/zeroSpectrum.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Zero spectrum — zeroSpectrum","text":"zero-valued spectrum.","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/zeroSpectrum.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Zero spectrum — zeroSpectrum","text":"","code":"if (FALSE) { zeroSpectrum(spec) }"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/zerocross.html","id":null,"dir":"Reference","previous_headings":"","what":"Identify zero crossings in a Wave object — zerocross","title":"Identify zero crossings in a Wave object — zerocross","text":"Returns vector position (samples) zero crossings Wave object","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/zerocross.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Identify zero crossings in a Wave object — zerocross","text":"","code":"zerocross(wave)"},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/zerocross.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Identify zero crossings in a Wave object — zerocross","text":"wave Wave object","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/zerocross.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Identify zero crossings in a Wave object — zerocross","text":"vector zero crossing locations","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/reference/zerocross.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Identify zero crossings in a Wave object — zerocross","text":"","code":"if (FALSE) { zerocross(sheep) }"},{"path":"http://sonicscrewdriver.ebaker.me.uk/news/index.html","id":"sonicscrewdriver-004","dir":"Changelog","previous_headings":"","what":"sonicscrewdriver 0.0.4","title":"sonicscrewdriver 0.0.4","text":"CRAN release: 2021-05-02 support reading AudioMoth configuration files support reading AudioMoth metadata wave files audioRead function convert audio file types Wave object parseFilename now accepts POSIX timestamp format provides typical volumes (decibels)","code":""},{"path":"http://sonicscrewdriver.ebaker.me.uk/news/index.html","id":"sonicscrewdriver-003","dir":"Changelog","previous_headings":"","what":"sonicscrewdriver 0.0.3","title":"sonicscrewdriver 0.0.3","text":"CRAN release: 2020-11-15 Jitter shimmer functions added.","code":""}] diff --git a/sitemap.xml b/sitemap.xml index 2029ef76..c57c2490 100644 --- a/sitemap.xml +++ b/sitemap.xml @@ -321,9 +321,6 @@ http://sonicscrewdriver.ebaker.me.uk/reference/soundSpeed.html - - http://sonicscrewdriver.ebaker.me.uk/reference/soundSpeed_cramer1993.html - http://sonicscrewdriver.ebaker.me.uk/reference/specStats.html