This package provides tools for manipulating sound files for analysis and visualisation.
With SonicScrewdriveR you can:
Easily read audio files of many types.
Work seamlessly with multi-channel audio.
Read/write/convert audio and metadata in formats used by other tools.
Apply filters to audio.
Augment audio data for machine learning.
Visualise audio data.
Create self-documenting analysis pipelines.
The need for SonicScrewdriveR
arose initially in the Automated Acoustic Observatories project at the University of York, and later in the development of audioBlast. Both of these projects required the ability to read and manipulate audio files in a variety of formats and to visualise and analyse the data contained within them. The package is designed to be as flexible as possible and to be able to handle audio file formats with differing encoding, channel numbers, and sample rates. In one sense, it can be seen as a wrapper around existing packages to provide a unified interface, but it also offers many new functions and visualisations.
Installation
CRAN
install.packages("sonicscrewdriver")
library(sonicscrewdriver)
Latest master
install.packages("devtools")
devtools::install_github("edwbaker/SonicScrewdriveR")
library(sonicscrewdriver)
Usage
Usage of the package is described in the following vignettes:
Managing audio in R with SonicScrewdriveR covers the basics of reading audio files with
readAudio()
, performing analyses over all audio channels usingallChannels()
and performing analysis on sections of audio withwindowing()
.Augmenting audio in R with SonicScrewdriveR covers audio data augmentation.
-
Using other apps and tools in R using SonicScrewdriveR lists the functions available to interface with other apps and tools such as audioBlast, Audacity and AudioMoth. It also gives some exemplar applications of using SonicScrewdriveR to move data between different tools and platforms.
-
Using SonicScrewriveR with audioBlast covers the use of
audioblast()
to find recordings, annotations, traits and analyses.audioblastDownload()
can be used to download files you find using audioBlast.
-
Using SonicScrewriveR with audioBlast covers the use of
The book Visualisation for bioacoustics and ecoacoustics in R provides details of the various visualisation tools available in this and other packages.
Converting code to work with SonicScrewdriveR provides guidance for package developers and end users who want to convert their code to work with SonicScrewdriveR types such as
TaggedWave
andTaggedWaveMC
.
Contributing
We welcome contributions from anyone who would like to help improve the package. If you want to talk to us before submitting a pull request feel free to email Ed at edward.baker@nhm.ac.uk.
Please note that the ‘SonicScrewdriveR’ project is released with a Contributor Code of Conduct.
Issue reporting
If you find a bug, or have a feature request, please report it on the issue tracker with as many details as possible.
If the package fails and does not give you a useful error message, this is a bug. If the package accepts invalid input without warning, this a bug. If the documentation is unclear or omits important information, this is a bug. If you are unsure if something is a bug, please report it.
Credits
Initial development of SonicScrewdriveR was done by Ed Baker supported by the Leverhulme Trust funded Automated Acoustic Observatories project at the University of York, and later was developed to support the analysis functionality of audioBlast.
SonicScrewdriveR is currently being developed at the Natural History Museum, London.