Learn R Programming

tabr (version 0.4.0)

pitch_freq: Pitch conversions

Description

Convert between pitch and other quantities.

Usage

pitch_freq(notes, a4 = 440)

pitch_semitones(notes)

chord_freq(notes, a4 = 440)

chord_semitones(notes)

freq_pitch( freq, octaves = c("tick", "integer"), accidentals = c("flat", "sharp"), collapse = FALSE, a4 = 440 )

freq_semitones(freq, a4 = 440)

semitone_pitch( semitones, octaves = c("tick", "integer"), accidentals = c("flat", "sharp"), collapse = FALSE )

Arguments

notes

character, noteworthy string, space-delimited or vector of individual entries. See details.

a4

the fixed frequency of the A above middle C, typically 440 Hz.

freq

numeric vector, frequencies in Hz.

octaves

NULL or character, "tick" or "integer" octave numbering in result.

accidentals

NULL or character, represent accidentals, "flat" or "sharp".

collapse

logical, collapse result into a single string.

semitones

integer values of pitches.

...

other arguments passed to transpose, specifically key and style.

Value

numeric vector

Details

Frequencies are in Hertz. Values are based on the 12-tone equal-tempered scale. When converting an arbitrary frequency to pitch, it is rounded to the nearest pitch. pitch_freq and pitch_semitones strictly accept single notes in noteworthy strings and return numeric vectors. chord_freq and chord_semitones accept any noteworthy string and always return a list. These are provided so that all functions are type-safe. See examples.

Examples

Run this code
# NOT RUN {
x <- "a e4 a4 e5 a5"
y <- pitch_freq(x)
y

freq_semitones(y)
freq_pitch(y)

identical(as_noteworthy(x), freq_pitch(y, "integer", collapse = TRUE))

s <- pitch_semitones(x)
s
semitone_pitch(s)

x <- "a, a,c#e"
chord_semitones(x)
chord_freq(x)
# }

Run the code above in your browser using DataLab