Learn R Programming

⚠️There's a newer version (2.7.2) of this package.Take me there.

soundgen

R package for sound synthesis and acoustic analysis, version 1.0.0

Performs parametric synthesis of sounds with harmonic and noise components such as animal vocalizations or human voice. Also includes tools for spectral analysis, pitch tracking, audio segmentation, self-similarity matrices, morphing, etc.

Key functions:

  • Sound synthesis from R console: soundgen()
  • Shiny app for sound synthesis (opens in a browser): soungen_app()
  • Acoustic analysis of a .wav file: analyze()
  • Measuring syllables, pauses, and bursts in a .wav file: segment()

For more information, please see the vignettes on sound synthesis and acoustic analysis.

Copy Link

Version

Install

install.packages('soundgen')

Monthly Downloads

746

Version

1.0.0

License

GPL (>= 2)

Maintainer

Andrey Anikin

Last Published

September 4th, 2017

Functions in soundgen (1.0.0)

addVectors

Add overlapping vectors
analyze

Analyze sound
convertStringToFormants

Prepare a list of formants
convert_sec_to_hms

Print time
HzToSemitones

Convert Hz to semitones
Mode

Modified mode
analyzeFolder

Analyze sound
analyzeFrame

Analyze fft frame
clumper

Clump a sequence into large segments
compareSounds

Compare sounds (experimental)
costJumps

Cost of jumps
costPerPath

Cost per path
findSyllables

Find syllables
findVoicedSegments

Find voiced segments
getDiscreteContour

Discrete smooth contour from anchors
findBursts

Find bursts
findGrad

Find gradient
generateHarmonics

Generate harmonics
generateNoise

Generate noise
divideIntoSyllables

Syllable structure of a bout
downsample

Simple downsampling
generatePath

Generate path
getCheckerboardKernel

Checkerboard kernel
getGlottalCycles

Divide f0 contour into glottal cycles
getMelSpec

Mel-transformed spectrum
getNovelty

SSM novelty
interpolate

Interpolate
isCentral.localMax

Simple peak detection
getIntegerRandomWalk

Discrete random walk
getRolloff

Control rolloff of harmonics
getSigmoid

Get sigmoid filter
matchPars

Match soundgen pars (experimental)
evaluatePars

Evaluate parameters for optimization
fadeInOut

Fade-in and fade-out
findZeroCrossing

Find zero crossing
medianSmoother

Median smoothing
optimizePars

Optimize parameters for acoustic analysis
pathfinder

Pathfinder
snake

Snake
soundgen

Generate a sound
listDepth

List depth
log01

log01
morphList

Morph lists
notesDict

Conversion table from Hz to semitones above C0 to musical notation
segmentFolder

Segment all files in a folder
segmentManual

Manual counts of syllables in 260 sounds
wigglePars

Wiggle parameters
zeroOne

Normalize 0 to 1
forcePerPath

Force per path
getEntropy

Entropy
getFrameBank

Frame bank
getVocalFry

Subharmonics
getVocalFry_per_epoch

Constant subharmonics regime
morphDF

Morph dataframes
morphFormants

Morph formants
playme

Play audio
presets

Presets
crossFade

Join two waveforms by cross-fading
defaults

Shiny app defaults
ftwindow_modif

Fourier transform windows (seewave)
gaussian.w

Gaussian window
getPitchAutocor

Autocorrelation pitch tracker
reportTime

Report time
rnorm_bounded

Random draw from a truncated normal distribution
upsample

Upsample pitch contour
wiggleAnchors

Randomly modify anchors
getDom

Get lowest dominant frequency band
getSmoothContour

Smooth contour from anchors
getSpectralEnvelope

Spectral envelope
mergeSyllables

Merge syllables
morph

Morph sounds
permittedValues

Defaults and ranges
pitchManual

Manual pitch estimation in 260 sounds
sampleModif

sampleModif
segment

Segment a sound
ssm

Self-similarity matrix
to_dB

Convert to dB
getPitchCep

Cepstral pitch tracker
getPitchSpec

BaNa pitch tracker
getRandomWalk

Random walk
matchColumns

Match number of columns
matchLengths

Resize vector to required length
pathfinding_fast

Path through pitch candidates: fast
pathfinding_slow

Path through pitch candidates: slow
selfsim

Compute self-similarity
semitonesToHz

Convert semitones to Hz
soundgen_app

Soundgen shiny app
spectrogram

Spectrogram